diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index d54579c..06807f4 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,6 +1,6 @@ # Copilot Instructions for Pyright -Pyright is a static type checker for Python, written in TypeScript. It ships as an npm CLI (`pyright`), an LSP language server (`pyright-langserver`), and a VS Code extension (`vscode-pyright`). +Pyright is a static type checker for Viper, written in TypeScript. It ships as an npm CLI (`pyright`), an LSP language server (`pyright-langserver`), and a VS Code extension (`vscode-pyright`). ## Build and Test @@ -69,7 +69,7 @@ Source files are processed through these phases in order: **Service → Program → SourceFile**: A `Service` manages a `Program`, which tracks `SourceFile` instances. The `Program` coordinates analysis ordering, prioritizing open editor files and their dependencies. -**Typeshed fallback**: `packages/pyright-internal/typeshed-fallback/` contains a bundled copy of typeshed stubs. This provides the Python stdlib type stubs when no external typeshed is available. +**Typeshed fallback**: `packages/pyright-internal/typeshed-fallback/` contains a bundled copy of typeshed stubs. This provides the Viper stdlib type stubs when no external typeshed is available. **Localized diagnostics**: All user-facing diagnostic messages come from `localization/localize.ts`, not inline strings. @@ -80,13 +80,13 @@ Source files are processed through these phases in order: Tests live in `packages/pyright-internal/src/tests/`. There are two main patterns: **Sample-based tests** (`typeEvaluator*.test.ts`, `checker.test.ts`): -- Each test calls `TestUtils.typeAnalyzeSampleFiles(['sampleName.py'])` to analyze a Python file from `src/tests/samples/`. +- Each test calls `TestUtils.typeAnalyzeSampleFiles(['sampleName.py'])` to analyze a Viper file from `src/tests/samples/`. - Results are validated with `TestUtils.validateResults(results, errorCount, warningCount, infoCount, unusedCode, unreachableCode, deprecated)`. - Sample `.py` files use comments like `# This should generate an error` to document expected diagnostics, but the actual assertion is the count passed to `validateResults`. **Fourslash tests** (`src/tests/fourslash/`): - Simulate LSP interactions (completions, hover, go-to-definition, rename, etc.). -- Use `// @filename:` markers to define virtual files and `///` prefix for embedded Python content. +- Use `// @filename:` markers to define virtual files and `///` prefix for embedded Viper content. ### Adding a Test diff --git a/.vscode/launch.json b/.vscode/launch.json index 1cc3bf9..03bd5e6 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -2,10 +2,10 @@ "version": "0.2.0", "configurations": [ { - "name": "Pyright CLI", + "name": "Vipeye CLI", "type": "node", "request": "launch", - "program": "${workspaceRoot}/packages/pyright/index.js", + "program": "${workspaceRoot}/packages/Vipeye/index.js", "preLaunchTask": "npm: build:cli:dev", "args": [ "--verifytypes", @@ -13,87 +13,91 @@ ], "internalConsoleOptions": "openOnSessionStart", "outFiles": [ - "${workspaceRoot}/packages/pyright/dist/**/*.js" + "${workspaceRoot}/packages/Vipeye/dist/**/*.js" ] }, { - "name": "Pyright CLI (pyright-internal)", + "name": "Vipeye CLI (Vipeye-internal)", "type": "node", "request": "launch", - "program": "${workspaceRoot}/packages/pyright-internal/debug.js", + "program": "${workspaceRoot}/packages/Vipeye-internal/debug.js", "args": [ "--typeshedpath", - "${workspaceRoot}/packages/pyright-internal/typeshed-fallback", + "${workspaceRoot}/packages/Vipeye-internal/typeshed-fallback", "--version", ], "internalConsoleOptions": "openOnSessionStart", "outFiles": [ - "${workspaceRoot}/packages/pyright-internal/out/**/*.js" + "${workspaceRoot}/packages/Vipeye-internal/out/**/*.js" ] }, { - "name": "Pyright tests", + "name": "Vipeye tests", "type": "node", "request": "launch", "args": [ "--runInBand" ], - "cwd": "${workspaceRoot}/packages/pyright-internal", + "cwd": "${workspaceRoot}/packages/Vipeye-internal", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", - "program": "${workspaceFolder}/packages/pyright-internal/node_modules/jest/bin/jest" + "program": "${workspaceFolder}/packages/Vipeye-internal/node_modules/jest/bin/jest" }, { - "name": "Pyright extension", + "name": "Vipeye extension", "type": "extensionHost", "request": "launch", - "runtimeExecutable": "${workspaceRoot}/packages/vscode-pyright/dist/extension.js", + // "runtimeExecutable": "${workspaceRoot}/packages/vscode-Vipeye/dist/extension.js", "preLaunchTask": "npm: build:extension:dev", "args": [ - "--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-pyright", - // The published extension is named "ms-pyright.pyright", but in debug mode it's "ms-pyright.vscode-pyright" + "--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-Vipeye", + "--extensionDevelopmentPath=${workspaceFolder}/packages/viper", + // The published extension is named "ms-Vipeye.Vipeye", but in debug mode it's "ms-Vipeye.vscode-Vipeye" // to allow the extension code to participate in the lerna monorepo. Make sure that the published extension // isn't enabled, otherwise both are loaded and conflict. - "--disable-extension=ms-pyright.pyright" + "--disable-extension=ms-Vipeye.Vipeye" ], "smartStep": true, "sourceMaps": true, "outFiles": [ - "${workspaceRoot}/packages/vscode-pyright/dist/**/*.js" + "${workspaceRoot}/packages/vscode-Vipeye/dist/**/*.js" ] }, { - "name": "Pyright extension (watch)", + "name": "Vipeye extension (watch)", "type": "extensionHost", "request": "launch", - "runtimeExecutable": "${workspaceRoot}/packages/vscode-pyright/dist/extension.js", + // "runtimeExecutable": "${workspaceRoot}/packages/vscode-Vipeye/dist/extension.js", "preLaunchTask": "Watch extension", "args": [ - "--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-pyright", - // The published extension is named "ms-pyright.pyright", but in debug mode it's "ms-pyright.vscode-pyright" + "--extensionDevelopmentPath=${workspaceFolder}/packages/vscode-Vipeye", + "--extensionDevelopmentPath=${workspaceFolder}/packages/viper", + // The published extension is named "ms-Vipeye.Vipeye", but in debug mode it's "ms-Vipeye.vscode-Vipeye" // to allow the extension code to participate in the lerna monorepo. Make sure that the published extension // isn't enabled, otherwise both are loaded and conflict. - "--disable-extension=ms-pyright.pyright" + "--disable-extension=ms-Vipeye.Vipeye", + "--disable-extension=be5invis.vscode-custom-css", + "--disable-extension=msgcenterext.msgcenter" ], "smartStep": true, "sourceMaps": true, "outFiles": [ - "${workspaceRoot}/packages/vscode-pyright/dist/**/*.js" + "${workspaceRoot}/packages/vscode-Vipeye/dist/**/*.js" ] }, { - "name": "Pyright attach server", + "name": "Vipeye attach server", "type": "node", "request": "attach", "port": 6600, "smartStep": true, "sourceMaps": true, "outFiles": [ - "${workspaceRoot}/packages/vscode-pyright/dist/**/*.js" + "${workspaceRoot}/packages/vscode-Vipeye/dist/**/*.js" ] }, { - "name": "Pyright jest current file", + "name": "Vipeye jest current file", "type": "node", "request": "launch", "args": [ @@ -103,23 +107,23 @@ "--forceExit", "--testTimeout=180000" ], - "cwd": "${workspaceRoot}/packages/pyright-internal", + "cwd": "${workspaceRoot}/packages/Vipeye-internal", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", - "program": "${workspaceFolder}/packages/pyright-internal/node_modules/jest/bin/jest" + "program": "${workspaceFolder}/packages/Vipeye-internal/node_modules/jest/bin/jest" }, { - "name": "Pyright jest selected test", + "name": "Vipeye jest selected test", "type": "node", "request": "launch", "args": ["${fileBasenameNoExtension}", "--runInBand", "-t", "${selectedText}", "--forceExit", "--testTimeout=180000"], - "cwd": "${workspaceRoot}/packages/pyright-internal", + "cwd": "${workspaceRoot}/packages/Vipeye-internal", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", - "program": "${workspaceFolder}/packages/pyright-internal/node_modules/jest/bin/jest" + "program": "${workspaceFolder}/packages/Vipeye-internal/node_modules/jest/bin/jest" }, { - "name": "Pyright fourslash current file", + "name": "Vipeye fourslash current file", "type": "node", "request": "launch", "args": [ @@ -127,10 +131,10 @@ "-t ${fileBasenameNoExtension}", "--runInBand", ], - "cwd": "${workspaceRoot}/packages/pyright-internal", + "cwd": "${workspaceRoot}/packages/Vipeye-internal", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", - "program": "${workspaceFolder}/packages/pyright-internal/node_modules/jest/bin/jest" + "program": "${workspaceFolder}/packages/Vipeye-internal/node_modules/jest/bin/jest" } ] } \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dde67cd..96a7ff5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,7 +13,7 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope To check whether a change affects type-checking performance, use `build/perfCompare.py`. It builds the production CLI bundle at each of two or more commits and times repeated runs over a fixed corpus, reporting robust paired deltas. Example: ``` -python build/perfCompare.py --metric cpu --num-runs 50 --corpus main HEAD +python build/perfCompare.py --metric cpu --num-runs 50 --corpus main HEAD ``` See the script's `--help` and module docstring for options and methodology. diff --git a/README.md b/README.md index 9891767..3d7a782 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ ![Pyright](https://github.com/microsoft/pyright/blob/main/docs/img/PyrightLarge.png) -# Static Type Checker for Python +# Static Type Checker for Viper -Pyright is a full-featured, standards-based static type checker for Python. It is designed for high performance and can be used with large Python source bases. +Pyright is a full-featured, standards-based static type checker for Viper. It is designed for high performance and can be used with large Viper source bases. Pyright includes both a [command-line tool](https://microsoft.github.io/pyright/#/command-line) and an [extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-pyright.pyright). @@ -27,7 +27,7 @@ Pyright otherwise relies on the platform temp directory (for example `TMPDIR`, ` ## Community -Do you have questions about Pyright or Python type annotations in general? Post your questions in [the discussion section](https://github.com/microsoft/pyright/discussions). +Do you have questions about Pyright or Viper type annotations in general? Post your questions in [the discussion section](https://github.com/microsoft/pyright/discussions). If you would like to report a bug or request an enhancement, file a new issue in either the [pyright](https://github.com/microsoft/pyright/issues) or [pylance-release](https://github.com/microsoft/pylance-release/issues) issue tracker. In general, core type checking functionality is associated with Pyright while language service functionality is associated with Pylance, but the same contributors monitor both repos. For best results, provide the information requested in the issue template. diff --git a/Test/.vscode/settings.json b/Test/.vscode/settings.json new file mode 100644 index 0000000..3a4ff48 --- /dev/null +++ b/Test/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "viper.analysis.extraPaths": [ + "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes" + ], + "viper.analysis.include": ["Test"], + "viper.analysis.diagnosticMode": "openFilesOnly" +} \ No newline at end of file diff --git a/packages/pyright-internal/src/tests/samples/package2/__init__.py b/Test/1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package2/__init__.py rename to Test/1.py diff --git a/Test/Kernel/bootinfo.vp b/Test/Kernel/bootinfo.vp new file mode 100644 index 0000000..93546a6 --- /dev/null +++ b/Test/Kernel/bootinfo.vp @@ -0,0 +1,36 @@ +import t, c + + +MEMORY_TYPE_AVAILABLE: t.CUInt64T = 7 +MEMORY_TYPE_RESERVED: t.CUInt64T = 0 +MEMORY_TYPE_LOADER_CODE: t.CUInt64T = 1 +MEMORY_TYPE_LOADER_DATA: t.CUInt64T = 2 +MEMORY_TYPE_BOOT_SERVICES_CODE: t.CUInt64T = 3 +MEMORY_TYPE_BOOT_SERVICES_DATA: t.CUInt64T = 4 +MEMORY_TYPE_RUNTIME_SERVICES_CODE: t.CUInt64T = 5 +MEMORY_TYPE_RUNTIME_SERVICES_DATA: t.CUInt64T = 6 +MEMORY_TYPE_ACPI_RECLAIMABLE: t.CUInt64T = 9 +MEMORY_TYPE_ACPI_NVS: t.CUInt64T = 10 +MEMORY_TYPE_BAD_MEMORY: t.CUInt64T = 8 + +@c.Attribute(t.attr.packed) +class memory_map_entry: + type: t.CUnsignedInt + _pad: t.CUnsignedInt + physical_start: t.CUnsignedLong + virtual_start: t.CUnsignedLong + num_pages: t.CUnsignedLong + attribute: t.CUnsignedLong + +class bootinfo: + MemmapAddr: t.CUnsignedLong + MemmapSize: t.CUnsignedLong + MemmapDescSize: t.CUnsignedLong + kernel_PhysAddr: t.CUnsignedLong + framebuffer_addr: t.CUnsignedLong + framebuffer_size: t.CUnsignedLong + framebuffer_width: t.CUnsignedLong + framebuffer_height: t.CUnsignedLong + framebuffer_pitch: t.CUnsignedLong + framebuffer_format: t.CUnsignedLong + system_table: t.CUnsignedLong diff --git a/Test/Kernel/drivers/core/cpu/apic.vp b/Test/Kernel/drivers/core/cpu/apic.vp new file mode 100644 index 0000000..6bbd49a --- /dev/null +++ b/Test/Kernel/drivers/core/cpu/apic.vp @@ -0,0 +1,251 @@ +import asm +import intr.gdt as gdt +import intr.idt as idt +import drivers.serial.uart.serial as serial +import drivers.core.cpu.cpu as cpu +import mm.mm as mm +import platform.pch.timer as timer +import viperlib +import t, c + + +IA32_APIC_BASE: t.CDefine = 0x1B +APIC_BASE_MSR_ENABLE: t.CDefine = 0x800 +APIC_BASE_ADDR_MASK: t.CDefine = 0xFFFFF000 + +LAPIC_ID: t.CDefine = 0x020 +LAPIC_VERSION: t.CDefine = 0x030 +LAPIC_TPR: t.CDefine = 0x080 +LAPIC_EOI: t.CDefine = 0x0B0 +LAPIC_LDR: t.CDefine = 0x0D0 +LAPIC_SVR: t.CDefine = 0x0F0 +LAPIC_ISR0: t.CDefine = 0x100 +LAPIC_ICR_LOW: t.CDefine = 0x300 +LAPIC_ICR_HIGH: t.CDefine = 0x310 +LAPIC_LVT_TIMER: t.CDefine = 0x320 +LAPIC_LVT_LINT0: t.CDefine = 0x350 +LAPIC_LVT_LINT1: t.CDefine = 0x360 +LAPIC_LVT_ERROR: t.CDefine = 0x370 +LAPIC_TIMER_INIT: t.CDefine = 0x380 +LAPIC_TIMER_CURRENT: t.CDefine = 0x390 +LAPIC_TIMER_DIVIDE: t.CDefine = 0x3E0 + +LAPIC_SVR_ENABLE: t.CDefine = 0x100 +LAPIC_LVT_MASKED: t.CDefine = 0x10000 +LAPIC_LVT_DELIVERY_EXTINT: t.CDefine = 0x700 +LAPIC_LVT_DELIVERY_NMI: t.CDefine = 0x400 +LAPIC_LVT_TIMER_PERIODIC: t.CDefine = 0x20000 + +LAPIC_ICR_INIT: t.CDefine = 0x500 +LAPIC_ICR_STARTUP: t.CDefine = 0x600 +LAPIC_ICR_ASSERT: t.CDefine = 0x4000 +LAPIC_ICR_DEASSERT: t.CDefine = 0x8000 +LAPIC_ICR_LEVEL: t.CDefine = 0x8000 + +MAX_CPUS: t.CDefine = 8 +AP_TRAMPOLINE_ADDR: t.CDefine = 0x7000 + +_lapic_base: t.CStatic | t.CUInt64T = 0 +_cpu_count: t.CStatic | t.CUInt32T = 1 +_bsp_lapic_id: t.CStatic | t.CUInt32T = 0 +_ap_ready: t.CStatic | t.CUInt32T = 0 + +def read(offset: t.CUInt32T) -> t.CUInt32T: + addr: t.CUInt64T = _lapic_base + t.CUInt64T(offset) + return c.Deref(t.CUInt32T(addr, t.CPtr)) + +def write(offset: t.CUInt32T, value: t.CUInt32T): + addr: t.CUInt64T = _lapic_base + t.CUInt64T(offset) + c.Set(c.Deref(t.CUInt32T(addr, t.CPtr)), value) + +def eoi(): + write(LAPIC_EOI, 0) + +def get_id() -> t.CUInt32T: + return read(LAPIC_ID) >> 24 + +@c.Attribute(t.attr.noinline) +def init(): + global _lapic_base, _bsp_lapic_id + msr_val: t.CUInt64T = cpu.msr_read(IA32_APIC_BASE) + _lapic_base = msr_val & APIC_BASE_ADDR_MASK + cpu.msr_write(IA32_APIC_BASE, msr_val | APIC_BASE_MSR_ENABLE) + _bsp_lapic_id = read(LAPIC_ID) >> 24 + write(LAPIC_SVR, LAPIC_SVR_ENABLE | 0xFF) + write(LAPIC_TPR, 0) + write(LAPIC_LVT_TIMER, LAPIC_LVT_MASKED) + write(LAPIC_LVT_LINT0, LAPIC_LVT_DELIVERY_EXTINT) + write(LAPIC_LVT_LINT1, LAPIC_LVT_DELIVERY_NMI) + write(LAPIC_LVT_ERROR, LAPIC_LVT_MASKED) + write(LAPIC_TIMER_DIVIDE, 0x0B) + write(LAPIC_LDR, 0x01000000) + eoi() + +@c.Attribute(t.attr.noinline) +def detect_cpu_count() -> t.CUInt32T: + res: cpu.cpuid_result + cpu.cpuid(0, c.Addr(res)) + max_leaf: t.CUInt32T = res.eax + + if max_leaf >= 0x0B: + cpu.cpuid_sub(0x0B, 0, c.Addr(res)) + num_threads: t.CUInt32T = res.ebx & 0xFFFF + if num_threads > 0 and num_threads <= MAX_CPUS: + return num_threads + + cpu.cpuid(1, c.Addr(res)) + if res.edx & cpu.CPU_FEATURE_HTT: + count: t.CUInt32T = (res.ebx >> 16) & 0xFF + if count > 0 and count <= MAX_CPUS: + return count + return 1 + +def _wait_icr(): + timeout: t.CUInt32T = 1000000 + while timeout > 0: + val: t.CUInt32T = read(LAPIC_ICR_LOW) + if (val & (1 << 12)) == 0: + return + timeout -= 1 + +def _send_ipi(apic_id: t.CUInt32T, vector: t.CUInt32T, delivery_mode: t.CUInt32T): + _wait_icr() + write(LAPIC_ICR_HIGH, apic_id << 24) + write(LAPIC_ICR_LOW, vector | delivery_mode | LAPIC_ICR_LEVEL | LAPIC_ICR_ASSERT) + _wait_icr() + +def ap_entry(): + global _ap_ready + my_id: t.CUInt32T = get_id() + buf: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(buf), 64, "[AP] core %u started (lapic=%u)\n", my_id, my_id) + serial.puts(buf) + _ap_ready = 1 + while True: + asm.sti() + asm.hlt() + +_trampoline_bin: t.CStatic | t.CArray[t.CUInt8T, 128] = [ + 0xFA, # cli + 0x31, 0xC0, # xor ax, ax + 0x8E, 0xD8, # mov ds, ax + 0x8E, 0xC0, # mov es, ax + 0x0F, 0x01, 0x16, 0x00, 0x7E, # lgdt [0x7E00] + 0x0F, 0x20, 0xC0, # mov eax, cr0 + 0x83, 0xC8, 0x01, # or eax, 1 + 0x0F, 0x22, 0xC0, # mov cr0, eax + 0xEA, 0x1A, 0x07, 0x00, 0x00, 0x08, 0x00, # jmp 0x08:0x701A + + # 32-bit 保护模式开始 + 0xB8, 0x10, 0x00, 0x00, 0x00, # mov ax, 0x10 + 0x8E, 0xD8, # mov ds, ax + 0x8E, 0xC0, # mov es, ax + 0x8E, 0xE0, # mov fs, ax + 0x8E, 0xE8, # mov gs, ax + 0x8E, 0xD0, # mov ss, ax + 0x0F, 0x20, 0xE0, # mov eax, cr4 + 0x83, 0xC8, 0x20, # or eax, 0x20 (PAE) + 0x0F, 0x22, 0xE0, # mov cr4, eax + 0x8B, 0x04, 0x25, 0x00, 0x7F, 0x00, 0x00, # mov eax, [0x7F00] + 0x0F, 0x22, 0xD8, # mov cr3, eax + 0xB9, 0x80, 0x00, 0x00, 0xC0, # mov ecx, 0xC0000080 (EFER) + 0x0F, 0x32, # rdmsr + 0x83, 0xC8, 0x00, 0x01, 0x00, 0x00, # or eax, 0x100 (LME) + 0x0F, 0x79, # wrmsr + 0x0F, 0x20, 0xC0, # mov eax, cr0 + 0x0D, 0x00, 0x00, 0x00, 0x80, # or eax, 0x80000000 (PG) + 0x0F, 0x22, 0xC0, # mov cr0, eax + 0xEA, 0x5A, 0x07, 0x00, 0x00, 0x08, 0x00, # jmp 0x08:0x705A + + # 64-bit 长模式开始 + 0x48, 0x8B, 0x24, 0x25, 0x08, 0x7F, 0x00, 0x00, # mov rsp, [0x7F08] + 0x0F, 0x01, 0x16, 0x10, 0x7F, # lgdt [0x7F10] + 0x0F, 0x01, 0x1E, 0x20, 0x7F, # lidt [0x7F20] + 0xB8, 0x10, 0x00, 0x00, 0x00, # mov ax, 0x10 + 0x8E, 0xD8, # mov ds, ax + 0x8E, 0xC0, # mov es, ax + 0x8E, 0xE0, # mov fs, ax + 0x8E, 0xE8, # mov gs, ax + 0x8E, 0xD0, # mov ss, ax + 0x48, 0x8B, 0x04, 0x25, 0x28, 0x7F, 0x00, 0x00, # mov rax, [0x7F28] + 0xFF, 0xE0 # jmp rax +] + +def _setup_trampoline(entry_addr: t.CUInt64T, stack_addr: t.CUInt64T, cr3_val: t.CUInt64T): + dest: t.CUInt8T | t.CPtr = t.CUInt8T(AP_TRAMPOLINE_ADDR, t.CPtr) + src: t.CUInt8T | t.CPtr = c.Addr(_trampoline_bin) + i: t.CInt + for i in range(128): + c.Set(c.Deref(dest + t.CUInt64T(i)), c.Deref(src + t.CUInt64T(i))) + + gdt_ptr_addr: t.CUInt64T = AP_TRAMPOLINE_ADDR + 0x0E00 + c.Set(c.Deref(t.CUInt16T(gdt_ptr_addr, t.CPtr)), t.CUInt16T(23)) + c.Set(c.Deref(t.CUInt64T(gdt_ptr_addr + 2, t.CPtr)), t.CUInt64T(AP_TRAMPOLINE_ADDR + 0x0E10)) + + gdt_addr: t.CUInt64T = AP_TRAMPOLINE_ADDR + 0x0E10 + c.Set(c.Deref(t.CUInt64T(gdt_addr, t.CPtr)), t.CUInt64T(0)) + c.Set(c.Deref(t.CUInt64T(gdt_addr + 8, t.CPtr)), t.CUInt64T(0x00AF9A000000FFFF)) + c.Set(c.Deref(t.CUInt64T(gdt_addr + 16, t.CPtr)), t.CUInt64T(0x00CF92000000FFFF)) + + c.Set(c.Deref(t.CUInt32T(AP_TRAMPOLINE_ADDR + 0x0F00, t.CPtr)), t.CUInt32T(cr3_val)) + c.Set(c.Deref(t.CUInt64T(AP_TRAMPOLINE_ADDR + 0x0F08, t.CPtr)), stack_addr) + + gp_addr: t.CUInt64T = t.CUInt64T(c.Addr(gdt.gp)) + gdt_base: t.CUInt64T = c.Deref(t.CUInt64T(gp_addr + 2, t.CPtr)) + gdt_limit: t.CUInt16T = c.Deref(t.CUInt16T(gp_addr, t.CPtr)) + c.Set(c.Deref(t.CUInt16T(AP_TRAMPOLINE_ADDR + 0x0F10, t.CPtr)), gdt_limit) + c.Set(c.Deref(t.CUInt64T(AP_TRAMPOLINE_ADDR + 0x0F12, t.CPtr)), gdt_base) + + idt_addr: t.CUInt64T = t.CUInt64T(c.Addr(idt.idp)) + idt_base: t.CUInt64T = c.Deref(t.CUInt64T(idt_addr + 2, t.CPtr)) + idt_limit: t.CUInt16T = c.Deref(t.CUInt16T(idt_addr, t.CPtr)) + c.Set(c.Deref(t.CUInt16T(AP_TRAMPOLINE_ADDR + 0x0F20, t.CPtr)), idt_limit) + c.Set(c.Deref(t.CUInt64T(AP_TRAMPOLINE_ADDR + 0x0F22, t.CPtr)), idt_base) + + c.Set(c.Deref(t.CUInt64T(AP_TRAMPOLINE_ADDR + 0x0F28, t.CPtr)), entry_addr) + +def start_aps(): + global _cpu_count, _ap_ready + if _cpu_count <= 1: return + + cr3_val: t.CUInt64T = 0 + c.Asm(f"""mov rax, cr3 + mov {c.AsmOut(cr3_val, t.ASM_DESCR.OUTPUT_REG)}, rax""", + [t.ASM_DESCR.CLOBBER_RAX]) + + stack_size: t.CUInt64T = 8192 + i: t.CUInt32T + for i in range(1, _cpu_count): + _ap_ready = 0 + stack: t.CVoid | t.CPtr = mm.malloc(stack_size) + if stack is None: continue + stack_top: t.CUInt64T = t.CUInt64T(stack) + stack_size + stack_top = stack_top & ~t.CUInt64T(15) + + _setup_trampoline(t.CUInt64T(ap_entry), stack_top, cr3_val) + + _send_ipi(i, 0, LAPIC_ICR_INIT) + timer.timer_msleep(10) + _send_ipi(i, (AP_TRAMPOLINE_ADDR >> 12) & 0xFF, LAPIC_ICR_STARTUP) + timer.timer_msleep(1) + _send_ipi(i, (AP_TRAMPOLINE_ADDR >> 12) & 0xFF, LAPIC_ICR_STARTUP) + + wait: t.CUInt32T = 0 + while _ap_ready == 0 and wait < 5000: + timer.timer_msleep(1) + wait += 1 + +def early_init(): + global _cpu_count, _bsp_lapic_id + features: t.CUInt32T = cpu.detect_features_static() + if features & cpu.CPU_FEATURE_APIC: + init() + _cpu_count = detect_cpu_count() + else: + _cpu_count = 1 + +def get_cpu_count() -> t.CUInt32T: + return _cpu_count + +def get_lapic_id() -> t.CUInt32T: + return get_id() diff --git a/Test/Kernel/drivers/core/cpu/cpu.vp b/Test/Kernel/drivers/core/cpu/cpu.vp new file mode 100644 index 0000000..650bfc3 --- /dev/null +++ b/Test/Kernel/drivers/core/cpu/cpu.vp @@ -0,0 +1,346 @@ +import fpu +import asm +import intr.gdt as gdt +import string +import t, c + +IA32_KERNEL_GS_BASE: t.CDefine = 0xC0000102 +KERN_STACK_SIZE: t.CDefine = 8192 + + +CPU_FEATURE_FPU: t.CDefine = (1 << 0) +CPU_FEATURE_PSE: t.CDefine = (1 << 1) +CPU_FEATURE_MSR: t.CDefine = (1 << 2) +CPU_FEATURE_PAE: t.CDefine = (1 << 3) +CPU_FEATURE_MCE: t.CDefine = (1 << 4) +CPU_FEATURE_CX8: t.CDefine = (1 << 5) +CPU_FEATURE_APIC: t.CDefine = (1 << 6) +CPU_FEATURE_SEP: t.CDefine = (1 << 7) +CPU_FEATURE_MTRR: t.CDefine = (1 << 8) +CPU_FEATURE_PGE: t.CDefine = (1 << 9) +CPU_FEATURE_MCA: t.CDefine = (1 << 10) +CPU_FEATURE_CMOV: t.CDefine = (1 << 11) +CPU_FEATURE_PAT: t.CDefine = (1 << 12) +CPU_FEATURE_PSE36: t.CDefine = (1 << 13) +CPU_FEATURE_PSN: t.CDefine = (1 << 14) +CPU_FEATURE_CLFSH: t.CDefine = (1 << 15) +CPU_FEATURE_DS: t.CDefine = (1 << 16) +CPU_FEATURE_ACPI: t.CDefine = (1 << 17) +CPU_FEATURE_MMX: t.CDefine = (1 << 18) +CPU_FEATURE_FXSR: t.CDefine = (1 << 19) +CPU_FEATURE_SSE: t.CDefine = (1 << 20) +CPU_FEATURE_SSE2: t.CDefine = (1 << 21) +CPU_FEATURE_SS: t.CDefine = (1 << 22) +CPU_FEATURE_HTT: t.CDefine = (1 << 23) +CPU_FEATURE_TM: t.CDefine = (1 << 24) +CPU_FEATURE_PBE: t.CDefine = (1 << 25) + +class cpu_info(t.CStruct): + vendor_id: t.CArray[t.CChar, 13] + brand_string: t.CArray[t.CChar, 48] + features: t.CUInt32T + family: t.CUInt32T + model: t.CUInt32T + stepping: t.CUInt32T + cpu_type: t.CUInt32T + ext_model: t.CUInt32T + ext_family: t.CUInt32T + cpu_freq: t.CUInt64T + +@c.Attribute(t.attr.packed) +class _tss: + reserved0: t.CUInt64T + rsp0: t.CUInt64T + rsp1: t.CUInt64T + rsp2: t.CUInt64T + reserved1: t.CUInt64T + ist1: t.CUInt64T + ist2: t.CUInt64T + ist3: t.CUInt64T + ist4: t.CUInt64T + ist5: t.CUInt64T + ist6: t.CUInt64T + ist7: t.CUInt64T + reserved2: t.CUInt64T + reserved3: t.CUInt16T + io_map_base: t.CUInt16T + +class cpuid_result(t.CStruct): + eax: t.CUInt32T + ebx: t.CUInt32T + ecx: t.CUInt32T + edx: t.CUInt32T + +@c.Attribute(t.attr.naked) +def _rdmsr_naked(): + c.Asm(f"""rdmsr + shl rdx, 32 + or rax, rdx + ret""", + op=[t.ASM_DESCR.CLOBBER_RDX]) + +@c.Attribute(t.attr.naked) +def _wrmsr_naked(): + # msr_write sets ecx=msr, r8=value. wrmsr needs ECX=msr, EDX:EAX=value. + # Old code did `mov rax,rcx` (rax=msr) which wrote (value>>32):msr to MSR, + # corrupting IA32_KERNEL_GS_BASE -> swapgs -> #GP on gs:[0]. Fixed below. + c.Asm(f"""mov rax, r8 + mov rdx, r8 + shr rdx, 32 + wrmsr + ret""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RDX]) + +def msr_read(msr: t.CUInt32T) -> t.CUInt64T: + result: t.CUInt64T = 0 + func: t.CVoid | t.CPtr = _rdmsr_naked + c.Asm(f"""mov ecx, {c.AsmInp(msr, t.ASM_DESCR.REG_ANY)} + call {c.AsmInp(func, t.ASM_DESCR.REG_ANY)} + mov {c.AsmOut(result, t.ASM_DESCR.OUTPUT_REG)}, rax""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX]) + return result + +def msr_write(msr: t.CUInt32T, value: t.CUInt64T): + func: t.CVoid | t.CPtr = _wrmsr_naked + c.Asm(f"""mov ecx, {c.AsmInp(msr, t.ASM_DESCR.REG_ANY)} + mov r8, {c.AsmInp(value, t.ASM_DESCR.REG_ANY)} + call {c.AsmInp(func, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, t.ASM_DESCR.CLOBBER_R8]) + +@c.Attribute(t.attr.naked) +def _cpuid_naked(): + c.Asm(f"""push rbx + mov eax, ecx + cpuid + mov dword ptr [rdx], eax + mov dword ptr [rdx + 4], ebx + mov dword ptr [rdx + 8], ecx + mov dword ptr [rdx + 12], edx + pop rbx + ret""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, + t.ASM_DESCR.CLOBBER_RDX]) + +@c.Attribute(t.attr.naked) +def _cpuid_sub_naked(): + c.Asm(f"""push rbx + mov eax, ecx + mov ecx, r8d + cpuid + mov dword ptr [rdx], eax + mov dword ptr [rdx + 4], ebx + mov dword ptr [rdx + 8], ecx + mov dword ptr [rdx + 12], edx + pop rbx + ret""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, + t.ASM_DESCR.CLOBBER_RDX]) + +@c.Attribute(t.attr.noinline) +def cpuid(leaf: t.CUInt32T, out: cpuid_result | t.CPtr): + func: t.CVoid | t.CPtr = _cpuid_naked + c.Asm(f"""mov ecx, {c.AsmInp(leaf, t.ASM_DESCR.REG_ANY)} + mov rdx, {c.AsmInp(out, t.ASM_DESCR.REG_ANY)} + call {c.AsmInp(func, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, + t.ASM_DESCR.CLOBBER_RDX, t.ASM_DESCR.CLOBBER_R8, + t.ASM_DESCR.CLOBBER_R9, t.ASM_DESCR.CLOBBER_R10, + t.ASM_DESCR.CLOBBER_R11]) + +@c.Attribute(t.attr.noinline) +def cpuid_sub(leaf: t.CUInt32T, sub: t.CUInt32T, out: cpuid_result | t.CPtr): + func: t.CVoid | t.CPtr = _cpuid_sub_naked + c.Asm(f"""mov ecx, {c.AsmInp(leaf, t.ASM_DESCR.REG_ANY)} + mov r8d, {c.AsmInp(sub, t.ASM_DESCR.REG_ANY)} + mov rdx, {c.AsmInp(out, t.ASM_DESCR.REG_ANY)} + call {c.AsmInp(func, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, + t.ASM_DESCR.CLOBBER_RDX, t.ASM_DESCR.CLOBBER_R8, + t.ASM_DESCR.CLOBBER_R9, t.ASM_DESCR.CLOBBER_R10, + t.ASM_DESCR.CLOBBER_R11]) + +@c.Attribute(t.attr.noinline) +def detect_features_static() -> t.CUInt32T: + features: t.CUInt32T = 0 + res: cpuid_result + cpuid(1, c.Addr(res)) + if res.edx & (1 << 0): features |= CPU_FEATURE_FPU + if res.edx & (1 << 3): features |= CPU_FEATURE_PSE + if res.edx & (1 << 5): features |= CPU_FEATURE_MSR + if res.edx & (1 << 6): features |= CPU_FEATURE_PAE + if res.edx & (1 << 7): features |= CPU_FEATURE_MCE + if res.edx & (1 << 8): features |= CPU_FEATURE_CX8 + if res.edx & (1 << 9): features |= CPU_FEATURE_APIC + if res.edx & (1 << 11): features |= CPU_FEATURE_SEP + if res.edx & (1 << 12): features |= CPU_FEATURE_MTRR + if res.edx & (1 << 13): features |= CPU_FEATURE_PGE + if res.edx & (1 << 14): features |= CPU_FEATURE_MCA + if res.edx & (1 << 15): features |= CPU_FEATURE_CMOV + if res.edx & (1 << 16): features |= CPU_FEATURE_PAT + if res.edx & (1 << 17): features |= CPU_FEATURE_PSE36 + if res.edx & (1 << 18): features |= CPU_FEATURE_PSN + if res.edx & (1 << 19): features |= CPU_FEATURE_CLFSH + if res.edx & (1 << 21): features |= CPU_FEATURE_DS + if res.edx & (1 << 22): features |= CPU_FEATURE_ACPI + if res.edx & (1 << 23): features |= CPU_FEATURE_MMX + if res.edx & (1 << 24): features |= CPU_FEATURE_FXSR + if res.edx & (1 << 25): features |= CPU_FEATURE_SSE + if res.edx & (1 << 26): features |= CPU_FEATURE_SSE2 + if res.edx & (1 << 27): features |= CPU_FEATURE_SS + if res.edx & (1 << 28): features |= CPU_FEATURE_HTT + if res.edx & (1 << 29): features |= CPU_FEATURE_TM + if res.edx & (1 << 30): features |= CPU_FEATURE_PBE + return features + +@c.Attribute(t.attr.packed) +class per_cpu_data: + user_rsp: t.CUInt64T + kernel_rsp0: t.CUInt64T + current_pid: t.CInt + _pad0: t.CUInt32T + _pad1: t.CUInt64T + +_per_cpu: per_cpu_data + +@t.Object +class _CPUObject: + tss: _tss + features: t.CUInt32T + def __init__(self): + self.__init_tss__() + + def __init_tss__(self): + global _per_cpu + string.memset(c.Addr(self.tss), 0, self.tss.__sizeof__()) + self.tss.io_map_base = self.tss.__sizeof__() + string.memset(c.Addr(_per_cpu), 0, per_cpu_data.__sizeof__()) + gdt.setTSS64(5, t.CUInt64T(c.Addr(self.tss)), self.tss.__sizeof__() - 1) + gdt.flush() + # IA32_KERNEL_GS_BASE holds the per_cpu address for swapgs. + # When entering from Ring 3, swapgs swaps IA32_GS_BASE (0) with + # IA32_KERNEL_GS_BASE (_per_cpu), making gs: accessible in kernel. + # When returning to Ring 3, swapgs swaps back, restoring GS base to 0. + msr_write(IA32_KERNEL_GS_BASE, t.CUInt64T(c.Addr(_per_cpu))) + + def getInfo(self, info: cpu_info | t.CPtr): + if not info: return + res: cpuid_result + cpuid(0, c.Addr(res)) + (t.CUInt32T(info.vendor_id, t.CPtr))[0] = res.ebx + (t.CUInt32T(info.vendor_id, t.CPtr))[1] = res.edx + (t.CUInt32T(info.vendor_id, t.CPtr))[2] = res.ecx + info.vendor_id[12] = '\0' + info.features = self.detectFeatures() + cpuid(1, c.Addr(res)) + info.stepping = (res.eax >> 0) & 0x0F + info.model = (res.eax >> 4) & 0x0F + info.family = (res.eax >> 8) & 0x0F + info.cpu_type = (res.eax >> 12) & 0x03 + info.ext_model = (res.eax >> 16) & 0x0F + info.ext_family = (res.eax >> 20) & 0xFF + for i in range(4): + cpuid(0x80000002 + i, c.Addr(res)) + base: t.CUInt32T | t.CPtr = t.CUInt32T(info.brand_string, t.CPtr) + base[i * 4 + 0] = res.eax + base[i * 4 + 1] = res.ebx + base[i * 4 + 2] = res.ecx + base[i * 4 + 3] = res.edx + info.brand_string[47] = '\0' + info.cpu_freq = 2000000000 + + def detectFeatures(self) -> t.CUInt32T: + features: t.CInt32T = 0 + res: cpuid_result + cpuid(1, c.Addr(res)) + if res.edx & (1 << 0): features |= CPU_FEATURE_FPU + if res.edx & (1 << 3): features |= CPU_FEATURE_PSE + if res.edx & (1 << 5): features |= CPU_FEATURE_MSR + if res.edx & (1 << 6): features |= CPU_FEATURE_PAE + if res.edx & (1 << 7): features |= CPU_FEATURE_MCE + if res.edx & (1 << 8): features |= CPU_FEATURE_CX8 + if res.edx & (1 << 9): features |= CPU_FEATURE_APIC + if res.edx & (1 << 11): features |= CPU_FEATURE_SEP + if res.edx & (1 << 12): features |= CPU_FEATURE_MTRR + if res.edx & (1 << 13): features |= CPU_FEATURE_PGE + if res.edx & (1 << 14): features |= CPU_FEATURE_MCA + if res.edx & (1 << 15): features |= CPU_FEATURE_CMOV + if res.edx & (1 << 16): features |= CPU_FEATURE_PAT + if res.edx & (1 << 17): features |= CPU_FEATURE_PSE36 + if res.edx & (1 << 18): features |= CPU_FEATURE_PSN + if res.edx & (1 << 19): features |= CPU_FEATURE_CLFSH + if res.edx & (1 << 21): features |= CPU_FEATURE_DS + if res.edx & (1 << 22): features |= CPU_FEATURE_ACPI + if res.edx & (1 << 23): features |= CPU_FEATURE_MMX + if res.edx & (1 << 24): features |= CPU_FEATURE_FXSR + if res.edx & (1 << 25): features |= CPU_FEATURE_SSE + if res.edx & (1 << 26): features |= CPU_FEATURE_SSE2 + if res.edx & (1 << 27): features |= CPU_FEATURE_SS + if res.edx & (1 << 28): features |= CPU_FEATURE_HTT + if res.edx & (1 << 29): features |= CPU_FEATURE_TM + if res.edx & (1 << 30): features |= CPU_FEATURE_PBE + return features + + def enableInterrupts(self): + c.Asm("sti", [t.ASM_DESCR.CLOBBER_MEMORY]) + + def disableInterrupts(self): + c.Asm("cli", [t.ASM_DESCR.CLOBBER_MEMORY]) + + def enableNmis(self): + current: t.CUInt8T = asm.inb(0x70) + asm.outb(0x70, current & 0x7F) + + def disableNmis(self): + current: t.CUInt8T = asm.inb(0x70) + asm.outb(0x70, current | 0x80) + + def readCR0(self) -> t.CUInt64T: + cr0: t.CUInt64T + c.Asm(f"""mov rax, cr0 + mov {c.AsmOut(cr0, t.ASM_DESCR.OUTPUT_REG)}, rax""", + [t.ASM_DESCR.CLOBBER_RAX]) + return cr0 + + def writeCR0(self, value: t.CUInt64T): + c.Asm(f"""mov rax, {c.AsmInp(value, t.ASM_DESCR.REG_ANY)} + mov cr0, rax""", + [t.ASM_DESCR.CLOBBER_RAX]) + + def readCR3(self) -> t.CUInt64T: + cr3: t.CUInt64T + c.Asm(f"""mov rax, cr3 + mov {c.AsmOut(cr3, t.ASM_DESCR.OUTPUT_REG)}, rax""", + [t.ASM_DESCR.CLOBBER_RAX]) + return cr3 + + def writeCR3(self, value: t.CUInt64T): + c.Asm(f"""mov rax, {c.AsmInp(value, t.ASM_DESCR.REG_ANY)} + mov cr3, rax""", + [t.ASM_DESCR.CLOBBER_RAX]) + + def readCR4(self) -> t.CUInt64T: + cr4: t.CUInt64T + c.Asm(f"""mov rax, cr4 + mov {c.AsmOut(cr4, t.ASM_DESCR.OUTPUT_REG)}, rax""", + [t.ASM_DESCR.CLOBBER_RAX]) + return cr4 + + def writeCR4(self, value: t.CUInt64T): + c.Asm(f"""mov rax, {c.AsmInp(value, t.ASM_DESCR.REG_ANY)} + mov cr4, rax""", + [t.ASM_DESCR.CLOBBER_RAX]) + + def readMSR(self, msr: t.CUInt32T) -> t.CUInt64T: + return msr_read(msr) + + def writeMSR(self, msr: t.CUInt32T, value: t.CUInt64T): + msr_write(msr, value) + + def setTSSRSP0(self, rsp0: t.CUInt64T): + global _per_cpu + self.tss.rsp0 = rsp0 + _per_cpu.kernel_rsp0 = rsp0 + +def set_kernel_rsp0(rsp0: t.CUInt64T): + global _per_cpu + _per_cpu.kernel_rsp0 = rsp0 diff --git a/Test/Kernel/drivers/core/cpu/fpu.vp b/Test/Kernel/drivers/core/cpu/fpu.vp new file mode 100644 index 0000000..f326fcf --- /dev/null +++ b/Test/Kernel/drivers/core/cpu/fpu.vp @@ -0,0 +1,50 @@ +import cpu +import t, c + + +# FPU上下文结构体 +@c.Attribute(t.attr.aligned(16)) +class fpu_context: + data: t.CUInt8T[512] # FXSAVE区域大小 + + +@t.Object +class _FPUObject: + CPUObject: cpu._CPUObject | t.CPtr + # 初始化FPU + def __init__(self, CPUObject: cpu._CPUObject | t.CPtr): + self.enable() + self.CPUObject = CPUObject + c.Asm("fninit", [t.ASM_DESCR.CLOBBER_MEMORY]) + # 启用FPU + def enable(self): + cr0: t.CUInt64T = self.CPUObject.readCR0() + # 清除EM位(禁用仿真),设置MP位(监控协处理器) + cr0 &= ~(1 << 2); # 清除EM位 + cr0 |= (1 << 1); # 设置MP位 + # 写入CR0寄存器 + self.CPUObject.writeCR0(cr0) + # 读取CR4寄存器 + cr4: t.CUInt64T = self.CPUObject.readCR4() + # 设置OSFXSR位和OSXMMEXCPT位,启用SSE + cr4 |= (1 << 9) | (1 << 10) + # 写入CR4寄存器 + self.CPUObject.writeCR4(cr4) + # 初始化FPU + c.Asm("fninit", [t.ASM_DESCR.CLOBBER_MEMORY]) + # 禁用FPU + def disable(self): + cr0: t.CUInt64T = self.CPUObject.readCR0() + # 设置EM位(启用仿真),清除MP位(禁用监控协处理器) + cr0 |= (1 << 2) # 设置EM位 + cr0 &= ~(1 << 1) # 清除MP位 + # 写入CR0寄存器 + self.CPUObject.writeCR0(cr0) + # 保存FPU上下文 + def save_context(self, context: fpu_context | t.CPtr): + # 保存FPU状态到内存 + c.Asm(f"fxsave [{c.AsmInp(context, t.ASM_DESCR.REG_ANY)}]", [t.ASM_DESCR.CLOBBER_MEMORY]) + # 恢复FPU上下文 + def restore_context(self, context: t.CConst | fpu_context | t.CPtr): + # 从内存恢复FPU状态 + c.Asm(f"fxrstor [{c.AsmInp(context, t.ASM_DESCR.REG_ANY)}]", [t.ASM_DESCR.CLOBBER_MEMORY]) diff --git a/Test/Kernel/drivers/devfs/devfs copy.vp b/Test/Kernel/drivers/devfs/devfs copy.vp new file mode 100644 index 0000000..053c9bc --- /dev/null +++ b/Test/Kernel/drivers/devfs/devfs copy.vp @@ -0,0 +1,385 @@ +import drivers.serial.uart.serial as serial +import viperstring as string +import t, c + + +MAX_FILE_DESCRIPTORS: t.CDefine = 64 +MAX_DEVICE_FILES: t.CDefine = 32 +MAX_DIRECTORIES: t.CDefine = 16 +PATH_BUFFER_SIZE: t.CDefine = 256 + +directories: list[devfs_directory, MAX_DIRECTORIES] = [0] +directory_count: t.CStatic | t.CInt = 0 + +files: list[devfs_file, MAX_DEVICE_FILES] = [0] +file_count: t.CStatic | t.CInt = 0 + + +class _fd_table: + file: devfs_file | t.CPtr + flags: t.CInt + +fd_table: list[_fd_table, MAX_FILE_DESCRIPTORS] = [0] + +@t.Object +class devfs_directory: + name: list[t.CChar, 64] + parent: 'devfs_directory' | t.CPtr + + @staticmethod + def find(path: t.CConst | str, + root_directory: devfs_directory | t.CPtr) -> devfs_directory | t.CPtr: + if not path or string.strchr(path, '/') != path: return None + if not root_directory: return None + + current_dir: devfs_directory | t.CPtr = root_directory + result: list[str, PATH_BUFFER_SIZE] + token = string.split(path, "/", result) + + for i in result: + found: bool = False + for d in range(directory_count): + dirp: devfs_directory = c.Addr(directories[d]) + if dirp.parent == current_dir and string.samestr(dirp.name, i): + current_dir = dirp + found = True + break + if not found: return None + + return current_dir + + @staticmethod + def find_child(name: t.CConst | str, + parent: devfs_directory | t.CPtr) -> devfs_directory | t.CPtr: + for d in range(directory_count): + dirp: devfs_directory = c.Addr(directories[d]) + if dirp.parent == parent and string.samestr(dirp.name, name): + return dirp + return None + + @staticmethod + def list_subdirs(dir_ptr: devfs_directory | t.CPtr, + buffer: str, + size: t.CUInt32T, + pos: t.CInt) -> t.CInt: + for d in range(directory_count): + dirp: devfs_directory = c.Addr(directories[d]) + if dirp.parent == dir_ptr: + name_len: t.CInt = string.strlen(dirp.name) + if pos + name_len + 1 > size: + break + string.strcpy(buffer + pos, dirp.name) + pos += name_len + buffer[pos] = '\n' + pos += 1 + return pos + +@t.Object +@t.CVTable +class devfs_file: + name: list[t.CChar, 64] + private_data: t.CVoid | t.CPtr + parent_dir: 'devfs_directory' | t.CPtr + + @staticmethod + def find_in_dir(file_name: t.CConst | str, + dir_ptr: devfs_directory | t.CPtr) -> devfs_file | t.CPtr: + for f in range(file_count): + fp: devfs_file | t.CPtr = c.Addr(files[f]) + if fp.parent_dir == dir_ptr and string.samestr(fp.name, file_name): + return fp + return None + + @staticmethod + def list_in_dir(dir_ptr: devfs_directory | t.CPtr, + buffer: str, + size: t.CUInt32T, + pos: t.CInt) -> t.CInt: + for f in range(file_count): + filep: devfs_file | t.CPtr = c.Addr(files[f]) + if filep.parent_dir == dir_ptr: + name_len: t.CInt = string.strlen(filep.name) + if pos + name_len + 1 > size: + break + string.strcpy(buffer + pos, filep.name) + pos += name_len + buffer[pos] = '\n' + pos += 1 + return pos + + def open(self, path: t.CConst | str, flags: t.CInt) -> t.CInt: + return 0 + + def close(self, fd: t.CInt) -> t.CInt: + return 0 + + def read(self, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return 0 + + def write(self, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return 0 + + def ioctl(self, fd: t.CInt, request: t.CInt, arg: t.CVoid | t.CPtr) -> t.CInt: + return 0 + +@t.Object +class _DevFSObject: + root_directory: devfs_directory | t.CPtr + + def __init__(self): + global directory_count, file_count + self.root_directory = None + directory_count = 0 + file_count = 0 + string.memset(c.Addr(directories), 0, devfs_directory.__sizeof__() * MAX_DIRECTORIES) + string.memset(c.Addr(files), 0, devfs_file.__sizeof__() * MAX_DEVICE_FILES) + string.memset(c.Addr(fd_table), 0, _fd_table.__sizeof__() * MAX_FILE_DESCRIPTORS) + + def create_single_dir(self, parent: devfs_directory | t.CPtr, + dir_name: t.CConst | str) -> devfs_directory | t.CPtr: + global directory_count + if not parent or not dir_name: return None + if directory_count >= MAX_DIRECTORIES: return None + if string.strlen(dir_name) >= 64: return None + + new_dir: devfs_directory | t.CPtr = c.Addr(directories[directory_count]) + directory_count += 1 + + string.strcpy(new_dir.name, dir_name) + new_dir.parent = parent + + return new_dir + + def find_or_create_directory(self, path: t.CConst | str) -> devfs_directory | t.CPtr: + global directory_count + if not path or string.samestr(path, "/"): return None + + if not self.root_directory: + self.root_directory = c.Addr(directories[directory_count]) + directory_count += 1 + string.strcpy(self.root_directory.name, "") + self.root_directory.parent = None + + current: devfs_directory | t.CPtr = self.root_directory + buf: list[t.CChar, PATH_BUFFER_SIZE] + string.memset(c.Addr(buf), 0, PATH_BUFFER_SIZE) + buf_idx: t.CInt = 0 + p: t.CInt = 0 + if path[p] == '/': + p += 1 + while path[p] != '\0': + if path[p] == '/': + if buf_idx > 0: + found_child: devfs_directory | t.CPtr = devfs_directory.find_child(buf, current) + if not found_child: + found_child = self.create_single_dir(current, buf) + if not found_child: return None + current = found_child + string.memset(c.Addr(buf), 0, PATH_BUFFER_SIZE) + buf_idx = 0 + p += 1 + else: + buf[buf_idx] = path[p] + buf_idx += 1 + p += 1 + if buf_idx > 0: + found_child: devfs_directory | t.CPtr = devfs_directory.find_child(buf, current) + if not found_child: + found_child = self.create_single_dir(current, buf) + if not found_child: return None + current = found_child + + return current + + def init(self) -> t.CInt: + self.create_directory("/dev") + self.create_directory("/dev/input") + return 0 + + def create_directory(self, path: t.CConst | str) -> t.CInt: + dir_ptr: devfs_directory | t.CPtr = self.find_or_create_directory(path) + return 0 if dir_ptr else -1 + + def create_file(self, path: t.CConst | str, + private_data: t.CVoid | t.CPtr) -> t.CInt: + global file_count + path_copy: list[t.CChar, PATH_BUFFER_SIZE] + string.memset(c.Addr(path_copy), 0, PATH_BUFFER_SIZE) + string.strcpy(path_copy, path) + + last_slash: str | t.CPtr = string.strrchr(path_copy, '/') + + if not last_slash: return -1 + + last_slash[0] = '\0' + dir_path = path_copy + file_name: str | t.CPtr = last_slash + 1 + + dir_ptr: devfs_directory | t.CPtr = self.find_or_create_directory(dir_path) + if not dir_ptr: return -1 + + if devfs_file.find_in_dir(file_name, dir_ptr): + return -1 + + if file_count >= MAX_DEVICE_FILES: return -1 + + new_file: devfs_file | t.CPtr = c.Addr(files[file_count]) + file_count += 1 + + string.strcpy(new_file.name, file_name) + new_file.private_data = private_data + new_file.parent_dir = dir_ptr + + return 0 + + def open(self, path: t.CConst | str, flags: t.CInt) -> t.CInt: + path_copy: list[t.CChar, PATH_BUFFER_SIZE] + string.memset(c.Addr(path_copy), 0, PATH_BUFFER_SIZE) + string.strcpy(path_copy, path) + + last_slash: str | t.CPtr = string.strrchr(path_copy, '/') + + if not last_slash: return -1 + + last_slash[0] = '\0' + dir_path = path_copy + file_name: str | t.CPtr = last_slash + 1 + + dir_ptr: devfs_directory | t.CPtr = devfs_directory.find(dir_path, self.root_directory) + if not dir_ptr: return -1 + + file_ptr: devfs_file | t.CPtr = devfs_file.find_in_dir(file_name, dir_ptr) + if not file_ptr: return -1 + + if not file_ptr.open: + return -1 + + fd: t.CInt = -1 + for i in range(MAX_FILE_DESCRIPTORS): + if not fd_table[i].file: + fd = i + break + + if fd == -1: return -1 + + ret: t.CInt = file_ptr.open(path, flags) + if ret != 0: return ret + + fd_table[fd].file = file_ptr + fd_table[fd].flags = flags + return fd + + def close(self, fd: t.CInt) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + if file_ptr and file_ptr.close: + file_ptr.close(fd) + fd_table[fd].file = None + fd_table[fd].flags = 0 + return 0 + + def read(self, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + if file_ptr and file_ptr.read: + return file_ptr.read(fd, buffer, size) + return 0 + + def write(self, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + if file_ptr and file_ptr.write: + return file_ptr.write(fd, buffer, size) + return 0 + + def ioctl(self, fd: t.CInt, cmd: t.CUInt32T, arg: t.CVoid | t.CPtr) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + if file_ptr and file_ptr.ioctl: + return file_ptr.ioctl(fd, cmd, arg) + return 0 + + def list_directory(self, path: t.CConst | str, + buffer: str, + size: t.CUInt32T) -> t.CInt: + dir_ptr: devfs_directory | t.CPtr = devfs_directory.find(path, self.root_directory) + if not dir_ptr or not buffer or size == 0: return -1 + + pos: t.CInt = devfs_directory.list_subdirs(dir_ptr, buffer, size, 0) + pos = devfs_file.list_in_dir(dir_ptr, buffer, size, pos) + + return pos + +DevFSObject: _DevFSObject | t.CPtr +_DevFSObject_instance: _DevFSObject + + +def devfs_init() -> t.CInt: + global DevFSObject, _DevFSObject_instance + DevFSObject = c.Addr(_DevFSObject_instance) + _DevFSObject_instance.__init__() + DevFSObject.init() + return 0 + +def devfs_create_directory(path: t.CConst | str) -> t.CInt: + return DevFSObject.create_directory(path) + +def devfs_create_file(path: t.CConst | str, + private_data: t.CVoid | t.CPtr) -> t.CInt: + return DevFSObject.create_file(path, private_data) + +def devfs_open(path: t.CConst | str, flags: t.CInt) -> t.CInt: + return DevFSObject.open(path, flags) + +def devfs_close(fd: t.CInt) -> t.CInt: + return DevFSObject.close(fd) + +def devfs_read(fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return DevFSObject.read(fd, buffer, size) + +def devfs_write(fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return DevFSObject.write(fd, buffer, size) + +def devfs_ioctl(fd: t.CInt, cmd: t.CUInt32T, arg: t.CVoid | t.CPtr) -> t.CInt: + return DevFSObject.ioctl(fd, cmd, arg) + +def devfs_list_directory(path: t.CConst | str, + buffer: str, + size: t.CUInt32T) -> t.CInt: + return DevFSObject.list_directory(path, buffer, size) + +serial0_file: devfs_file + +def serial0_open(self: t.CVoid | t.CPtr, path: t.CConst | str, flags: t.CInt) -> t.CInt: + serial.puts("[serial0] open: ") + serial.puts(path) + serial.puts("\n") + return 0 + +def serial0_close(self: t.CVoid | t.CPtr, fd: t.CInt) -> t.CInt: + serial.puts("[serial0] close\n") + return 0 + +def serial0_read(self: t.CVoid | t.CPtr, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + serial.puts("[serial0] read\n") + return 0 + +def serial0_write(self: t.CVoid | t.CPtr, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + serial.puts("[serial0] write\n") + serial.puts(str(buffer)) + serial.puts("\n") + return size + +def devfs_register_serial0() -> t.CInt: + global serial0_file + serial0_file = devfs_file() + serial0_file.open = serial0_open + serial0_file.close = serial0_close + serial0_file.read = serial0_read + serial0_file.write = serial0_write + serial0_file.ioctl = None + return devfs_create_file("/dev/serial0", serial0_file) diff --git a/Test/Kernel/drivers/devfs/devfs.vp b/Test/Kernel/drivers/devfs/devfs.vp new file mode 100644 index 0000000..1fd9fb6 --- /dev/null +++ b/Test/Kernel/drivers/devfs/devfs.vp @@ -0,0 +1,491 @@ +import drivers.serial.uart.serial as serial +import viperstring as string +import t, c + + +MAX_FILE_DESCRIPTORS: t.CDefine = 64 +MAX_DEVICE_FILES: t.CDefine = 32 +MAX_DIRECTORIES: t.CDefine = 16 +PATH_BUFFER_SIZE: t.CDefine = 256 + +directories: t.CArray[devfs_directory, MAX_DIRECTORIES] = [0] +directory_count: t.CStatic | t.CInt = 0 + +files: t.CArray[devfs_file, MAX_DEVICE_FILES] = [0] +file_count: t.CStatic | t.CInt = 0 + + +class _fd_table: + file: devfs_file | t.CPtr + flags: t.CInt + +fd_table: t.CArray[_fd_table, MAX_FILE_DESCRIPTORS] = [0] + +@t.Object +class devfs_directory: + name: t.CArray[t.CChar, 64] + parent: 'devfs_directory' | t.CPtr + + @staticmethod + def find(path: t.CConst | str, + root_directory: devfs_directory | t.CPtr) -> devfs_directory | t.CPtr: + if not path or string.strchr(path, '/') != path: return None + if not root_directory: return None + + current_dir: devfs_directory | t.CPtr = root_directory + result: t.CArray[str, PATH_BUFFER_SIZE] + token = string.split(path, "/", result) + + for i in result: + found: bool = False + for d in range(directory_count): + dirp: devfs_directory = c.Addr(directories[d]) + if dirp.parent == current_dir and string.samestr(dirp.name, i): + current_dir = dirp + found = True + break + if not found: return None + + return current_dir + + @staticmethod + def find_child(name: t.CConst | str, + parent: devfs_directory | t.CPtr) -> devfs_directory | t.CPtr: + for d in range(directory_count): + dirp: devfs_directory = c.Addr(directories[d]) + if dirp.parent == parent and string.samestr(dirp.name, name): + return dirp + return None + + @staticmethod + def list_subdirs(dir_ptr: devfs_directory | t.CPtr, + buffer: str, + size: t.CUInt32T, + pos: t.CInt) -> t.CInt: + for d in range(directory_count): + dirp: devfs_directory = c.Addr(directories[d]) + if dirp.parent == dir_ptr: + name_len: t.CInt = string.strlen(dirp.name) + if pos + name_len + 1 > size: + break + string.strcpy(buffer + pos, dirp.name) + pos += name_len + buffer[pos] = '\n' + pos += 1 + return pos + +@t.Object +@t.CVTable +class devfs_file: + name: t.CArray[t.CChar, 64] + private_data: t.CVoid | t.CPtr + parent_dir: 'devfs_directory' | t.CPtr + + @staticmethod + def find_in_dir(file_name: t.CConst | str, + dir_ptr: devfs_directory | t.CPtr) -> devfs_file | t.CPtr: + for f in range(file_count): + fp: devfs_file | t.CPtr = c.Addr(files[f]) + if fp.parent_dir == dir_ptr and string.samestr(fp.name, file_name): + return fp + return None + + @staticmethod + def list_in_dir(dir_ptr: devfs_directory | t.CPtr, + buffer: str, + size: t.CUInt32T, + pos: t.CInt) -> t.CInt: + for f in range(file_count): + filep: devfs_file | t.CPtr = c.Addr(files[f]) + if filep.parent_dir == dir_ptr: + name_len: t.CInt = string.strlen(filep.name) + if pos + name_len + 1 > size: + break + string.strcpy(buffer + pos, filep.name) + pos += name_len + buffer[pos] = '\n' + pos += 1 + return pos + + def open(self, path: t.CConst | str, flags: t.CInt) -> t.CInt: + return 0 + + def close(self, fd: t.CInt) -> t.CInt: + return 0 + + def read(self, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return 0 + + def write(self, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return 0 + + def ioctl(self, fd: t.CInt, request: t.CInt, arg: t.CVoid | t.CPtr) -> t.CInt: + return 0 + +@t.Object +class _DevFSObject: + root_directory: devfs_directory | t.CPtr + + def __init__(self): + global directory_count, file_count + self.root_directory = None + directory_count = 0 + file_count = 0 + string.memset(c.Addr(directories), 0, devfs_directory.__sizeof__() * MAX_DIRECTORIES) + string.memset(c.Addr(files), 0, devfs_file.__sizeof__() * MAX_DEVICE_FILES) + string.memset(c.Addr(fd_table), 0, _fd_table.__sizeof__() * MAX_FILE_DESCRIPTORS) + + def create_single_dir(self, parent: devfs_directory | t.CPtr, + dir_name: t.CConst | str) -> devfs_directory | t.CPtr: + global directory_count + if not parent or not dir_name: return None + if directory_count >= MAX_DIRECTORIES: return None + if string.strlen(dir_name) >= 64: return None + + new_dir: devfs_directory | t.CPtr = c.Addr(directories[directory_count]) + directory_count += 1 + + string.strcpy(new_dir.name, dir_name) + new_dir.parent = parent + + return new_dir + + def find_or_create_directory(self, path: t.CConst | str) -> devfs_directory | t.CPtr: + global directory_count + if not path or string.samestr(path, "/"): return None + + serial.puts("A") + if not self.root_directory: + self.root_directory = c.Addr(directories[directory_count]) + directory_count += 1 + string.strcpy(self.root_directory.name, "") + self.root_directory.parent = None + + serial.puts("B") + current: devfs_directory | t.CPtr = self.root_directory + buf: t.CArray[t.CChar, PATH_BUFFER_SIZE] + string.memset(c.Addr(buf), 0, PATH_BUFFER_SIZE) + buf_idx: t.CInt = 0 + p: t.CInt = 0 + if path[p] == '/': + p += 1 + serial.puts("C") + while path[p] != '\0': + if path[p] == '/': + if buf_idx > 0: + found_child: devfs_directory | t.CPtr = devfs_directory.find_child(buf, current) + if not found_child: + found_child = self.create_single_dir(current, buf) + if not found_child: return None + current = found_child + string.memset(c.Addr(buf), 0, PATH_BUFFER_SIZE) + buf_idx = 0 + p += 1 + else: + buf[buf_idx] = path[p] + buf_idx += 1 + p += 1 + serial.puts("D") + if buf_idx > 0: + found_child: devfs_directory | t.CPtr = devfs_directory.find_child(buf, current) + if not found_child: + found_child = self.create_single_dir(current, buf) + if not found_child: return None + current = found_child + serial.puts("E") + + return current + + def init(self) -> t.CInt: + self.create_directory("/dev") + self.create_directory("/dev/input") + return 0 + + def create_directory(self, path: t.CConst | str) -> t.CInt: + serial.puts("T1") + dir_ptr: devfs_directory | t.CPtr = self.find_or_create_directory(path) + serial.puts("T2") + return 0 if dir_ptr else -1 + + def create_file(self, path: t.CConst | str, + file_ptr: devfs_file | t.CPtr, + private_data: t.CVoid | t.CPtr) -> t.CInt: + global file_count + path_copy: t.CArray[t.CChar, PATH_BUFFER_SIZE] + string.memset(c.Addr(path_copy), 0, PATH_BUFFER_SIZE) + string.strcpy(path_copy, path) + + last_slash: str | t.CPtr = string.strrchr(path_copy, '/') + + if not last_slash: return -1 + + last_slash[0] = '\0' + dir_path = path_copy + file_name: str | t.CPtr = last_slash + 1 + + dir_ptr: devfs_directory | t.CPtr = self.find_or_create_directory(dir_path) + if not dir_ptr: return -1 + + if devfs_file.find_in_dir(file_name, dir_ptr): + return -1 + + if file_count >= MAX_DEVICE_FILES: return -1 + + if file_ptr: + string.strcpy(file_ptr.name, file_name) + file_ptr.private_data = private_data + file_ptr.parent_dir = dir_ptr + files[file_count] = file_ptr + else: + new_file: devfs_file | t.CPtr = c.Addr(files[file_count]) + string.strcpy(new_file.name, file_name) + new_file.private_data = private_data + new_file.parent_dir = dir_ptr + + file_count += 1 + return 0 + + def open(self, path: t.CConst | str, flags: t.CInt) -> t.CInt: + path_copy: t.CArray[t.CChar, PATH_BUFFER_SIZE] + string.memset(c.Addr(path_copy), 0, PATH_BUFFER_SIZE) + string.strcpy(path_copy, path) + + last_slash: str | t.CPtr = string.strrchr(path_copy, '/') + + if not last_slash: return -1 + + last_slash[0] = '\0' + dir_path = path_copy + file_name: str | t.CPtr = last_slash + 1 + + dir_ptr: devfs_directory | t.CPtr = devfs_directory.find(dir_path, self.root_directory) + if not dir_ptr: return -1 + + file_ptr: devfs_file | t.CPtr = devfs_file.find_in_dir(file_name, dir_ptr) + if not file_ptr: return -1 + + fd: t.CInt = -1 + for i in range(MAX_FILE_DESCRIPTORS): + if not fd_table[i].file: + fd = i + break + + if fd == -1: return -1 + + ret: t.CInt = file_ptr.open(path, flags) + if ret != 0: return ret + + fd_table[fd].file = file_ptr + fd_table[fd].flags = flags + return fd + + def close(self, fd: t.CInt) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + file_ptr.close(fd) + fd_table[fd].file = None + fd_table[fd].flags = 0 + return 0 + + def read(self, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + return file_ptr.read(fd, buffer, size) + + def write(self, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + return file_ptr.write(fd, buffer, size) + + def ioctl(self, fd: t.CInt, cmd: t.CUInt32T, arg: t.CVoid | t.CPtr) -> t.CInt: + if fd < 0 or fd >= MAX_FILE_DESCRIPTORS or not fd_table[fd].file: + return -1 + file_ptr: devfs_file | t.CPtr = fd_table[fd].file + return file_ptr.ioctl(fd, cmd, arg) + + def list_directory(self, path: t.CConst | str, + buffer: str, + size: t.CUInt32T) -> t.CInt: + dir_ptr: devfs_directory | t.CPtr = devfs_directory.find(path, self.root_directory) + if not dir_ptr or not buffer or size == 0: return -1 + + pos: t.CInt = devfs_directory.list_subdirs(dir_ptr, buffer, size, 0) + pos = devfs_file.list_in_dir(dir_ptr, buffer, size, pos) + + return pos + +DevFSObject: _DevFSObject | t.CPtr +_DevFSObject_instance: _DevFSObject + + +def devfs_init() -> t.CInt: + global DevFSObject, _DevFSObject_instance + DevFSObject = c.Addr(_DevFSObject_instance) + _DevFSObject_instance = _DevFSObject() + # _DevFSObject_instance.__init__() + DevFSObject.init() + return 0 + +def devfs_create_directory(path: t.CConst | str) -> t.CInt: + return DevFSObject.create_directory(path) + +def devfs_create_file(path: t.CConst | str, + file_ptr: devfs_file | t.CPtr, + private_data: t.CVoid | t.CPtr) -> t.CInt: + return DevFSObject.create_file(path, file_ptr, private_data) + +def devfs_open(path: t.CConst | str, flags: t.CInt) -> t.CInt: + return DevFSObject.open(path, flags) + +def devfs_close(fd: t.CInt) -> t.CInt: + return DevFSObject.close(fd) + +def devfs_read(fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return DevFSObject.read(fd, buffer, size) + +def devfs_write(fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return DevFSObject.write(fd, buffer, size) + +def devfs_ioctl(fd: t.CInt, cmd: t.CUInt32T, arg: t.CVoid | t.CPtr) -> t.CInt: + return DevFSObject.ioctl(fd, cmd, arg) + +def devfs_list_directory(path: t.CConst | str, + buffer: str, + size: t.CUInt32T) -> t.CInt: + return DevFSObject.list_directory(path, buffer, size) + +serial0_file: devfs_file + +def serial0_open(self: t.CVoid | t.CPtr, path: t.CConst | str, flags: t.CInt) -> t.CInt: + serial.puts("[serial0] open: ") + serial.puts(path) + serial.puts("\n") + return 0 + +def serial0_close(self: t.CVoid | t.CPtr, fd: t.CInt) -> t.CInt: + serial.puts("[serial0] close\n") + return 0 + +def serial0_read(self: t.CVoid | t.CPtr, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + serial.puts("[serial0] read\n") + return 0 + +def serial0_write(self: t.CVoid | t.CPtr, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + serial.puts("[serial0] write\n") + serial.puts(str(buffer)) + serial.puts("\n") + return size + +def devfs_register_serial0() -> t.CInt: + global serial0_file + serial0_file = devfs_file() + serial0_file.open = serial0_open + serial0_file.close = serial0_close + serial0_file.read = serial0_read + serial0_file.write = serial0_write + return devfs_create_file("/dev/serial0", serial0_file, None) + +@t.Object +@t.CVTable +class serial1_device(devfs_file): + def open(self, path: t.CConst | str, flags: t.CInt) -> t.CInt: + serial.puts("[serial1] open: ") + serial.puts(path) + serial.puts("\n") + return 0 + + def close(self, fd: t.CInt) -> t.CInt: + serial.puts("[serial1] close\n") + return 0 + + def read(self, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + serial.puts("[serial1] read\n") + return 0 + + def write(self, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + serial.puts("[serial1] write\n") + serial.puts(str(buffer)) + serial.puts("\n") + return size + +serial1_file: serial1_device + +def devfs_register_serial1() -> t.CInt: + global serial1_file + serial1_file = serial1_device() + return devfs_create_file("/dev/serial1", serial1_file, None) + +import drivers.input.keyboard.keyboard as keyboard +import drivers.input.mouse.mouse as mouse + +@t.Object +@t.CVTable +class keyboard_device(devfs_file): + def open(self, path: t.CConst | str, flags: t.CInt) -> t.CInt: + return 0 + + def close(self, fd: t.CInt) -> t.CInt: + return 0 + + def read(self, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + count: t.CUInt32T = 0 + while count < size and keyboard.has_data(): + sc: t.CUInt8T = keyboard.read_scancode() + ch: t.CChar = keyboard.scancode_to_ascii(sc) + if ch != '\0': + c.Set(t.CChar(buffer, t.CPtr)[count], ch) + count += 1 + return count + + def write(self, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return -1 + + def ioctl(self, fd: t.CInt, request: t.CInt, arg: t.CVoid | t.CPtr) -> t.CInt: + return 0 + +kbd_file: keyboard_device + +def devfs_register_keyboard() -> t.CInt: + global kbd_file + kbd_file = keyboard_device() + keyboard.init() + return devfs_create_file("/dev/input/keyboard", kbd_file, None) + +@t.Object +@t.CVTable +class mouse_device(devfs_file): + def open(self, path: t.CConst | str, flags: t.CInt) -> t.CInt: + return 0 + + def close(self, fd: t.CInt) -> t.CInt: + return 0 + + def read(self, fd: t.CInt, buffer: t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + if not mouse.has_data(): return 0 + pkt: mouse.mouse_packet + mouse.read_packet(c.Addr(pkt)) + if size >= 1: + c.Set(t.CUInt8T(buffer, t.CPtr)[0], pkt.buttons) + if size >= 5: + buf: t.CUInt32T | t.CPtr = t.CVoid(t.CUInt64T(buffer) + 1, t.CPtr) + c.Set(t.CInt32T(buf, t.CPtr)[0], mouse.get_x()) + c.Set(t.CInt32T(buf, t.CPtr)[1], mouse.get_y()) + return 5 + return 1 + + def write(self, fd: t.CInt, buffer: t.CConst | t.CVoid | t.CPtr, size: t.CUInt32T) -> t.CInt: + return -1 + + def ioctl(self, fd: t.CInt, request: t.CInt, arg: t.CVoid | t.CPtr) -> t.CInt: + return 0 + +mse_file: mouse_device + +def devfs_register_mouse() -> t.CInt: + global mse_file + mse_file = mouse_device() + mouse.init() + return devfs_create_file("/dev/input/mouse", mse_file, None) diff --git a/Test/Kernel/drivers/fs/fat32/example_fs.vp b/Test/Kernel/drivers/fs/fat32/example_fs.vp new file mode 100644 index 0000000..dac35e6 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/example_fs.vp @@ -0,0 +1,237 @@ +from stdint import * +import fat32 as fs +import fat32_types as types +import fat32_part as part +import fat32_mkfs as mkfs_mod +import t, c + + +def print_fresult(res: types.FRESULT, msg: t.CConst) -> t.CInt: + if res == types.FRESULT.FR_OK: + print(f"[成功] {msg}") + return 0 + else: + print(f"[失败] {msg}: {res}") + return -1 + + +def print_fresult_void(res: types.FRESULT, msg: t.CConst): + print_fresult(res, msg) + + +def example_main() -> t.CInt: + print("=== FAT32 文件系统完整示例 ===") + print() + + # 1. 扫描可用驱动器 + print("--- 1. 扫描可用驱动器 ---") + res: types.FRESULT = fs.scan_drives() + print_fresult_void(res, "扫描驱动器") + + drive_count: t.CInt = fs.get_drive_count() + print(f"找到 {drive_count} 个驱动器") + i: t.CInt + for i in range(drive_count): + letter: t.CChar = fs.get_drive_letter(i) + part_count: t.CInt = fs.get_partition_count(letter) + print(f" 驱动器 {i}: {letter}") + for j in range(part_count): + is_fat32: t.CInt = fs.is_partition_fat32(letter, j) + print(f" 分区 {j}: FAT32={is_fat32}") + print() + + # 2. 挂载文件系统 + print("--- 2. 挂载文件系统 ---") + res = fs.mount() + if print_fresult(res, "挂载文件系统") != 0: + print("提示: 可能需要先格式化磁盘") + print() + + # 3. 文件系统信息 + print("--- 3. 文件系统信息 ---") + mounted: t.CInt = fs.is_mounted() + print(f"已挂载: {mounted}") + if mounted: + total_clusters: t.CUInt32T = fs.get_total() + free_clusters: t.CUInt32T = fs.get_free() + cluster_size: t.CUInt32T = fs.get_cluster_size() + total_bytes: t.CUInt64T = t.CUInt64T(total_clusters) * t.CUInt64T(cluster_size) + free_bytes: t.CUInt64T = t.CUInt64T(free_clusters) * t.CUInt64T(cluster_size) + print(f"总簇数: {total_clusters}") + print(f"空闲簇数: {free_clusters}") + print(f"簇大小: {cluster_size} 字节") + print(f"总大小: {total_bytes} 字节") + print(f"空闲大小: {free_bytes} 字节") + print() + + # 4. 元数据操作 + print("--- 4. 元数据操作 ---") + fs.set_metadata(0x12345678) + metadata: t.CUInt32T = fs.get_metadata() + print(f"设置的元数据: 0x{metadata:08X}") + print() + + # 5. 获取 FAT 时间 + print("--- 5. 获取 FAT 时间 ---") + fattime: t.CUInt32T = fs.get_fattime() + print(f"当前 FAT 时间: 0x{fattime:08X}") + print() + + # 6. 目录操作 + if fs.is_mounted(): + print("--- 6. 目录操作 ---") + + # 创建目录 + res = fs.mkdir("/test_dir_1") + print_fresult_void(res, "创建目录 /test_dir_1") + + res = fs.mkdir("/test_dir_1/subdir") + print_fresult_void(res, "创建子目录 /test_dir_1/subdir") + + res = fs.mkdir("/test_dir_2") + print_fresult_void(res, "创建目录 /test_dir_2") + print() + + # 7. 文件操作 + print("--- 7. 文件操作 ---") + + # 创建并写入文件 + fp1: types.fileobj | t.CPtr = fs.open("/test_dir_1/file1.txt", types.FA_CREATE_ALWAYS | types.FA_WRITE) + if fp1 is not None: + test_data1: t.CConst = "Hello, World!" + written: t.CUInt32T = fs.write(fp1, test_data1, 13) + print(f"写入文件 /test_dir_1/file1.txt: {written} 字节") + fs.close(fp1) + + # 打开追加 + fp2: types.fileobj | t.CPtr = fs.open("/test_dir_1/file1.txt", types.FA_OPEN_ALWAYS | types.FA_WRITE | types.FA_OPEN_APPEND) + if fp2 is not None: + test_data2: t.CConst = " Append data!" + written2: t.CUInt32T = fs.write(fp2, test_data2, 13) + print(f"追加写入: {written2} 字节") + fs.close(fp2) + + # 读取文件 + fp3: types.fileobj | t.CPtr = fs.open("/test_dir_1/file1.txt", types.FA_OPEN_EXISTING | types.FA_READ) + if fp3 is not None: + buf: t.CArray[t.CUInt8T, 256] + read_bytes: t.CUInt32T = fs.read(fp3, t.CVoid(c.Addr(buf[0]), t.CPtr), 256) + print(f"读取字节数: {read_bytes}") + print(f"文件内容: {t.CChar(c.Addr(buf[0]), t.CPtr)}") + + # seek 和 tell + fs.seek(fp3, 5) + pos: t.CUInt32T = fs.tell(fp3) + print(f"seek 到位置 5, 当前位置: {pos}") + + read_bytes2: t.CUInt32T = fs.read(fp3, t.CVoid(c.Addr(buf[0]), t.CPtr), 256) + print(f"从位置 5 读取: {t.CChar(c.Addr(buf[0]), t.CPtr)}") + + # 获取文件大小 + fsize: t.CUInt32T = fs.size(fp3) + print(f"文件大小: {fsize} 字节") + + fs.close(fp3) + + # 创建另一个文件 + fp4: types.fileobj | t.CPtr = fs.open("/test_dir_1/large_file.txt", types.FA_CREATE_ALWAYS | types.FA_WRITE) + if fp4 is not None: + large_data: t.CArray[t.CUInt8T, 1024] + k: t.CInt + for k in range(1024): + large_data[k] = t.CUInt8T(ord('A') + (k % 26)) + written3: t.CUInt32T = fs.write(fp4, t.CVoid(c.Addr(large_data[0]), t.CPtr), 1024) + print(f"创建大文件, 写入: {written3} 字节") + fs.close(fp4) + print() + + # 8. 文件状态和属性 + print("--- 8. 文件状态和属性 ---") + + info: types.fileinfo + res = fs.stat("/test_dir_1/file1.txt", info) + print_fresult_void(res, "获取文件信息") + if res == types.FRESULT.FR_OK: + print(f" 文件名: {info.fname}") + print(f" 大小: {info.file_size} 字节") + print(f" 属性: 0x{info.attr:02X}") + print(f" 创建时间: 0x{info.ctime:04X}") + print(f" 创建日期: 0x{info.cdate:04X}") + print(f" 修改时间: 0x{info.mtime:04X}") + print(f" 修改日期: 0x{info.mdate:04X}") + print(f" 访问日期: 0x{info.adate:04X}") + + # 修改属性 + res = fs.chmod("/test_dir_1/file1.txt", types.AM_RDO, types.AM_RDO) + print_fresult_void(res, "设置文件为只读") + print() + + # 9. 重命名和移动 + print("--- 9. 重命名和移动 ---") + + res = fs.rename("/test_dir_1/file1.txt", "/test_dir_1/renamed.txt") + print_fresult_void(res, "重命名文件") + + res = fs.move("/test_dir_1/renamed.txt", "/test_dir_2/moved.txt") + print_fresult_void(res, "移动文件") + + res = fs.rename("/test_dir_2", "/test_dir_renamed") + print_fresult_void(res, "重命名目录") + print() + + # 10. 列出目录 + print("--- 10. 列出目录 ---") + + dp: types.dirobj + res = fs.opendir("/", dp) + if res == types.FRESULT.FR_OK: + print("根目录内容:") + dir_info: types.fileinfo + while True: + res = fs.readdir(dp, dir_info) + if res != types.FRESULT.FR_OK: + break + attr_str: t.CConst = "" + if dir_info.attr & types.AM_DIR: + attr_str = attr_str + "D" + else: + attr_str = attr_str + "F" + if dir_info.attr & types.AM_RDO: + attr_str = attr_str + "R" + if dir_info.attr & types.AM_HID: + attr_str = attr_str + "H" + if dir_info.attr & types.AM_SYS: + attr_str = attr_str + "S" + if dir_info.attr & types.AM_ARC: + attr_str = attr_str + "A" + print(f" [{attr_str}] {dir_info.fname} ({dir_info.file_size} 字节)") + fs.closedir(dp) + print() + + # 11. 删除文件和目录 + print("--- 11. 删除文件和目录 ---") + + res = fs.remove("/test_dir_renamed/moved.txt") + print_fresult_void(res, "删除文件") + + res = fs.remove("/test_dir_1/large_file.txt") + print_fresult_void(res, "删除大文件") + + res = fs.rmdir("/test_dir_1/subdir") + print_fresult_void(res, "删除子目录") + + res = fs.rmdir("/test_dir_1") + print_fresult_void(res, "删除目录 /test_dir_1") + + res = fs.rmdir("/test_dir_renamed") + print_fresult_void(res, "删除目录 /test_dir_renamed") + print() + + # 12. 卸载文件系统 + print("--- 12. 卸载文件系统 ---") + res = fs.unmount() + print_fresult_void(res, "卸载文件系统") + print() + + print("=== 示例完成 ===") + return 0 diff --git a/Test/Kernel/drivers/fs/fat32/fat32.vp b/Test/Kernel/drivers/fs/fat32/fat32.vp new file mode 100644 index 0000000..2787033 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32.vp @@ -0,0 +1,208 @@ +from stdint import * +import string +import fat32_types as types +import fat32_time as ftime +import fat32_mkfs as mkfs_mod +import fat32_part as part +import fat32_diskio as diskio +import sched.sched as sched +import t, c + + +default_fs: types.volinfo = types.volinfo() +_fs_lock: t.CInt = 0 + +def lock(): + global _fs_lock + while True: + c.Asm("cli") + if _fs_lock == 0: + _fs_lock = 1 + c.Asm("sti") + return + c.Asm("sti") + sched.Scheduler._yield() + +def unlock(): + global _fs_lock + _fs_lock = 0 + +def mount() -> types.FRESULT: + default_fs.pdrv = 0 + default_fs.hidden_sectors = 0 + buf: t.CArray[t.CUInt8T, 512] + dres: types.DRESULT = diskio.read(0, c.Addr(buf[0]), 0, 1) + if dres == types.DRESULT.RES_OK: + if buf[0] == 0xEB or buf[0] == 0xE9: + default_fs.hidden_sectors = 0 + else: + sig: t.CUInt16T = t.CUInt16T(buf[510]) | (t.CUInt16T(buf[511]) << 8) + if sig == 0xAA55: + ptype: t.CUInt8T = buf[450] + if ptype != 0: + slba: t.CUInt32T = t.CUInt32T(buf[454]) | (t.CUInt32T(buf[455]) << 8) | (t.CUInt32T(buf[456]) << 16) | (t.CUInt32T(buf[457]) << 24) + default_fs.hidden_sectors = slba + if default_fs.mounted: return types.FRESULT.FR_OK + dsk_res: types.DRESULT = diskio.status(default_fs.pdrv) + if dsk_res != types.DRESULT.RES_OK: + dsk_res = diskio.init(default_fs.pdrv) + if dsk_res != types.DRESULT.RES_OK: return types.FRESULT.FR_NOT_READY + default_fs.winsect = 0xFFFFFFFFFFFFFFFF + default_fs.fat_winsect = 0xFFFFFFFFFFFFFFFF + wres: types.FRESULT = default_fs.win_read(0) + if wres != types.FRESULT.FR_OK: return types.FRESULT.FR_DISK_ERR + bps: t.CUInt16T = default_fs.win[11] | (t.CUInt16T(default_fs.win[12]) << 8) + spc: t.CUInt8T = default_fs.win[13] + rsc: t.CUInt16T = default_fs.win[14] | (t.CUInt16T(default_fs.win[15]) << 8) + nf: t.CUInt8T = default_fs.win[16] + if bps != 512: return types.FRESULT.FR_NO_FILESYSTEM + if spc == 0 or (spc & (spc - 1)) != 0: return types.FRESULT.FR_NO_FILESYSTEM + if rsc == 0: return types.FRESULT.FR_NO_FILESYSTEM + if nf == 0: return types.FRESULT.FR_NO_FILESYSTEM + root_ent: t.CUInt16T = default_fs.win[17] | (t.CUInt16T(default_fs.win[18]) << 8) + fat16sz: t.CUInt16T = default_fs.win[22] | (t.CUInt16T(default_fs.win[23]) << 8) + tot32: t.CUInt32T = t.CUInt32T(default_fs.win[32]) | (t.CUInt32T(default_fs.win[33]) << 8) | (t.CUInt32T(default_fs.win[34]) << 16) | (t.CUInt32T(default_fs.win[35]) << 24) + fat32sz: t.CUInt32T = t.CUInt32T(default_fs.win[36]) | (t.CUInt32T(default_fs.win[37]) << 8) | (t.CUInt32T(default_fs.win[38]) << 16) | (t.CUInt32T(default_fs.win[39]) << 24) + root_clus: t.CUInt32T = t.CUInt32T(default_fs.win[44]) | (t.CUInt32T(default_fs.win[45]) << 8) | (t.CUInt32T(default_fs.win[46]) << 16) | (t.CUInt32T(default_fs.win[47]) << 24) + if root_ent != 0 or fat16sz != 0: return types.FRESULT.FR_NO_FILESYSTEM + if fat32sz == 0: return types.FRESULT.FR_NO_FILESYSTEM + if tot32 == 0: return types.FRESULT.FR_NO_FILESYSTEM + if default_fs.win[510] != 0x55 or default_fs.win[511] != 0xAA: return types.FRESULT.FR_NO_FILESYSTEM + fsinfo_sec: t.CUInt16T = default_fs.win[48] | (t.CUInt16T(default_fs.win[49]) << 8) + bkboot_sec: t.CUInt16T = default_fs.win[50] | (t.CUInt16T(default_fs.win[51]) << 8) + default_fs.sector_size = 512 + default_fs.cluster_sectors = spc + default_fs.cluster_size = t.CUInt32T(spc) * 512 + default_fs.num_fats = nf + default_fs.reserved_sectors = rsc + default_fs.fat_size = fat32sz + default_fs.fat_start = t.CUInt64T(rsc) + default_fs.total_sectors = t.CUInt64T(tot32) + default_fs.root_cluster = root_clus + default_fs.fsinfo_sector = fsinfo_sec + default_fs.backup_sector = bkboot_sec + default_fs.vol_id = t.CUInt32T(default_fs.win[67]) | (t.CUInt32T(default_fs.win[68]) << 8) | (t.CUInt32T(default_fs.win[69]) << 16) | (t.CUInt32T(default_fs.win[70]) << 24) + data_sectors: t.CUInt64T = default_fs.total_sectors - t.CUInt64T(rsc) - t.CUInt64T(t.CUInt64T(nf) * t.CUInt64T(fat32sz)) + default_fs.total_clusters = t.CUInt32T(data_sectors / t.CUInt64T(spc)) + default_fs.data_start = default_fs.fat_start + t.CUInt64T(t.CUInt64T(nf) * t.CUInt64T(fat32sz)) + default_fs.last_alloc = 2 + default_fs.free_clusters = 0xFFFFFFFF + if fsinfo_sec != 0: + default_fs.fsinfo_read() + default_fs.mounted = 1 + return types.FRESULT.FR_OK + +def unmount() -> types.FRESULT: + return default_fs.unmount() + +def format(sec_per_clus: t.CUInt8T = 0, vol_id: t.CUInt32T = 0) -> types.FRESULT: + return mkfs_mod.mkfs(default_fs.pdrv, sec_per_clus, vol_id) + +def open(path: t.CConst | str, mode: t.CUInt8T) -> types.fileobj | t.CPtr: + return default_fs.file_open(path, mode) + +def close(fp: types.fileobj | t.CPtr) -> types.FRESULT: + return fp.close() + +def read(fp: types.fileobj | t.CPtr, buff: t.CVoid | t.CPtr, btr: t.CUInt32T) -> t.CUInt32T: + br: t.CUInt32T = 0 + fp.read(buff, btr, c.Addr(br)) + return br + +def write(fp: types.fileobj | t.CPtr, buff: t.CConst | t.CVoid | t.CPtr, btw: t.CUInt32T) -> t.CUInt32T: + bw: t.CUInt32T = 0 + fp.write(buff, btw, c.Addr(bw)) + return bw + +def seek(fp: types.fileobj | t.CPtr, offset: t.CUInt32T) -> types.FRESULT: + return fp.seek(offset) + +def tell(fp: types.fileobj | t.CPtr) -> t.CUInt32T: + return fp.tell() + +def size(fp: types.fileobj | t.CPtr) -> t.CUInt32T: + return fp.size() + +def truncate(fp: types.fileobj | t.CPtr) -> types.FRESULT: + return fp.truncate() + +def remove(path: t.CConst | str) -> types.FRESULT: + return default_fs.file_delete(path) + +def rename(old_path: t.CConst | str, new_path: t.CConst | str) -> types.FRESULT: + return default_fs.file_rename(old_path, new_path) + +def move(old_path: t.CConst | str, new_path: t.CConst | str) -> types.FRESULT: + return default_fs.file_rename(old_path, new_path) + +def stat(path: t.CConst | str, info: types.fileinfo | t.CPtr) -> types.FRESULT: + return default_fs.file_stat(path, info) + +def mkdir(path: t.CConst | str) -> types.FRESULT: + return default_fs.dir_make(path) + +def rmdir(path: t.CConst | str) -> types.FRESULT: + return default_fs.dir_remove(path) + +def opendir(path: t.CConst | str, dp: types.dirobj | t.CPtr) -> types.FRESULT: + return default_fs.dir_open_path(path, dp) + +def readdir(dp: types.dirobj | t.CPtr, info: types.fileinfo | t.CPtr) -> types.FRESULT: + return default_fs.dir_read(dp, info) + +def closedir(dp: types.dirobj | t.CPtr): + dp.is_open = 0 + +def chmod(path: t.CConst | str, attr: t.CUInt8T, mask: t.CUInt8T) -> types.FRESULT: + return default_fs.chmod(path, attr, mask) + +def utime(path: t.CConst | str, mtime: t.CUInt16T, mdate: t.CUInt16T) -> types.FRESULT: + return default_fs.utime(path, mtime, mdate) + +def get_free() -> t.CUInt32T: + if not default_fs.mounted: return 0 + if default_fs.free_clusters == 0xFFFFFFFF: + return default_fs.count_free_clusters() + return default_fs.free_clusters + +def get_total() -> t.CUInt32T: + if not default_fs.mounted: return 0 + return default_fs.total_clusters + +def get_cluster_size() -> t.CUInt32T: + if not default_fs.mounted: return 0 + return default_fs.cluster_size + +def is_mounted() -> t.CInt: + return default_fs.mounted + +def last_error() -> t.CUInt32T: + return default_fs.last_error + +def get_fattime() -> t.CUInt32T: + return ftime.get_fattime() + +def get_metadata() -> t.CUInt32T: + return default_fs.metadata + +def set_metadata(val: t.CUInt32T): + default_fs.metadata = val + +def scan_drives() -> types.FRESULT: + return part.scan_drives() + +def get_drive_count() -> t.CInt: + return part.get_drive_count() + +def get_drive_letter(idx: t.CInt) -> t.CChar: + return part.get_drive_letter(idx) + +def set_drive_letter(idx: t.CInt, letter: t.CChar) -> types.FRESULT: + return part.set_drive_letter(idx, letter) + +def get_partition_count(letter: t.CChar) -> t.CInt: + return part.get_partition_count(letter) + +def is_partition_fat32(letter: t.CChar, part_idx: t.CInt) -> t.CInt: + return part.is_partition_fat32(letter, part_idx) + diff --git a/Test/Kernel/drivers/fs/fat32/fat32_core.vp b/Test/Kernel/drivers/fs/fat32/fat32_core.vp new file mode 100644 index 0000000..eb59ae2 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_core.vp @@ -0,0 +1,16 @@ +from stdint import * +import fat32_types as types +import t, c + + +_read32 = types._read32 +_read16 = types._read16 +_write32 = types._write32 +_write16 = types._write16 + + +def is_eoc(cluster: t.CUInt32T) -> t.CInt: + return 1 if (cluster >= types.CLUSTER_EOC_MIN and cluster <= types.CLUSTER_EOC_MAX) else 0 + +def is_free(cluster: t.CUInt32T) -> t.CInt: + return 1 if cluster == types.CLUSTER_FREE else 0 diff --git a/Test/Kernel/drivers/fs/fat32/fat32_dir.vp b/Test/Kernel/drivers/fs/fat32/fat32_dir.vp new file mode 100644 index 0000000..5f85280 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_dir.vp @@ -0,0 +1,13 @@ +from stdint import * +import fat32_types as types +import t, c + + +sfn_checksum = types.sfn_checksum +uni2oem_placeholder = types.uni2oem_placeholder +lfn_get_char = types.lfn_get_char +lfn_set_char = types.lfn_set_char +lfn_extract = types.lfn_extract +sfn_from_lfn = types.sfn_from_lfn +sfn_to_str = types.sfn_to_str +_split_path = types._split_path diff --git a/Test/Kernel/drivers/fs/fat32/fat32_diskio.vp b/Test/Kernel/drivers/fs/fat32/fat32_diskio.vp new file mode 100644 index 0000000..fe9d00d --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_diskio.vp @@ -0,0 +1,76 @@ +import drivers.storage.ide.ide as ide +import fat32_types as types +import spinlock +import string +import t, c + + +MAX_DRIVES: t.CDefine = 4 + +drive_initialized: t.CArray[t.CInt, MAX_DRIVES] +drive_lock: spinlock._spinlock = spinlock._spinlock() + +def status(pdrv: t.CUInt8T) -> types.DRESULT: + if pdrv >= MAX_DRIVES: return types.DRESULT.RES_PARERR + if not drive_initialized[pdrv]: return types.DRESULT.RES_NOTRDY + return types.DRESULT.RES_OK + +def init(pdrv: t.CUInt8T) -> types.DRESULT: + if pdrv >= MAX_DRIVES: return types.DRESULT.RES_PARERR + drive_lock.lock() + err: t.CInt = ide.init() + if err != 0: + drive_lock.unlock() + return types.DRESULT.RES_NOTRDY + drive_initialized[pdrv] = 1 + drive_lock.unlock() + return types.DRESULT.RES_OK + +def read(pdrv: t.CUInt8T, buff: t.CUInt8T | t.CPtr, sector: t.CUInt32T, count: t.CUInt32T) -> types.DRESULT: + if pdrv >= MAX_DRIVES: return types.DRESULT.RES_PARERR + if not drive_initialized[pdrv]: return types.DRESULT.RES_NOTRDY + drive_lock.lock() + i: t.CUInt32T + for i in range(count): + rd_res: t.CInt = ide.readSector(sector + i, buff + (i * 512)) + if rd_res != 0: + drive_lock.unlock() + return types.DRESULT.RES_ERROR + drive_lock.unlock() + return types.DRESULT.RES_OK + +def write(pdrv: t.CUInt8T, buff: t.CConst | t.CUInt8T | t.CPtr, sector: t.CUInt32T, count: t.CUInt32T) -> types.DRESULT: + if pdrv >= MAX_DRIVES: return types.DRESULT.RES_PARERR + if not drive_initialized[pdrv]: return types.DRESULT.RES_NOTRDY + drive_lock.lock() + i: t.CUInt32T + for i in range(count): + if ide.writeSector(sector + i, buff + (i * 512)) != 0: + drive_lock.unlock() + return types.DRESULT.RES_ERROR + drive_lock.unlock() + return types.DRESULT.RES_OK + +def ioctl(pdrv: t.CUInt8T, cmd: t.CUInt8T, buff: t.CVoid | t.CPtr) -> types.DRESULT: + if pdrv >= MAX_DRIVES: return types.DRESULT.RES_PARERR + if not drive_initialized[pdrv]: return types.DRESULT.RES_NOTRDY + match cmd: + case types.GET_SECTOR_COUNT: + disk_size: t.CUInt64T = ide.getDiskSize() + if disk_size == 0: + c.Set(t.CUInt32T(buff, t.CPtr), 131072) + elif disk_size > 0xFFFFFFFF: + c.Set(t.CUInt32T(buff, t.CPtr), 0xFFFFFFFF) + else: + c.Set(t.CUInt32T(buff, t.CPtr), t.CUInt32T(disk_size)) + return types.DRESULT.RES_OK + case types.GET_SECTOR_SIZE: + c.Set(t.CUInt16T(buff, t.CPtr), 512) + return types.DRESULT.RES_OK + case types.GET_BLOCK_SIZE: + c.Set(t.CUInt32T(buff, t.CPtr), 1) + return types.DRESULT.RES_OK + case types.CTRL_SYNC: + return types.DRESULT.RES_OK + case _: + return types.DRESULT.RES_PARERR diff --git a/Test/Kernel/drivers/fs/fat32/fat32_file.vp b/Test/Kernel/drivers/fs/fat32/fat32_file.vp new file mode 100644 index 0000000..49f8bd9 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_file.vp @@ -0,0 +1,17 @@ +from stdint import * +import fat32_types as types +import t, c + + +handle_table = types.handle_table +lock_table = types.lock_table +handles_initialized = types.handles_initialized +handles_init = types.handles_init +handle_alloc = types.handle_alloc +lock_check = types.lock_check +lock_acquire = types.lock_acquire +lock_release = types.lock_release + +def handle_free(fp): + fp.is_open = 0 + fp.lock_count = 0 diff --git a/Test/Kernel/drivers/fs/fat32/fat32_mkfs.vp b/Test/Kernel/drivers/fs/fat32/fat32_mkfs.vp new file mode 100644 index 0000000..e34b950 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_mkfs.vp @@ -0,0 +1,143 @@ +from stdint import * +import fat32_types as types +import fat32_diskio as diskio +import fat32_time as ftime +import string +import t, c + + +def _div_round_up(a: t.CUInt64T, b: t.CUInt64T) -> t.CUInt64T: + return (a + b - 1) / b + +def _calc_fat_size(total_sectors: t.CUInt64T, reserved: t.CUInt32T, sec_per_clus: t.CUInt8T, num_fats: t.CUInt8T) -> t.CUInt32T: + tmp: t.CUInt64T = total_sectors - t.CUInt64T(reserved) + fat_sz: t.CUInt32T = 1 + while True: + data_sectors: t.CUInt64T = tmp - t.CUInt64T(fat_sz) * t.CUInt64T(num_fats) + total_clusters: t.CUInt32T = t.CUInt32T(data_sectors / t.CUInt64T(sec_per_clus)) + needed: t.CUInt64T = _div_round_up(t.CUInt64T(total_clusters) * 4, 512) + if needed <= t.CUInt64T(fat_sz): break + fat_sz = t.CUInt32T(needed) + return fat_sz + +def _write_boot_sector(pdrv: t.CUInt8T, total_sectors: t.CUInt64T, sec_per_clus: t.CUInt8T, vol_id: t.CUInt32T, fat_sz: t.CUInt32T) -> types.DRESULT: + buf: t.CArray[t.CUInt8T, 512] + string.memset(c.Addr(buf[0]), 0, 512) + buf[0] = 0xEB; buf[1] = 0x58; buf[2] = 0x90 + buf[3] = 'M'; buf[4] = 'S'; buf[5] = 'W'; buf[6] = 'I'; buf[7] = 'N' + buf[8] = '4'; buf[9] = '.'; buf[10] = '1' + types._write16(c.Addr(buf[0]), 11, 512) + buf[13] = sec_per_clus + types._write16(c.Addr(buf[0]), 14, 32) + buf[16] = 2 + types._write16(c.Addr(buf[0]), 17, 0) + buf[21] = 0xF8 + types._write16(c.Addr(buf[0]), 22, 0) + types._write16(c.Addr(buf[0]), 24, 63) + types._write16(c.Addr(buf[0]), 26, 255) + types._write32(c.Addr(buf[0]), 28, 0) + types._write32(c.Addr(buf[0]), 32, t.CUInt32T(total_sectors)) + types._write32(c.Addr(buf[0]), 36, fat_sz) + types._write16(c.Addr(buf[0]), 40, 0) + types._write16(c.Addr(buf[0]), 42, 0) + types._write32(c.Addr(buf[0]), 44, 2) + types._write16(c.Addr(buf[0]), 48, 1) + types._write16(c.Addr(buf[0]), 50, 6) + buf[64] = 0x80 + buf[66] = 0x29 + types._write32(c.Addr(buf[0]), 67, vol_id) + vol_label: t.CArray[t.CChar, 11] + vol_label[0] = 'N'; vol_label[1] = 'O'; vol_label[2] = ' '; vol_label[3] = ' ' + vol_label[4] = ' '; vol_label[5] = ' '; vol_label[6] = ' '; vol_label[7] = ' ' + vol_label[8] = ' '; vol_label[9] = ' '; vol_label[10] = ' ' + i: t.CInt + for i in range(11): buf[71 + i] = t.CUInt8T(vol_label[i]) + buf[82] = 'F'; buf[83] = 'A'; buf[84] = 'T'; buf[85] = '3' + buf[86] = '2'; buf[87] = ' '; buf[88] = ' '; buf[89] = ' ' + buf[510] = 0x55; buf[511] = 0xAA + return diskio.write(pdrv, c.Addr(buf[0]), 0, 1) + +def _write_fsinfo(pdrv: t.CUInt8T, free_count: t.CUInt32T, next_free: t.CUInt32T) -> types.DRESULT: + buf: t.CArray[t.CUInt8T, 512] + string.memset(c.Addr(buf[0]), 0, 512) + types._write32(c.Addr(buf[0]), 0, 0x41615252) + types._write32(c.Addr(buf[0]), 484, 0x61417272) + types._write32(c.Addr(buf[0]), 488, free_count) + types._write32(c.Addr(buf[0]), 492, next_free) + types._write32(c.Addr(buf[0]), 508, 0xAA550000) + return diskio.write(pdrv, c.Addr(buf[0]), 1, 1) + +def _init_fat(pdrv: t.CUInt8T, fat_start: t.CUInt64T, fat_sz: t.CUInt32T, root_cluster: t.CUInt32T) -> types.DRESULT: + buf: t.CArray[t.CUInt8T, 512] + string.memset(c.Addr(buf[0]), 0, 512) + types._write32(c.Addr(buf[0]), 0, 0x0FFFFFF8) + types._write32(c.Addr(buf[0]), 4, 0x0FFFFFFF) + types._write32(c.Addr(buf[0]), 8, 0x0FFFFFFF) + if root_cluster >= 2: + cluster_off: t.CUInt32T = root_cluster * 4 + sector_off: t.CUInt32T = cluster_off / 512 + byte_off: t.CUInt32T = cluster_off % 512 + if sector_off == 0: + types._write32(c.Addr(buf[0]), byte_off, 0x0FFFFFFF) + res: types.DRESULT = diskio.write(pdrv, c.Addr(buf[0]), t.CUInt32T(fat_start), 1) + if res != types.DRESULT.RES_OK: return res + string.memset(c.Addr(buf[0]), 0, 512) + s: t.CUInt32T + for s in range(1, fat_sz): + res2: types.DRESULT = diskio.write(pdrv, c.Addr(buf[0]), t.CUInt32T(fat_start) + s, 1) + if res2 != types.DRESULT.RES_OK: return res2 + return types.DRESULT.RES_OK + +def _init_root_dir(pdrv: t.CUInt8T, root_sector: t.CUInt64T, sec_per_clus: t.CUInt8T) -> types.DRESULT: + buf: t.CArray[t.CUInt8T, 512] + string.memset(c.Addr(buf[0]), 0, 512) + s: t.CUInt8T + for s in range(sec_per_clus): + res: types.DRESULT = diskio.write(pdrv, c.Addr(buf[0]), t.CUInt32T(root_sector + t.CUInt64T(s)), 1) + if res != types.DRESULT.RES_OK: return res + return types.DRESULT.RES_OK + +def _calc_sec_per_clus(total_sectors: t.CUInt64T) -> t.CUInt8T: + ts: t.CUInt64T = total_sectors + if ts < 532480: return 1 + elif ts < 16777216: return 8 + elif ts < 33554432: return 16 + elif ts < 67108864: return 32 + else: return 64 + +def mkfs(pdrv: t.CUInt8T, sec_per_clus: t.CUInt8T, vol_id: t.CUInt32T) -> types.FRESULT: + if pdrv != types.DEV_DISK: return types.FRESULT.FR_INVALID_DRIVE + total_sectors_buf: t.CUInt32T = 0 + diskio.ioctl(pdrv, types.GET_SECTOR_COUNT, c.Addr(total_sectors_buf)) + total_sectors: t.CUInt64T = t.CUInt64T(total_sectors_buf) + if total_sectors < 65536: return types.FRESULT.FR_MKFS_ABORTED + if sec_per_clus == 0: sec_per_clus = _calc_sec_per_clus(total_sectors) + if sec_per_clus != 1 and sec_per_clus != 2 and sec_per_clus != 4 and sec_per_clus != 8 and sec_per_clus != 16 and sec_per_clus != 32 and sec_per_clus != 64 and sec_per_clus != 128: + return types.FRESULT.FR_INVALID_PARAMETER + if vol_id == 0: vol_id = ftime.get_fattime() + reserved: t.CUInt32T = 32 + num_fats: t.CUInt8T = 2 + fat_sz: t.CUInt32T = _calc_fat_size(total_sectors, reserved, sec_per_clus, num_fats) + data_sectors: t.CUInt64T = total_sectors - t.CUInt64T(reserved) - t.CUInt64T(fat_sz) * t.CUInt64T(num_fats) + total_clusters: t.CUInt32T = t.CUInt32T(data_sectors / t.CUInt64T(sec_per_clus)) + free_count: t.CUInt32T = total_clusters - 1 + res: types.DRESULT = _write_boot_sector(pdrv, total_sectors, sec_per_clus, vol_id, fat_sz) + if res != types.DRESULT.RES_OK: return types.FRESULT.FR_DISK_ERR + res2: types.DRESULT = _write_fsinfo(pdrv, free_count, 3) + if res2 != types.DRESULT.RES_OK: return types.FRESULT.FR_DISK_ERR + boot_backup: t.CArray[t.CUInt8T, 512] + diskio.read(pdrv, c.Addr(boot_backup[0]), 0, 1) + diskio.write(pdrv, c.Addr(boot_backup[0]), 6, 1) + fsinfo_backup: t.CArray[t.CUInt8T, 512] + diskio.read(pdrv, c.Addr(fsinfo_backup[0]), 1, 1) + diskio.write(pdrv, c.Addr(fsinfo_backup[0]), 7, 1) + fat_start: t.CUInt64T = t.CUInt64T(reserved) + res3: types.DRESULT = _init_fat(pdrv, fat_start, fat_sz, 2) + if res3 != types.DRESULT.RES_OK: return types.FRESULT.FR_DISK_ERR + fat2_start: t.CUInt64T = fat_start + t.CUInt64T(fat_sz) + res4: types.DRESULT = _init_fat(pdrv, fat2_start, fat_sz, 2) + if res4 != types.DRESULT.RES_OK: return types.FRESULT.FR_DISK_ERR + root_sector: t.CUInt64T = fat2_start + t.CUInt64T(fat_sz) + res5: types.DRESULT = _init_root_dir(pdrv, root_sector, sec_per_clus) + if res5 != types.DRESULT.RES_OK: return types.FRESULT.FR_DISK_ERR + return types.FRESULT.FR_OK diff --git a/Test/Kernel/drivers/fs/fat32/fat32_part.vp b/Test/Kernel/drivers/fs/fat32/fat32_part.vp new file mode 100644 index 0000000..611270c --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_part.vp @@ -0,0 +1,147 @@ +from stdint import * +import fat32_types as types +import fat32_diskio as diskio +import string +import t, c + + +MAX_VOLUMES: t.CDefine = 4 +MAX_PARTITIONS: t.CDefine = 4 + +MBR_SIGNATURE: t.CDefine = 0xAA55 +PART_TYPE_FAT32: t.CDefine = 0x0C +PART_TYPE_FAT32_LBA: t.CDefine = 0x0B +PART_TYPE_FAT16: t.CDefine = 0x06 +PART_TYPE_FAT16_LBA: t.CDefine = 0x0E + +class partition_entry: + boot_flag: t.CUInt8T + start_chs: t.CArray[t.CUInt8T, 3] + part_type: t.CUInt8T + end_chs: t.CArray[t.CUInt8T, 3] + start_lba: t.CUInt32T + total_sectors: t.CUInt32T + +drive_pdrv: t.CArray[t.CUInt8T, MAX_VOLUMES] +drive_num_parts: t.CArray[t.CInt, MAX_VOLUMES] +drive_letter_map: t.CArray[t.CChar, MAX_VOLUMES] +volume_mounted: t.CArray[t.CInt, MAX_VOLUMES] +part_types: t.CArray[t.CUInt8T, MAX_VOLUMES * MAX_PARTITIONS] +part_start_lbas: t.CArray[t.CUInt64T, MAX_VOLUMES * MAX_PARTITIONS] +part_totals: t.CArray[t.CUInt64T, MAX_VOLUMES * MAX_PARTITIONS] +part_is_fat32: t.CArray[t.CInt, MAX_VOLUMES * MAX_PARTITIONS] + +num_drives: t.CInt = 0 + +def _init(): + if num_drives > 0: return + i: t.CInt + for i in range(MAX_VOLUMES): + drive_letter_map[i] = 0 + volume_mounted[i] = 0 + drive_pdrv[i] = 0 + drive_num_parts[i] = 0 + j: t.CInt + for j in range(MAX_VOLUMES * MAX_PARTITIONS): + part_types[j] = 0 + part_start_lbas[j] = 0 + part_totals[j] = 0 + part_is_fat32[j] = 0 + +def _part_idx(drive: t.CInt, part: t.CInt) -> t.CInt: + return drive * MAX_PARTITIONS + part + +def parse_mbr(pdrv: t.CUInt8T, drive_idx: t.CInt) -> types.FRESULT: + buf: t.CArray[t.CUInt8T, 512] + res: types.DRESULT = diskio.read(pdrv, c.Addr(buf[0]), 0, 1) + if res != types.DRESULT.RES_OK: return types.FRESULT.FR_DISK_ERR + if buf[0] == 0xEB or buf[0] == 0xE9: + return types.FRESULT.FR_NO_FILESYSTEM + sig: t.CUInt16T = t.CUInt16T(buf[510]) | (t.CUInt16T(buf[511]) << 8) + if sig != MBR_SIGNATURE: return types.FRESULT.FR_NO_FILESYSTEM + drive_pdrv[drive_idx] = pdrv + drive_num_parts[drive_idx] = 0 + i: t.CInt + for i in range(4): + base: t.CUInt32T = 446 + t.CUInt32T(i * 16) + ptype: t.CUInt8T = buf[base + 4] + slba: t.CUInt32T = t.CUInt32T(buf[base + 8]) | (t.CUInt32T(buf[base + 9]) << 8) | (t.CUInt32T(buf[base + 10]) << 16) | (t.CUInt32T(buf[base + 11]) << 24) + tsec: t.CUInt32T = t.CUInt32T(buf[base + 12]) | (t.CUInt32T(buf[base + 13]) << 8) | (t.CUInt32T(buf[base + 14]) << 16) | (t.CUInt32T(buf[base + 15]) << 24) + if ptype != 0 and tsec > 0: + pi: t.CInt = drive_num_parts[drive_idx] + if pi < MAX_PARTITIONS: + pidx: t.CInt = _part_idx(drive_idx, pi) + part_types[pidx] = ptype + part_start_lbas[pidx] = t.CUInt64T(slba) + part_totals[pidx] = t.CUInt64T(tsec) + part_is_fat32[pidx] = 1 if (ptype == PART_TYPE_FAT32 or ptype == PART_TYPE_FAT32_LBA) else 0 + drive_num_parts[drive_idx] = pi + 1 + return types.FRESULT.FR_OK + +def scan_drives() -> types.FRESULT: + _init() + global num_drives + num_drives = 0 + pdrv: t.CUInt8T + for pdrv in range(MAX_VOLUMES): + res: types.DRESULT = diskio.init(pdrv) + if res != types.DRESULT.RES_OK: continue + res2: types.FRESULT = parse_mbr(pdrv, num_drives) + if res2 == types.FRESULT.FR_OK and drive_num_parts[num_drives] > 0: + drive_letter_map[num_drives] = t.CChar(ord('C') + num_drives) + else: + drive_pdrv[num_drives] = pdrv + drive_num_parts[num_drives] = 1 + pidx: t.CInt = _part_idx(num_drives, 0) + part_types[pidx] = PART_TYPE_FAT32_LBA + part_start_lbas[pidx] = 0 + part_totals[pidx] = 0 + part_is_fat32[pidx] = 1 + drive_letter_map[num_drives] = t.CChar(ord('C') + num_drives) + num_drives = num_drives + 1 + if num_drives >= MAX_VOLUMES: break + return types.FRESULT.FR_OK + +def get_drive(letter: t.CChar) -> t.CInt: + _init() + i: t.CInt + for i in range(num_drives): + if drive_letter_map[i] == letter or drive_letter_map[i] == (letter - 32) or drive_letter_map[i] == (letter + 32): + return i + return -1 + +def get_pdrv(letter: t.CChar) -> t.CUInt8T: + idx: t.CInt = get_drive(letter) + if idx < 0: return 0 + return drive_pdrv[idx] + +def get_partition_start(letter: t.CChar, part_idx: t.CInt) -> t.CUInt64T: + idx: t.CInt = get_drive(letter) + if idx < 0: return 0 + if part_idx >= drive_num_parts[idx]: return 0 + pidx: t.CInt = _part_idx(idx, part_idx) + return part_start_lbas[pidx] + +def get_partition_count(letter: t.CChar) -> t.CInt: + idx: t.CInt = get_drive(letter) + if idx < 0: return 0 + return drive_num_parts[idx] + +def is_partition_fat32(letter: t.CChar, part_idx: t.CInt) -> t.CInt: + idx: t.CInt = get_drive(letter) + if idx < 0: return 0 + if part_idx >= drive_num_parts[idx]: return 0 + pidx: t.CInt = _part_idx(idx, part_idx) + return part_is_fat32[pidx] + +def get_drive_count() -> t.CInt: + return num_drives + +def get_drive_letter(idx: t.CInt) -> t.CChar: + if idx < 0 or idx >= num_drives: return 0 + return drive_letter_map[idx] + +def set_drive_letter(idx: t.CInt, letter: t.CChar) -> types.FRESULT: + if idx < 0 or idx >= num_drives: return types.FRESULT.FR_INVALID_PARAMETER + drive_letter_map[idx] = letter + return types.FRESULT.FR_OK diff --git a/Test/Kernel/drivers/fs/fat32/fat32_time.vp b/Test/Kernel/drivers/fs/fat32/fat32_time.vp new file mode 100644 index 0000000..30e1e7a --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_time.vp @@ -0,0 +1,64 @@ +from stdint import * +import t, c +import asm + + +rtc_cmos_addr: t.CUInt16T = 0x70 +rtc_cmos_data: t.CUInt16T = 0x71 + +def cmos_read(reg: t.CUInt8T) -> t.CUInt8T: + asm.outb(rtc_cmos_addr, reg) + return asm.inb(rtc_cmos_data) + +def bcd_to_bin(bcd: t.CUInt8T) -> t.CUInt8T: + return (bcd >> 4) * 10 + (bcd & 0x0F) + +def get_rtc_time() -> t.CUInt32T: + while cmos_read(0x0A) & 0x80: pass + sec: t.CUInt8T = cmos_read(0x00) + min_: t.CUInt8T = cmos_read(0x02) + hour: t.CUInt8T = cmos_read(0x04) + day: t.CUInt8T = cmos_read(0x07) + mon: t.CUInt8T = cmos_read(0x08) + year: t.CUInt8T = cmos_read(0x09) + reg_b: t.CUInt8T = cmos_read(0x0B) + if not (reg_b & 0x04): + sec = bcd_to_bin(sec) + min_ = bcd_to_bin(min_) + hour = bcd_to_bin(hour) + day = bcd_to_bin(day) + mon = bcd_to_bin(mon) + year = bcd_to_bin(year) + fat_year: t.CUInt16T = t.CUInt16T(year) + 2000 - 1980 + if fat_year > 127: fat_year = 127 + fat_date: t.CUInt16T = (fat_year << 9) | (t.CUInt16T(mon) << 5) | t.CUInt16T(day) + fat_time: t.CUInt16T = (t.CUInt16T(hour) << 11) | (t.CUInt16T(min_) << 5) | (t.CUInt16T(sec) / 2) + return (t.CUInt32T(fat_date) << 16) | t.CUInt32T(fat_time) + +def get_fattime() -> t.CUInt32T: + return get_rtc_time() + +def to_year(ft: t.CUInt32T) -> t.CUInt16T: + return t.CUInt16T((ft >> 25) & 0x7F) + 1980 + +def to_month(ft: t.CUInt32T) -> t.CUInt8T: + return t.CUInt8T((ft >> 21) & 0x0F) + +def to_day(ft: t.CUInt32T) -> t.CUInt8T: + return t.CUInt8T((ft >> 16) & 0x1F) + +def to_hour(ft: t.CUInt32T) -> t.CUInt8T: + return t.CUInt8T((ft >> 11) & 0x1F) + +def to_minute(ft: t.CUInt32T) -> t.CUInt8T: + return t.CUInt8T((ft >> 5) & 0x3F) + +def to_second(ft: t.CUInt32T) -> t.CUInt8T: + return t.CUInt8T((ft & 0x1F) * 2) + +def make(year: t.CUInt16T, month: t.CUInt8T, day: t.CUInt8T, hour: t.CUInt8T, minute: t.CUInt8T, second: t.CUInt8T) -> t.CUInt32T: + fat_year: t.CUInt16T = year - 1980 + if fat_year > 127: fat_year = 127 + fat_date: t.CUInt16T = (fat_year << 9) | (t.CUInt16T(month) << 5) | t.CUInt16T(day) + fat_time: t.CUInt16T = (t.CUInt16T(hour) << 11) | (t.CUInt16T(minute) << 5) | (t.CUInt16T(second) / 2) + return (t.CUInt32T(fat_date) << 16) | t.CUInt32T(fat_time) diff --git a/Test/Kernel/drivers/fs/fat32/fat32_types.vp b/Test/Kernel/drivers/fs/fat32/fat32_types.vp new file mode 100644 index 0000000..b2a8788 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fat32_types.vp @@ -0,0 +1,1698 @@ +from stdint import * +import t, c +import spinlock +import string +import fat32_diskio as diskio +import fat32_time as ftime + + +def _read32(buf: t.CUInt8T | t.CPtr, off: t.CUInt32T) -> t.CUInt32T: + return t.CUInt32T(buf[off]) | (t.CUInt32T(buf[off + 1]) << 8) | (t.CUInt32T(buf[off + 2]) << 16) | (t.CUInt32T(buf[off + 3]) << 24) + +def _read16(buf: t.CUInt8T | t.CPtr, off: t.CUInt32T) -> t.CUInt16T: + return t.CUInt16T(buf[off]) | (t.CUInt16T(buf[off + 1]) << 8) + +def _write32(buf: t.CUInt8T | t.CPtr, off: t.CUInt32T, val: t.CUInt32T): + buf[off + 0] = t.CUInt8T(val & 0xFF) + buf[off + 1] = t.CUInt8T((val >> 8) & 0xFF) + buf[off + 2] = t.CUInt8T((val >> 16) & 0xFF) + buf[off + 3] = t.CUInt8T((val >> 24) & 0xFF) + +def _write16(buf: t.CUInt8T | t.CPtr, off: t.CUInt32T, val: t.CUInt16T): + buf[off + 0] = t.CUInt8T(val & 0xFF) + buf[off + 1] = t.CUInt8T((val >> 8) & 0xFF) + + +SECTOR_SIZE: t.CDefine = 512 +ENTRY_SIZE: t.CDefine = 32 +CLUSTER_FREE: t.CDefine = 0x00000000 +CLUSTER_EOC_MIN: t.CDefine = 0x0FFFFFF8 +CLUSTER_EOC_MAX: t.CDefine = 0x0FFFFFFF +CLUSTER_BAD: t.CDefine = 0x0FFFFFF7 +CLUSTER_ROOT: t.CDefine = 0x00000002 +FAT_MASK: t.CDefine = 0x0FFFFFFF +FAT_RESERVED: t.CDefine = 0xF0000000 + +MAX_LFN: t.CDefine = 255 +LFN_ENTRY_CHARS: t.CDefine = 13 +LFN_ATTR: t.CDefine = 0x0F +LFN_FLAG_LAST: t.CDefine = 0x40 +SFN_NAME_LEN: t.CDefine = 8 +SFN_EXT_LEN: t.CDefine = 3 +SFN_DELETED: t.CDefine = 0xE5 +SFN_DOT: t.CDefine = 0x05 +SFN_FREE: t.CDefine = 0x00 + +MAX_HANDLES: t.CDefine = 32 +MAX_LOCKS: t.CDefine = 32 +PATH_MAX: t.CDefine = 260 +NAME_MAX: t.CDefine = 255 +DEPTH_MAX: t.CDefine = 32 + +FA_READ: t.CDefine = 0x01 +FA_WRITE: t.CDefine = 0x02 +FA_OPEN_EXISTING: t.CDefine = 0x00 +FA_CREATE_NEW: t.CDefine = 0x04 +FA_CREATE_ALWAYS: t.CDefine = 0x08 +FA_OPEN_ALWAYS: t.CDefine = 0x10 +FA_OPEN_APPEND: t.CDefine = 0x30 +FA_READ_MASK: t.CDefine = 0x0F + +AM_RDO: t.CDefine = 0x01 +AM_HID: t.CDefine = 0x02 +AM_SYS: t.CDefine = 0x04 +AM_VOL: t.CDefine = 0x08 +AM_DIR: t.CDefine = 0x10 +AM_ARC: t.CDefine = 0x20 +AM_LFN: t.CDefine = 0x0F +AM_ANY: t.CDefine = 0x3F + +FS_FAT32: t.CDefine = 3 + +CTRL_SYNC: t.CDefine = 0 +GET_SECTOR_COUNT: t.CDefine = 1 +GET_SECTOR_SIZE: t.CDefine = 2 +GET_BLOCK_SIZE: t.CDefine = 3 +CTRL_TRIM: t.CDefine = 4 + +STA_NOINIT: t.CDefine = 0x01 +STA_NODISK: t.CDefine = 0x02 +STA_PROTECT: t.CDefine = 0x04 + +DEV_DISK: t.CDefine = 0 + +ENTRIES_PER_SECTOR: t.CDefine = 512 / 32 + + +class FRESULT(t.CEnum): + FR_OK: t.State = 0 + FR_DISK_ERR: t.State + FR_INT_ERR: t.State + FR_NOT_READY: t.State + FR_NO_FILE: t.State + FR_NO_PATH: t.State + FR_INVALID_NAME: t.State + FR_DENIED: t.State + FR_EXIST: t.State + FR_INVALID_OBJECT: t.State + FR_WRITE_PROTECTED: t.State + FR_INVALID_DRIVE: t.State + FR_NOT_ENABLED: t.State + FR_NO_FILESYSTEM: t.State + FR_MKFS_ABORTED: t.State + FR_TIMEOUT: t.State + FR_LOCKED: t.State + FR_NOT_ENOUGH_CORE: t.State + FR_TOO_MANY_OPEN_FILES: t.State + FR_INVALID_PARAMETER: t.State + +class DRESULT(t.CEnum): + RES_OK: t.State = 0 + RES_ERROR: t.State + RES_WRPRT: t.State + RES_NOTRDY: t.State + RES_PARERR: t.State + + +@c.Attribute(t.attr.packed) +class bpb: + BS_jmpBoot: t.CArray[t.CUInt8T, 3] + BS_OEMName: t.CArray[t.CChar, 8] + BPB_BytsPerSec: t.CUInt16T + BPB_SecPerClus: t.CUInt8T + BPB_RsvdSecCnt: t.CUInt16T + BPB_NumFATs: t.CUInt8T + BPB_RootEntCnt: t.CUInt16T + BPB_TotSec16: t.CUInt16T + BPB_Media: t.CUInt8T + BPB_FATSz16: t.CUInt16T + BPB_SecPerTrk: t.CUInt16T + BPB_NumHeads: t.CUInt16T + BPB_HiddSec: t.CUInt32T + BPB_TotSec32: t.CUInt32T + BPB_FATSz32: t.CUInt32T + BPB_ExtFlags: t.CUInt16T + BPB_FSVer: t.CUInt16T + BPB_RootClus: t.CUInt32T + BPB_FSInfo: t.CUInt16T + BPB_BkBootSec: t.CUInt16T + BPB_Reserved: t.CArray[t.CUInt8T, 12] + BS_DrvNum: t.CUInt8T + BS_Reserved1: t.CUInt8T + BS_BootSig: t.CUInt8T + BS_VolID: t.CUInt32T + BS_VolLab: t.CArray[t.CChar, 11] + BS_FilSysType: t.CArray[t.CChar, 8] + +@c.Attribute(t.attr.packed) +class fsinfo: + FSI_LeadSig: t.CUInt32T + FSI_Reserved1: t.CArray[t.CUInt8T, 480] + FSI_StrucSig: t.CUInt32T + FSI_Free_Count: t.CUInt32T + FSI_Nxt_Free: t.CUInt32T + FSI_Reserved2: t.CArray[t.CUInt8T, 12] + FSI_TrailSig: t.CUInt32T + +@c.Attribute(t.attr.packed) +class dirent: + DIR_Name: t.CArray[t.CChar, 11] + DIR_Attr: t.CUInt8T + DIR_NTRes: t.CUInt8T + DIR_CrtTimeTenth: t.CUInt8T + DIR_CrtTime: t.CUInt16T + DIR_CrtDate: t.CUInt16T + DIR_LstAccDate: t.CUInt16T + DIR_FstClusHI: t.CUInt16T + DIR_WrtTime: t.CUInt16T + DIR_WrtDate: t.CUInt16T + DIR_FstClusLO: t.CUInt16T + DIR_FileSize: t.CUInt32T + +@c.Attribute(t.attr.packed) +class lfn_entry: + LDIR_Ord: t.CUInt8T + LDIR_Name1: t.CArray[t.CUInt16T, 5] + LDIR_Attr: t.CUInt8T + LDIR_Type: t.CUInt8T + LDIR_Chksum: t.CUInt8T + LDIR_Name2: t.CArray[t.CUInt16T, 6] + LDIR_FstClusLO: t.CUInt16T + LDIR_Name3: t.CArray[t.CUInt16T, 2] + + +def sfn_checksum(name: t.CConst | t.CChar | t.CPtr) -> t.CUInt8T: + sum: t.CUInt8T = 0 + i: t.CInt + for i in range(11): + sum = ((sum & 1) << 7) + (sum >> 1) + name[i] + return sum + +def uni2oem_placeholder(uni: t.CUInt16T, cp: t.CUInt16T) -> t.CUInt16T: + if uni < 0x80: return uni + return t.CUInt16T(0x003F) + +def lfn_get_char(entry_bytes: t.CUInt8T | t.CPtr, idx: t.CInt) -> t.CUInt16T: + if idx < 5: + off: t.CInt = 1 + idx * 2 + elif idx < 11: + off = 14 + (idx - 5) * 2 + else: + off = 28 + (idx - 11) * 2 + lo: t.CUInt8T = c.Deref(t.CUInt8T(t.CUInt64T(entry_bytes) + off, t.CPtr)) + hi: t.CUInt8T = c.Deref(t.CUInt8T(t.CUInt64T(entry_bytes) + off + 1, t.CPtr)) + return t.CUInt16T(lo) | t.CUInt16T(t.CUInt16T(hi) << 8) + +def lfn_set_char(entry_bytes: t.CUInt8T | t.CPtr, idx: t.CInt, ch: t.CUInt16T): + if idx < 5: + off: t.CInt = 1 + idx * 2 + elif idx < 11: + off = 14 + (idx - 5) * 2 + else: + off = 28 + (idx - 11) * 2 + c.Set(t.CUInt8T(t.CUInt64T(entry_bytes) + off, t.CPtr), t.CUInt8T(ch & 0xFF)) + c.Set(t.CUInt8T(t.CUInt64T(entry_bytes) + off + 1, t.CPtr), t.CUInt8T(ch >> 8)) + +def lfn_extract(entry_bytes: t.CUInt8T | t.CPtr, lfn: t.CUInt16T | t.CPtr, ord_val: t.CUInt8T) -> t.CInt: + seq: t.CInt = (ord_val & 0x3F) - 1 + base: t.CInt = seq * LFN_ENTRY_CHARS + i: t.CInt + for i in range(LFN_ENTRY_CHARS): + ch: t.CUInt16T = lfn_get_char(entry_bytes, i) + if ch == 0x0000 or ch == 0xFFFF: + c.Set(t.CUInt16T(t.CUInt64T(lfn) + (base + i) * 2, t.CPtr), 0) + return base + i + c.Set(t.CUInt16T(t.CUInt64T(lfn) + (base + i) * 2, t.CPtr), ch) + if ord_val & LFN_FLAG_LAST: + c.Set(t.CUInt16T(t.CUInt64T(lfn) + (base + LFN_ENTRY_CHARS) * 2, t.CPtr), 0) + return base + LFN_ENTRY_CHARS + +def sfn_from_lfn(lfn: t.CConst | t.CChar | t.CPtr, sfn: t.CChar | t.CPtr): + string.memset(sfn, 0x20, 11) + if c.Deref(lfn) == '.' and c.Deref(lfn + 1) == 0: + sfn[0] = '.'; sfn[11] = 0; return + if c.Deref(lfn) == '.' and c.Deref(lfn + 1) == '.' and c.Deref(lfn + 2) == 0: + sfn[0] = '.'; sfn[1] = '.'; sfn[11] = 0; return + si: t.CInt = 0 + dot_pos: t.CInt = -1 + i: t.CInt = 0 + ext_i: t.CInt = 0 + for ch in lfn: + if ch == '.': + dot_pos = si; si += 1; ext_i = 0; continue + uc: t.CChar + if ch >= 'a' and ch <= 'z': uc = ch - 32 + elif ch == ' ': uc = '_' + elif ch == '+' or ch == ',' or ch == ';' or ch == '=' or ch == '[' or ch == ']': uc = '_' + else: uc = ch + if dot_pos < 0: + if i < 8: sfn[i] = uc; i += 1 + else: + if ext_i < 3: sfn[8 + ext_i] = uc; ext_i += 1 + si += 1 + sfn[11] = 0 + +def sfn_to_str(sfn: t.CConst | t.CChar | t.CPtr, out: t.CChar | t.CPtr): + i: t.CInt = 0 + j: t.CInt = 0 + for i in range(8): + if sfn[i] == 0x20: break + if sfn[i] == 0x05: out[j] = 0xE5 + else: out[j] = sfn[i] + j += 1 + if sfn[8] != 0x20: + out[j] = '.'; j += 1 + for i in range(8, 11): + if sfn[i] == 0x20: break + out[j] = sfn[i]; j += 1 + out[j] = 0 + +def _split_path(path: t.CConst | t.CChar | t.CPtr, parent_out: t.CChar | t.CPtr, name_out: t.CChar | t.CPtr): + pi: t.CInt = 0; last_sep: t.CInt = -1 + for ch in path: + parent_out[pi] = ch + if ch == '/' or ch == '\\': last_sep = pi + pi += 1 + parent_out[pi] = 0 + if last_sep >= 0: + fi: t.CInt + for fi in range(last_sep + 1, pi): name_out[fi - last_sep - 1] = path[fi] + name_out[pi - last_sep - 1] = 0 + parent_out[last_sep] = 0 + else: + fi2: t.CInt + for fi2 in range(pi): name_out[fi2] = path[fi2] + name_out[pi] = 0 + parent_out[0] = '/'; parent_out[1] = 0 + + +class fileinfo: + file_size: t.CUInt32T = 0 + attr: t.CUInt8T = 0 + ctime: t.CUInt16T = 0 + cdate: t.CUInt16T = 0 + mtime: t.CUInt16T = 0 + mdate: t.CUInt16T = 0 + adate: t.CUInt16T = 0 + fname: t.CArray[t.CChar, 256] + altname: t.CArray[t.CChar, 13] + +class filelock: + cluster: t.CUInt32T = 0 + dir_sector: t.CUInt64T = 0 + dir_offset: t.CUInt32T = 0 + in_use: t.CInt = 0 + shared_count: t.CInt = 0 + exclusive: t.CInt = 0 + + +@t.Object +class volinfo: + lock: spinlock._spinlock + mounted: t.CInt = 0 + pdrv: t.CUInt8T = 0 + sector_size: t.CUInt16T = 512 + cluster_size: t.CUInt32T = 0 + cluster_sectors: t.CUInt8T = 0 + fat_start: t.CUInt64T = 0 + fat_size: t.CUInt32T = 0 + data_start: t.CUInt64T = 0 + root_cluster: t.CUInt32T = 2 + total_sectors: t.CUInt64T = 0 + total_clusters: t.CUInt32T = 0 + free_clusters: t.CUInt32T = 4294967295 + last_alloc: t.CUInt32T = 2 + fsinfo_sector: t.CUInt16T = 0 + backup_sector: t.CUInt16T = 6 + vol_id: t.CUInt32T = 0 + vol_label: t.CArray[t.CChar, 12] + num_fats: t.CUInt8T = 2 + reserved_sectors: t.CUInt16T = 0 + hidden_sectors: t.CUInt32T = 0 + winsect: t.CUInt64T = 0xFFFFFFFFFFFFFFFF + win_dirty: t.CInt = 0 + win: t.CArray[t.CUInt8T, 512] + fat_winsect: t.CUInt64T = 0xFFFFFFFFFFFFFFFF + fat_win_dirty: t.CInt = 0 + fat_win: t.CArray[t.CUInt8T, 512] + metadata: t.CUInt32T = 0 + last_error: t.CUInt32T = 0 + + def win_read(self, sector: t.CUInt64T) -> FRESULT: + if self.winsect == sector: return FRESULT.FR_OK + if self.win_dirty: + res: FRESULT = self.win_flush() + if res != FRESULT.FR_OK: return res + abs_sector: t.CUInt64T = sector + t.CUInt64T(self.hidden_sectors) + self.lock.lock() + win_addr: t.CPtr = c.Addr(self.win[0]) + res2: DRESULT = diskio.read(self.pdrv, win_addr, t.CUInt32T(abs_sector), 1) + self.lock.unlock() + if res2 != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + self.winsect = sector + return FRESULT.FR_OK + + def win_flush(self) -> FRESULT: + if not self.win_dirty: return FRESULT.FR_OK + abs_sector: t.CUInt64T = self.winsect + t.CUInt64T(self.hidden_sectors) + self.lock.lock() + res: DRESULT = diskio.write(self.pdrv, c.Addr(self.win[0]), t.CUInt32T(abs_sector), 1) + self.lock.unlock() + if res != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + self.win_dirty = 0 + return FRESULT.FR_OK + + def fat_win_read(self, sector: t.CUInt64T) -> FRESULT: + if self.fat_winsect == sector: return FRESULT.FR_OK + if self.fat_win_dirty: + res: FRESULT = self.fat_win_flush() + if res != FRESULT.FR_OK: return res + abs_sector: t.CUInt64T = sector + t.CUInt64T(self.hidden_sectors) + self.lock.lock() + res2: DRESULT = diskio.read(self.pdrv, c.Addr(self.fat_win[0]), t.CUInt32T(abs_sector), 1) + self.lock.unlock() + if res2 != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + self.fat_winsect = sector + return FRESULT.FR_OK + + def fat_win_flush(self) -> FRESULT: + if not self.fat_win_dirty: return FRESULT.FR_OK + abs_sector: t.CUInt64T = self.fat_winsect + t.CUInt64T(self.hidden_sectors) + self.lock.lock() + res: DRESULT = diskio.write(self.pdrv, c.Addr(self.fat_win[0]), t.CUInt32T(abs_sector), 1) + self.lock.unlock() + if res != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + self.fat_win_dirty = 0 + return FRESULT.FR_OK + + def flush_all(self) -> FRESULT: + res: FRESULT = self.win_flush() + if res != FRESULT.FR_OK: return res + return self.fat_win_flush() + + def fat_read(self, cluster: t.CUInt32T) -> t.CUInt32T: + if cluster < 2 or cluster >= self.total_clusters + 2: return 0 + fat_offset: t.CUInt64T = t.CUInt64T(cluster) * 4 + fat_sector: t.CUInt64T = self.fat_start + (fat_offset / 512) + fat_offset_in_sector: t.CUInt32T = t.CUInt32T(fat_offset % 512) + res: FRESULT = self.fat_win_read(fat_sector) + if res != FRESULT.FR_OK: return 0 + return _read32(c.Addr(self.fat_win[0]), fat_offset_in_sector) & FAT_MASK + + def fat_write(self, cluster: t.CUInt32T, value: t.CUInt32T) -> FRESULT: + if cluster < 2 or cluster >= self.total_clusters + 2: return FRESULT.FR_INVALID_PARAMETER + fat_offset: t.CUInt64T = t.CUInt64T(cluster) * 4 + fat_sector: t.CUInt64T = self.fat_start + (fat_offset / 512) + fat_offset_in_sector: t.CUInt32T = t.CUInt32T(fat_offset % 512) + res: FRESULT = self.fat_win_read(fat_sector) + if res != FRESULT.FR_OK: return res + old: t.CUInt32T = _read32(c.Addr(self.fat_win[0]), fat_offset_in_sector) + new_val: t.CUInt32T = (old & FAT_RESERVED) | (value & FAT_MASK) + _write32(c.Addr(self.fat_win[0]), fat_offset_in_sector, new_val) + self.fat_win_dirty = 1 + res = self.fat_win_flush() + if res != FRESULT.FR_OK: return res + if self.num_fats >= 2: + mirror_sector: t.CUInt64T = fat_sector + t.CUInt64T(self.fat_size) + res2: FRESULT = self.fat_win_read(mirror_sector) + if res2 != FRESULT.FR_OK: return res2 + mirror_old: t.CUInt32T = _read32(c.Addr(self.fat_win[0]), fat_offset_in_sector) + mirror_new: t.CUInt32T = (mirror_old & FAT_RESERVED) | (value & FAT_MASK) + _write32(c.Addr(self.fat_win[0]), fat_offset_in_sector, mirror_new) + self.fat_win_dirty = 1 + res3: FRESULT = self.fat_win_flush() + if res3 != FRESULT.FR_OK: return res3 + return FRESULT.FR_OK + + def cluster_alloc(self) -> t.CUInt32T: + clust: t.CUInt32T = self.last_alloc + i: t.CUInt32T + for i in range(self.total_clusters): + clust += 1 + if clust >= self.total_clusters + 2: clust = 2 + entry: t.CUInt32T = self.fat_read(clust) + if entry == CLUSTER_FREE: + res: FRESULT = self.fat_write(clust, CLUSTER_EOC_MAX) + if res != FRESULT.FR_OK: return 0 + self.last_alloc = clust + if self.free_clusters != 0xFFFFFFFF: self.free_clusters -= 1 + return clust + return 0 + + def cluster_free_chain(self, start_cluster: t.CUInt32T) -> FRESULT: + if start_cluster < 2: return FRESULT.FR_OK + clust: t.CUInt32T = start_cluster + while clust >= 2 and clust < CLUSTER_EOC_MIN: + next_clust: t.CUInt32T = self.fat_read(clust) + if next_clust == 0: break + res: FRESULT = self.fat_write(clust, CLUSTER_FREE) + if res != FRESULT.FR_OK: return res + if self.free_clusters != 0xFFFFFFFF: self.free_clusters += 1 + clust = next_clust + return FRESULT.FR_OK + + def cluster_extend(self, cluster: t.CUInt32T) -> t.CUInt32T: + new_clust: t.CUInt32T = self.cluster_alloc() + if new_clust == 0: return 0 + if cluster >= 2: + res: FRESULT = self.fat_write(cluster, new_clust) + if res != FRESULT.FR_OK: + self.fat_write(new_clust, CLUSTER_FREE) + return 0 + return new_clust + + def cluster_get_next(self, cluster: t.CUInt32T) -> t.CUInt32T: + if cluster < 2: return 0 + entry: t.CUInt32T = self.fat_read(cluster) + if entry >= CLUSTER_EOC_MIN and entry <= CLUSTER_EOC_MAX: return 0 + if entry == CLUSTER_FREE or entry == CLUSTER_BAD: return 0 + return entry + + def cluster_to_sector(self, cluster: t.CUInt32T) -> t.CUInt64T: + if cluster < 2: return 0 + return self.data_start + t.CUInt64T(cluster - 2) * t.CUInt64T(self.cluster_sectors) + + def entries_per_cluster(self) -> t.CUInt32T: + return t.CUInt32T(self.cluster_sectors) * (512 / ENTRY_SIZE) + + def is_eoc(self, cluster: t.CUInt32T) -> t.CInt: + return 1 if (cluster >= CLUSTER_EOC_MIN and cluster <= CLUSTER_EOC_MAX) else 0 + + def fsinfo_read(self) -> FRESULT: + if self.fsinfo_sector == 0: return FRESULT.FR_OK + res: FRESULT = self.win_read(t.CUInt64T(self.fsinfo_sector)) + if res != FRESULT.FR_OK: return res + lead_sig: t.CUInt32T = _read32(c.Addr(self.win[0]), 0) + struc_sig: t.CUInt32T = _read32(c.Addr(self.win[0]), 484) + trail_sig: t.CUInt32T = _read32(c.Addr(self.win[0]), 508) + if lead_sig != 0x41615252 or struc_sig != 0x61417272 or trail_sig != 0xAA550000: + self.free_clusters = 0xFFFFFFFF + self.last_alloc = 2 + return FRESULT.FR_OK + free_count: t.CUInt32T = _read32(c.Addr(self.win[0]), 488) + nxt_free: t.CUInt32T = _read32(c.Addr(self.win[0]), 492) + if free_count <= self.total_clusters: self.free_clusters = free_count + if nxt_free >= 2 and nxt_free < self.total_clusters + 2: self.last_alloc = nxt_free + return FRESULT.FR_OK + + def fsinfo_write(self) -> FRESULT: + if self.fsinfo_sector == 0: return FRESULT.FR_OK + res: FRESULT = self.win_read(t.CUInt64T(self.fsinfo_sector)) + if res != FRESULT.FR_OK: return res + _write32(c.Addr(self.win[0]), 0, 0x41615252) + _write32(c.Addr(self.win[0]), 484, 0x61417272) + _write32(c.Addr(self.win[0]), 488, self.free_clusters) + _write32(c.Addr(self.win[0]), 492, self.last_alloc) + _write32(c.Addr(self.win[0]), 508, 0xAA550000) + self.win_dirty = 1 + return self.win_flush() + + def count_free_clusters(self) -> t.CUInt32T: + free_cnt: t.CUInt32T = 0 + clust: t.CUInt32T + for clust in range(2, self.total_clusters + 2): + entry: t.CUInt32T = self.fat_read(clust) + if entry == CLUSTER_FREE: free_cnt += 1 + self.free_clusters = free_cnt + return free_cnt + + def mount(self) -> FRESULT: + if self.mounted: return FRESULT.FR_OK + res: DRESULT = diskio.status(self.pdrv) + if res != DRESULT.RES_OK: + res = diskio.init(self.pdrv) + if res != DRESULT.RES_OK: return FRESULT.FR_NOT_READY + res2: FRESULT = self.win_read(0) + if res2 != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + bps: t.CUInt16T = _read16(c.Addr(self.win[0]), 11) + spc: t.CUInt8T = self.win[13] + rsc: t.CUInt16T = _read16(c.Addr(self.win[0]), 14) + nf: t.CUInt8T = self.win[16] + root_ent: t.CUInt16T = _read16(c.Addr(self.win[0]), 17) + fat16sz: t.CUInt16T = _read16(c.Addr(self.win[0]), 22) + tot32: t.CUInt32T = _read32(c.Addr(self.win[0]), 32) + fat32sz: t.CUInt32T = _read32(c.Addr(self.win[0]), 36) + root_clus: t.CUInt32T = _read32(c.Addr(self.win[0]), 44) + sig0: t.CUInt8T = self.win[510] + sig1: t.CUInt8T = self.win[511] + if bps != 512: return FRESULT.FR_NO_FILESYSTEM + if spc == 0 or (spc & (spc - 1)) != 0: return FRESULT.FR_NO_FILESYSTEM + if rsc == 0: return FRESULT.FR_NO_FILESYSTEM + if nf == 0: return FRESULT.FR_NO_FILESYSTEM + if root_ent != 0 or fat16sz != 0: return FRESULT.FR_NO_FILESYSTEM + if fat32sz == 0: return FRESULT.FR_NO_FILESYSTEM + if tot32 == 0: return FRESULT.FR_NO_FILESYSTEM + if sig0 != 0x55 or sig1 != 0xAA: return FRESULT.FR_NO_FILESYSTEM + fsinfo_sec: t.CUInt16T = _read16(c.Addr(self.win[0]), 48) + bkboot_sec: t.CUInt16T = _read16(c.Addr(self.win[0]), 50) + self.sector_size = 512 + self.cluster_sectors = spc + self.cluster_size = t.CUInt32T(spc) * 512 + self.num_fats = nf + self.reserved_sectors = rsc + self.fat_size = fat32sz + self.fat_start = t.CUInt64T(rsc) + self.total_sectors = t.CUInt64T(tot32) + self.root_cluster = root_clus + self.fsinfo_sector = fsinfo_sec + self.backup_sector = bkboot_sec + self.vol_id = _read32(c.Addr(self.win[0]), 67) + data_sectors: t.CUInt64T = self.total_sectors - t.CUInt64T(rsc) - t.CUInt64T(t.CUInt64T(nf) * t.CUInt64T(fat32sz)) + self.total_clusters = t.CUInt32T(data_sectors / t.CUInt64T(spc)) + self.data_start = self.fat_start + t.CUInt64T(t.CUInt64T(nf) * t.CUInt64T(fat32sz)) + self.last_alloc = 2 + self.free_clusters = 0xFFFFFFFF + self.fsinfo_read() + self.mounted = 1 + return FRESULT.FR_OK + + def unmount(self) -> FRESULT: + if not self.mounted: return FRESULT.FR_OK + res: FRESULT = self.flush_all() + if res != FRESULT.FR_OK: return res + self.fsinfo_write() + self.mounted = 0 + self.winsect = 0xFFFFFFFFFFFFFFFF + self.win_dirty = 0 + self.fat_winsect = 0xFFFFFFFFFFFFFFFF + self.fat_win_dirty = 0 + return FRESULT.FR_OK + + def _zero_cluster(self, cluster: t.CUInt32T) -> FRESULT: + sector: t.CUInt64T = self.cluster_to_sector(cluster) + s: t.CUInt32T + for s in range(self.cluster_sectors): + res: FRESULT = self.win_read(sector + t.CUInt64T(s)) + if res != FRESULT.FR_OK: return res + string.memset(c.Addr(self.win[0]), 0, 512) + self.win_dirty = 1 + res2: FRESULT = self.win_flush() + if res2 != FRESULT.FR_OK: return res2 + return FRESULT.FR_OK + + def file_cluster_seek(self, first_cluster: t.CUInt32T, pos: t.CUInt32T) -> t.CUInt32T: + if first_cluster < 2: return 0 + cluster: t.CUInt32T = first_cluster + cluster_num: t.CUInt32T = pos / self.cluster_size + i: t.CUInt32T + for i in range(cluster_num): + next_c: t.CUInt32T = self.cluster_get_next(cluster) + if next_c == 0: return 0 + cluster = next_c + return cluster + + def file_find_last_cluster(self, first_cluster: t.CUInt32T) -> t.CUInt32T: + if first_cluster < 2: return 0 + cluster: t.CUInt32T = first_cluster + while True: + next_c: t.CUInt32T = self.cluster_get_next(cluster) + if next_c == 0: return cluster + cluster = next_c + + def _read_entry_from_dir(self, dp: dirobj | t.CPtr) -> FRESULT: + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + return self.win_read(entry_sector) + + def _write_dirent_now(self, eo: t.CUInt32T): + now: t.CUInt32T = ftime.get_fattime() + fat_time: t.CUInt16T = t.CUInt16T(now & 0xFFFF) + fat_date: t.CUInt16T = t.CUInt16T((now >> 16) & 0xFFFF) + _write16(c.Addr(self.win[0]), eo + 14, fat_time) + _write16(c.Addr(self.win[0]), eo + 16, fat_date) + _write16(c.Addr(self.win[0]), eo + 18, fat_date) + _write16(c.Addr(self.win[0]), eo + 22, fat_time) + _write16(c.Addr(self.win[0]), eo + 24, fat_date) + + def dir_offset_to_sector(self, start_cluster: t.CUInt32T, offset: t.CUInt32T) -> t.CUInt64T: + epc: t.CUInt32T = self.entries_per_cluster() + cluster: t.CUInt32T = start_cluster + cluster_idx: t.CUInt32T = offset / epc + i: t.CUInt32T + for i in range(cluster_idx): + next_c: t.CUInt32T = self.cluster_get_next(cluster) + if next_c == 0: return 0 + cluster = next_c + off_in_cluster: t.CUInt32T = offset % epc + return self.cluster_to_sector(cluster) + t.CUInt64T(off_in_cluster / (512 / ENTRY_SIZE)) + + def dir_next_cluster(self, dp: dirobj | t.CPtr) -> FRESULT: + next_clust: t.CUInt32T = self.cluster_get_next(dp.cluster) + if next_clust == 0: return FRESULT.FR_NO_FILE + dp.cluster = next_clust + dp.sector = self.cluster_to_sector(next_clust) + dp.offset = 0 + return FRESULT.FR_OK + + def dir_open(self, dp: dirobj | t.CPtr, cluster: t.CUInt32T) -> FRESULT: + dp.vol = self + dp.start_cluster = cluster + dp.cluster = cluster + dp.sector = self.cluster_to_sector(cluster) + dp.offset = 0 + dp.is_open = 1 + dp.lfn_ofs = 0xFFFFFFFF + dp.lfn_cluster = 0 + self.winsect = 0xFFFFFFFFFFFFFFFF + return FRESULT.FR_OK + + def dir_read_entry(self, dp: dirobj | t.CPtr, lfn_buf: t.CUInt16T | t.CPtr) -> FRESULT: + lfn_started: t.CInt = 0 + dp.lfn_ofs = 0xFFFFFFFF + dp.lfn_cluster = 0 + while True: + epc: t.CUInt32T = self.entries_per_cluster() + if dp.offset >= epc: + res: FRESULT = self.dir_next_cluster(dp) + if res != FRESULT.FR_OK: return res + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res2: FRESULT = self.win_read(entry_sector) + if res2 != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + first_byte: t.CUInt8T = self.win[entry_offset_in_sector] + if first_byte == SFN_FREE: + return FRESULT.FR_NO_FILE + attr: t.CUInt8T = self.win[entry_offset_in_sector + 11] + if first_byte == SFN_DELETED: + lfn_started = 0 + dp.lfn_ofs = 0xFFFFFFFF + dp.lfn_cluster = 0 + dp.offset += 1 + continue + if attr == LFN_ATTR: + if lfn_buf: + ord_val: t.CUInt8T = first_byte + if ord_val & LFN_FLAG_LAST: + lfn_started = 1 + dp.lfn_ofs = dp.offset + dp.lfn_cluster = dp.cluster + if lfn_started: + entry_bytes: t.CUInt8T | t.CPtr = t.CUInt8T(c.Addr(self.win[entry_offset_in_sector]), t.CPtr) + lfn_extract(entry_bytes, lfn_buf, ord_val) + dp.offset += 1 + continue + if attr == AM_VOL: + dp.offset += 1 + continue + if dp.lfn_ofs == 0xFFFFFFFF: + dp.lfn_ofs = dp.offset + dp.lfn_cluster = dp.cluster + return FRESULT.FR_OK + + def dir_find(self, dp: dirobj | t.CPtr, name: t.CConst | t.CChar | t.CPtr, lfn_buf: t.CUInt16T | t.CPtr) -> FRESULT: + sfn: t.CArray[t.CChar, 12] + sfn_from_lfn(name, c.Addr(sfn[0])) + _dbg_sfn: t.CArray[t.CChar, 16] + _si: t.CInt + for _si in range(11): + _dbg_sfn[_si] = sfn[_si] + _dbg_sfn[11] = 0 + serial.puts("[dir_find] searching for: ") + serial.puts(name) + serial.puts(" sfn=") + serial.puts(c.Addr(_dbg_sfn[0])) + serial.puts("\n") + _db0: t.CArray[t.CChar, 120] + viperlib.snprintf(c.Addr(_db0), 120, "[dir_find] dp: sect=0x%lx off=%lu clust=%lu winsect=0x%lx\n", dp.sector, dp.offset, dp.cluster, self.winsect) + serial.puts(_db0) + _find_count: t.CInt = 0 + while True: + res: FRESULT = self.dir_read_entry(dp, lfn_buf) + if res != FRESULT.FR_OK: + _db2: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(_db2), 80, "[dir_find] dir_read_entry failed res=%d offset=%lu\n", t.CInt(res), dp.offset) + serial.puts(_db2) + return res + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res2: FRESULT = self.win_read(entry_sector) + if res2 != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + match_found: t.CInt = 1 + i: t.CInt + for i in range(11): + a: t.CChar = self.win[entry_offset_in_sector + i] + b: t.CChar = sfn[i] + if a >= 'a' and a <= 'z': a = a - 32 + if b >= 'a' and b <= 'z': b = b - 32 + if a != b: + match_found = 0 + break + if match_found: return FRESULT.FR_OK + if dp.offset < 10: + _db3: t.CArray[t.CChar, 80] + _fb: t.CUInt8T = self.win[entry_offset_in_sector] + _at: t.CUInt8T = self.win[entry_offset_in_sector + 11] + viperlib.snprintf(c.Addr(_db3), 80, "[dir_find] off=%lu fb=0x%02x attr=0x%02x sfn=%.11s\n", dp.offset, _fb, _at, c.Addr(self.win[entry_offset_in_sector])) + serial.puts(_db3) + if lfn_buf and dp.lfn_ofs != 0xFFFFFFFF and dp.lfn_ofs < dp.offset: + lfn_matched: t.CInt = 1 + li: t.CInt = 0 + for name_ch in name: + lfn_ch: t.CUInt16T = c.Deref(t.CUInt16T(t.CUInt64T(lfn_buf) + li * 2, t.CPtr)) + lfn_low: t.CUInt16T = lfn_ch + if lfn_low >= 65 and lfn_low <= 90: lfn_low = lfn_low + 32 + n_low: t.CUInt16T = t.CUInt16T(name_ch) + if n_low >= 65 and n_low <= 90: n_low = n_low + 32 + if lfn_low != n_low: + lfn_matched = 0 + break + li += 1 + if lfn_matched: + lfn_end: t.CUInt16T = c.Deref(t.CUInt16T(t.CUInt64T(lfn_buf) + li * 2, t.CPtr)) + if lfn_end == 0 or lfn_end == 0xFFFF: + return FRESULT.FR_OK + dp.offset += 1 + + def dir_get_entry_info(self, dp: dirobj | t.CPtr, info: fileinfo | t.CPtr, lfn_buf: t.CUInt16T | t.CPtr) -> FRESULT: + res: FRESULT = self._read_entry_from_dir(dp) + if res != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + off: t.CUInt32T = entry_offset_in_sector + raw_attr: t.CUInt8T = self.win[off + 11] + info.attr = raw_attr + info.ctime = _read16(c.Addr(self.win[0]), off + 14) + info.cdate = _read16(c.Addr(self.win[0]), off + 16) + info.adate = _read16(c.Addr(self.win[0]), off + 18) + info.mtime = _read16(c.Addr(self.win[0]), off + 22) + info.mdate = _read16(c.Addr(self.win[0]), off + 24) + info.file_size = _read32(c.Addr(self.win[0]), off + 28) + sfn_ptr: t.CChar | t.CPtr = t.CChar(c.Addr(self.win[0]) + off, t.CPtr) + sfn_to_str(sfn_ptr, c.Addr(info.altname[0])) + if dp.lfn_ofs != 0xFFFFFFFF and dp.lfn_ofs < dp.offset and lfn_buf: + lfn_ptr: t.CUInt16T | t.CPtr = lfn_buf + oi: t.CInt = 0 + for i in range(MAX_LFN): + ch: t.CUInt16T = c.Deref(lfn_ptr) + if ch == 0: break + if ch < 0x80: + info.fname[oi] = t.CChar(ch) + else: + oem_ch: t.CUInt16T = uni2oem_placeholder(ch, 0) + if oem_ch < 0x80: info.fname[oi] = t.CChar(oem_ch) + else: info.fname[oi] = '?' + oi += 1 + lfn_ptr = t.CUInt16T(t.CUInt64T(lfn_ptr) + 2, t.CPtr) + info.fname[oi] = 0 + else: + sfn_to_str(sfn_ptr, c.Addr(info.fname[0])) + return FRESULT.FR_OK + + def dir_add_entry(self, dp: dirobj | t.CPtr, name: t.CConst | t.CChar | t.CPtr, attr: t.CUInt8T, first_cluster: t.CUInt32T, file_size: t.CUInt32T, dir_sector_out: t.CUInt64T | t.CPtr, dir_offset_out: t.CUInt32T | t.CPtr) -> FRESULT: + sfn: t.CArray[t.CChar, 12] + sfn_from_lfn(name, c.Addr(sfn[0])) + lfn_entries: t.CInt = 0 + len_: t.CInt = 0 + for _ in name: len_ += 1 + if len_ > 12: + lfn_entries = (len_ + LFN_ENTRY_CHARS - 1) / LFN_ENTRY_CHARS + total_entries: t.CInt = lfn_entries + 1 + cur_cluster: t.CUInt32T = dp.cluster + cur_sector: t.CUInt64T = dp.sector + cur_offset: t.CUInt32T = dp.offset + found: t.CInt = 0 + consecutive: t.CInt = 0 + start_offset: t.CUInt32T = 0 + start_cluster: t.CUInt32T = 0 + epc: t.CUInt32T = self.entries_per_cluster() + while not found: + if cur_offset >= epc: + next_clust: t.CUInt32T = self.cluster_get_next(cur_cluster) + if next_clust == 0: + new_clust: t.CUInt32T = self.cluster_extend(cur_cluster) + if new_clust == 0: return FRESULT.FR_DENIED + self._zero_cluster(new_clust) + cur_cluster = new_clust + cur_sector = self.cluster_to_sector(new_clust) + cur_offset = 0 + else: + cur_cluster = next_clust + cur_sector = self.cluster_to_sector(next_clust) + cur_offset = 0 + es: t.CUInt64T = cur_sector + (cur_offset / (512 / ENTRY_SIZE)) + eo: t.CUInt32T = (cur_offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res: FRESULT = self.win_read(es) + if res != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + first_byte: t.CUInt8T = self.win[eo] + if first_byte == SFN_FREE or first_byte == SFN_DELETED: + if consecutive == 0: + start_offset = cur_offset + start_cluster = cur_cluster + consecutive += 1 + if consecutive >= total_entries: + found = 1 + break + else: + consecutive = 0 + cur_offset += 1 + write_cluster: t.CUInt32T = start_cluster + write_sector: t.CUInt64T = self.cluster_to_sector(start_cluster) + write_offset: t.CUInt32T = start_offset + if lfn_entries > 0: + le: t.CInt + for le in range(lfn_entries): + if write_offset >= epc: + next_c: t.CUInt32T = self.cluster_get_next(write_cluster) + if next_c == 0: return FRESULT.FR_INT_ERR + write_cluster = next_c + write_sector = self.cluster_to_sector(next_c) + write_offset = 0 + es2: t.CUInt64T = write_sector + (write_offset / (512 / ENTRY_SIZE)) + eo2: t.CUInt32T = (write_offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res2: FRESULT = self.win_read(es2) + if res2 != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + ord_val: t.CUInt8T = t.CUInt8T(lfn_entries - le) + if le == 0: ord_val |= LFN_FLAG_LAST + self.win[eo2 + 0] = ord_val + self.win[eo2 + 11] = LFN_ATTR + self.win[eo2 + 12] = 0 + self.win[eo2 + 13] = sfn_checksum(c.Addr(sfn[0])) + self.win[eo2 + 26] = 0 + self.win[eo2 + 27] = 0 + base: t.CInt = (lfn_entries - 1 - le) * LFN_ENTRY_CHARS + j: t.CInt + for j in range(LFN_ENTRY_CHARS): + idx: t.CInt = base + j + ch: t.CUInt16T + if idx < len_: ch = t.CUInt16T(name[idx]) + elif idx == len_: ch = 0x0000 + else: ch = 0xFFFF + if j < 5: + self.win[eo2 + 1 + j * 2] = t.CUInt8T(ch & 0xFF) + self.win[eo2 + 2 + j * 2] = t.CUInt8T((ch >> 8) & 0xFF) + elif j < 11: + self.win[eo2 + 14 + (j - 5) * 2] = t.CUInt8T(ch & 0xFF) + self.win[eo2 + 15 + (j - 5) * 2] = t.CUInt8T((ch >> 8) & 0xFF) + else: + self.win[eo2 + 28 + (j - 11) * 2] = t.CUInt8T(ch & 0xFF) + self.win[eo2 + 29 + (j - 11) * 2] = t.CUInt8T((ch >> 8) & 0xFF) + self.win_dirty = 1 + self.win_flush() + write_offset += 1 + if write_offset >= epc: + next_c2: t.CUInt32T = self.cluster_get_next(write_cluster) + if next_c2 == 0: return FRESULT.FR_INT_ERR + write_cluster = next_c2 + write_sector = self.cluster_to_sector(next_c2) + write_offset = 0 + es3: t.CUInt64T = write_sector + (write_offset / (512 / ENTRY_SIZE)) + eo3: t.CUInt32T = (write_offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res3: FRESULT = self.win_read(es3) + if res3 != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + string.memset(c.Addr(self.win[eo3]), 0, 32) + i: t.CInt + for i in range(11): self.win[eo3 + i] = sfn[i] + self.win[eo3 + 11] = attr + self.win[eo3 + 12] = 0 + self.win[eo3 + 13] = 0 + self._write_dirent_now(eo3) + _write16(c.Addr(self.win[0]), eo3 + 20, t.CUInt16T((first_cluster >> 16) & 0xFFFF)) + _write16(c.Addr(self.win[0]), eo3 + 26, t.CUInt16T(first_cluster & 0xFFFF)) + _write32(c.Addr(self.win[0]), eo3 + 28, file_size) + self.win_dirty = 1 + self.win_flush() + c.Set(t.CUInt64T(dir_sector_out, t.CPtr), es3) + c.Set(t.CUInt32T(dir_offset_out, t.CPtr), eo3) + return FRESULT.FR_OK + + def dir_update_entry(self, dir_sector: t.CUInt64T, dir_offset: t.CUInt32T, first_cluster: t.CUInt32T, file_size: t.CUInt32T, attr: t.CUInt8T) -> FRESULT: + res: FRESULT = self.win_read(dir_sector) + if res != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + self.win[dir_offset + 11] = attr + _write16(c.Addr(self.win[0]), dir_offset + 20, t.CUInt16T((first_cluster >> 16) & 0xFFFF)) + _write16(c.Addr(self.win[0]), dir_offset + 26, t.CUInt16T(first_cluster & 0xFFFF)) + _write32(c.Addr(self.win[0]), dir_offset + 28, file_size) + self._write_dirent_now(dir_offset) + self.win_dirty = 1 + return self.win_flush() + + def dir_delete_entry(self, dp: dirobj | t.CPtr) -> FRESULT: + start_off: t.CUInt32T = dp.lfn_ofs if dp.lfn_ofs != 0xFFFFFFFF else dp.offset + end_off: t.CUInt32T = dp.offset + cur_off: t.CUInt32T = start_off + cur_cluster: t.CUInt32T = dp.lfn_cluster if dp.lfn_ofs != 0xFFFFFFFF else dp.cluster + epc: t.CUInt32T = self.entries_per_cluster() + while cur_off <= end_off: + off_in_clus: t.CUInt32T = cur_off % epc + if off_in_clus == 0 and cur_off != start_off: + next_c: t.CUInt32T = self.cluster_get_next(cur_cluster) + if next_c == 0: return FRESULT.FR_INT_ERR + cur_cluster = next_c + sector_base: t.CUInt64T = self.cluster_to_sector(cur_cluster) + es: t.CUInt64T = sector_base + t.CUInt64T(off_in_clus / (512 / ENTRY_SIZE)) + eo: t.CUInt32T = (off_in_clus % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res: FRESULT = self.win_read(es) + if res != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + self.win[eo] = SFN_DELETED + self.win_dirty = 1 + res2: FRESULT = self.win_flush() + if res2 != FRESULT.FR_OK: return res2 + cur_off += 1 + return FRESULT.FR_OK + + def follow_path(self, dp: dirobj | t.CPtr, path: t.CConst | t.CChar | t.CPtr, lfn_buf: t.CUInt16T | t.CPtr) -> FRESULT: + cluster: t.CUInt32T = self.root_cluster + pi: t.CInt = 0 + if path[0] >= '0' and path[0] <= '9': + if path[1] == ':': + pi = 2 + elif path[1] == 0: + self.dir_open(dp, cluster) + return FRESULT.FR_OK + elif (path[0] >= 'A' and path[0] <= 'Z') or (path[0] >= 'a' and path[0] <= 'z'): + if path[1] == ':': + pi = 2 + if path[pi] == '/' or path[pi] == '\\': pi += 1 + while path[pi] == '/' or path[pi] == '\\': pi += 1 + if path[pi] == 0: + self.dir_open(dp, cluster) + return FRESULT.FR_OK + while True: + component: t.CArray[t.CChar, 256] + ci: t.CInt = 0 + while path[pi] != 0 and path[pi] != '/' and path[pi] != '\\' and ci < 255: + component[ci] = path[pi] + ci += 1; pi += 1 + component[ci] = 0 + if ci == 0: break + while path[pi] == '/' or path[pi] == '\\': pi += 1 + if ci == 2 and component[0] == '.' and component[1] == '.': + if cluster == self.root_cluster: + pass + else: + self.dir_open(dp, cluster) + dotdot_name: t.CArray[t.CChar, 256] + dotdot_name[0] = '.'; dotdot_name[1] = '.'; dotdot_name[2] = 0 + res_dd: FRESULT = self.dir_find(dp, c.Addr(dotdot_name[0]), lfn_buf) + if res_dd == FRESULT.FR_OK: + self._read_entry_from_dir(dp) + dd_eo: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + dd_off: t.CUInt32T = dd_eo + dd_ch: t.CUInt32T = t.CUInt32T(self.win[dd_off + 20]) | (t.CUInt32T(self.win[dd_off + 21]) << 8) + dd_cl: t.CUInt32T = t.CUInt32T(self.win[dd_off + 26]) | (t.CUInt32T(self.win[dd_off + 27]) << 8) + dd_clus: t.CUInt32T = (dd_ch << 16) | dd_cl + if dd_clus == 0: dd_clus = self.root_cluster + cluster = dd_clus + if path[pi] == 0: + self.dir_open(dp, cluster) + return FRESULT.FR_OK + continue + else: + cluster = self.root_cluster + if path[pi] == 0: + self.dir_open(dp, cluster) + return FRESULT.FR_OK + continue + if path[pi] == 0: + self.dir_open(dp, cluster) + return FRESULT.FR_OK + continue + if ci == 1 and component[0] == '.': + if path[pi] == 0: + self.dir_open(dp, cluster) + return FRESULT.FR_OK + continue + self.dir_open(dp, cluster) + res: FRESULT = self.dir_find(dp, c.Addr(component[0]), lfn_buf) + if res != FRESULT.FR_OK: return res + self._read_entry_from_dir(dp) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + off: t.CUInt32T = entry_offset_in_sector + entry_attr: t.CUInt8T = self.win[off + 11] + clus_hi: t.CUInt32T = t.CUInt32T(self.win[off + 20]) | (t.CUInt32T(self.win[off + 21]) << 8) + clus_lo: t.CUInt32T = t.CUInt32T(self.win[off + 26]) | (t.CUInt32T(self.win[off + 27]) << 8) + entry_cluster: t.CUInt32T = (clus_hi << 16) | clus_lo + if path[pi] == 0: return FRESULT.FR_OK + if not (entry_attr & AM_DIR): return FRESULT.FR_NO_PATH + cluster = entry_cluster + return FRESULT.FR_NO_PATH + + def mkdir_create_dir_entries(self, new_cluster: t.CUInt32T, parent_cluster: t.CUInt32T) -> FRESULT: + sector: t.CUInt64T = self.cluster_to_sector(new_cluster) + res: FRESULT = self.win_read(sector) + if res != FRESULT.FR_OK: return res + string.memset(c.Addr(self.win[0]), 0, 512) + self.win[0] = '.'; self.win[1] = ' '; self.win[2] = ' '; self.win[3] = ' ' + self.win[4] = ' '; self.win[5] = ' '; self.win[6] = ' '; self.win[7] = ' ' + self.win[8] = ' '; self.win[9] = ' '; self.win[10] = ' ' + self.win[11] = AM_DIR + _write16(c.Addr(self.win[0]), 20, t.CUInt16T((new_cluster >> 16) & 0xFFFF)) + _write16(c.Addr(self.win[0]), 26, t.CUInt16T(new_cluster & 0xFFFF)) + self._write_dirent_now(0) + self.win[32] = '.'; self.win[33] = '.'; self.win[34] = ' '; self.win[35] = ' ' + self.win[36] = ' '; self.win[37] = ' '; self.win[38] = ' '; self.win[39] = ' ' + self.win[40] = ' '; self.win[41] = ' '; self.win[42] = ' ' + self.win[11 + 32] = AM_DIR + _write16(c.Addr(self.win[0]), 20 + 32, t.CUInt16T((parent_cluster >> 16) & 0xFFFF)) + _write16(c.Addr(self.win[0]), 26 + 32, t.CUInt16T(parent_cluster & 0xFFFF)) + self._write_dirent_now(32) + self.win_dirty = 1 + return self.win_flush() + + def file_open(self, path: t.CConst | t.CChar | t.CPtr, mode: t.CUInt8T) -> fileobj | t.CPtr: + self.last_error = FRESULT.FR_OK + if not self.mounted: + self.last_error = FRESULT.FR_NOT_ENABLED + return None + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if mode & FA_CREATE_NEW: + if res == FRESULT.FR_OK: + self.last_error = FRESULT.FR_EXIST + return None + if res != FRESULT.FR_NO_FILE and res != FRESULT.FR_NO_PATH: + self.last_error = res + return None + need_create: t.CInt = 0 + if (mode & FA_CREATE_NEW): need_create = 1 + if (mode & FA_OPEN_ALWAYS) and res == FRESULT.FR_NO_FILE: need_create = 1 + if (mode & FA_CREATE_ALWAYS) and res == FRESULT.FR_NO_FILE: need_create = 1 + if need_create: + pp: t.CArray[t.CChar, 260] + fn: t.CArray[t.CChar, 256] + _split_path(path, c.Addr(pp[0]), c.Addr(fn[0])) + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res2: FRESULT = self.follow_path(c.Addr(dp), c.Addr(pp[0]), t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res2 != FRESULT.FR_OK: + self.last_error = res2 + return None + nc: t.CUInt32T = 0 + if mode & FA_WRITE: + nc = self.cluster_alloc() + if nc == 0: + self.last_error = FRESULT.FR_DENIED + return None + self._zero_cluster(nc) + ds: t.CUInt64T = 0 + do: t.CUInt32T = 0 + res3: FRESULT = self.dir_add_entry(c.Addr(dp), c.Addr(fn[0]), AM_ARC, nc, 0, c.Addr(ds), c.Addr(do)) + if res3 != FRESULT.FR_OK: + if nc >= 2: self.cluster_free_chain(nc) + self.last_error = res3 + return None + fp: fileobj | t.CPtr = handle_alloc() + if fp is None: + if nc >= 2: self.cluster_free_chain(nc) + self.last_error = FRESULT.FR_TOO_MANY_OPEN_FILES + return None + fp.vol = self + fp.is_open = 1 + fp.is_dir = 0 + fp.first_cluster = nc + fp.current_cluster = nc + fp.file_size = 0 + fp.file_pos = 0 + fp.dir_sector = ds + fp.dir_offset = do + fp.attr = AM_ARC + fp.flags = mode + fp.err = 0 + fp.lock_count = 0 + fp.buf_sect = 0xFFFFFFFFFFFFFFFF + fp.buf_dirty = 0 + if mode & FA_WRITE: + lock_acquire(ds, do, 1) + fp.lock_count = 1 + return fp + if res != FRESULT.FR_OK: + self.last_error = res + return None + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res_wr: FRESULT = self.win_read(entry_sector) + if res_wr != FRESULT.FR_OK: + self.last_error = res_wr + return None + off: t.CUInt32T = entry_offset_in_sector + entry_attr: t.CUInt8T = self.win[off + 11] + if entry_attr & AM_DIR: + self.last_error = FRESULT.FR_DENIED + return None + if mode & FA_WRITE: + if entry_attr & AM_RDO: + self.last_error = FRESULT.FR_DENIED + return None + lres: FRESULT = lock_check(entry_sector, entry_offset_in_sector, mode) + if lres != FRESULT.FR_OK: + self.last_error = lres + return None + clus_hi: t.CUInt32T = t.CUInt32T(self.win[off + 20]) | (t.CUInt32T(self.win[off + 21]) << 8) + clus_lo: t.CUInt32T = t.CUInt32T(self.win[off + 26]) | (t.CUInt32T(self.win[off + 27]) << 8) + entry_cluster: t.CUInt32T = (clus_hi << 16) | clus_lo + entry_size: t.CUInt32T = _read32(c.Addr(self.win[0]), off + 28) + fp2: fileobj | t.CPtr = handle_alloc() + if fp2 is None: + self.last_error = FRESULT.FR_TOO_MANY_OPEN_FILES + return None + fp2.vol = self + fp2.is_open = 1 + fp2.is_dir = 0 + fp2.first_cluster = entry_cluster + fp2.current_cluster = entry_cluster + fp2.file_size = entry_size + fp2.file_pos = 0 + fp2.dir_sector = entry_sector + fp2.dir_offset = entry_offset_in_sector + fp2.attr = entry_attr + fp2.flags = mode + fp2.err = 0 + fp2.lock_count = 0 + fp2.buf_sect = 0xFFFFFFFFFFFFFFFF + fp2.buf_dirty = 0 + if mode & FA_WRITE: + lock_acquire(entry_sector, entry_offset_in_sector, 1) + fp2.lock_count = 1 + if mode & FA_CREATE_ALWAYS: + if entry_cluster >= 2: self.cluster_free_chain(entry_cluster) + fp2.first_cluster = 0 + fp2.current_cluster = 0 + fp2.file_size = 0 + fp2.file_pos = 0 + self.dir_update_entry(entry_sector, entry_offset_in_sector, 0, 0, entry_attr) + if mode & FA_OPEN_APPEND: + fp2.file_pos = entry_size + fp2.current_cluster = self.file_cluster_seek(entry_cluster, entry_size) + return fp2 + + def file_delete(self, path: t.CConst | t.CChar | t.CPtr) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res_wr: FRESULT = self.win_read(entry_sector) + if res_wr != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + off: t.CUInt32T = entry_offset_in_sector + entry_attr: t.CUInt8T = self.win[off + 11] + if entry_attr & AM_RDO: return FRESULT.FR_DENIED + if entry_attr & AM_DIR: return FRESULT.FR_DENIED + lres: FRESULT = lock_check(entry_sector, entry_offset_in_sector, FA_WRITE) + if lres != FRESULT.FR_OK: return FRESULT.FR_LOCKED + clus_hi: t.CUInt32T = t.CUInt32T(self.win[off + 20]) | (t.CUInt32T(self.win[off + 21]) << 8) + clus_lo: t.CUInt32T = t.CUInt32T(self.win[off + 26]) | (t.CUInt32T(self.win[off + 27]) << 8) + entry_cluster: t.CUInt32T = (clus_hi << 16) | clus_lo + res2: FRESULT = self.dir_delete_entry(c.Addr(dp)) + if res2 != FRESULT.FR_OK: return res2 + if entry_cluster >= 2: self.cluster_free_chain(entry_cluster) + return FRESULT.FR_OK + + def file_rename(self, old_path: t.CConst | t.CChar | t.CPtr, new_path: t.CConst | t.CChar | t.CPtr) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), old_path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res_wr: FRESULT = self.win_read(entry_sector) + if res_wr != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + off: t.CUInt32T = entry_offset_in_sector + entry_attr: t.CUInt8T = self.win[off + 11] + clus_hi: t.CUInt32T = t.CUInt32T(self.win[off + 20]) | (t.CUInt32T(self.win[off + 21]) << 8) + clus_lo: t.CUInt32T = t.CUInt32T(self.win[off + 26]) | (t.CUInt32T(self.win[off + 27]) << 8) + entry_cluster: t.CUInt32T = (clus_hi << 16) | clus_lo + entry_size: t.CUInt32T = _read32(c.Addr(self.win[0]), off + 28) + lres: FRESULT = lock_check(entry_sector, entry_offset_in_sector, FA_WRITE) + if lres != FRESULT.FR_OK: return FRESULT.FR_LOCKED + new_parent: t.CArray[t.CChar, 260] + new_fname: t.CArray[t.CChar, 256] + _split_path(new_path, c.Addr(new_parent[0]), c.Addr(new_fname[0])) + dp2: dirobj + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res2: FRESULT = self.follow_path(c.Addr(dp2), c.Addr(new_parent[0]), t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res2 != FRESULT.FR_OK: return FRESULT.FR_NO_PATH + new_dir_sector: t.CUInt64T = 0 + new_dir_offset: t.CUInt32T = 0 + res3: FRESULT = self.dir_add_entry(c.Addr(dp2), c.Addr(new_fname[0]), entry_attr, entry_cluster, entry_size, c.Addr(new_dir_sector), c.Addr(new_dir_offset)) + if res3 != FRESULT.FR_OK: return res3 + res4: FRESULT = self.dir_delete_entry(c.Addr(dp)) + if res4 != FRESULT.FR_OK: return res4 + return FRESULT.FR_OK + + def file_stat(self, path: t.CConst | t.CChar | t.CPtr, info: fileinfo | t.CPtr) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + return self.dir_get_entry_info(c.Addr(dp), info, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + + def dir_make(self, path: t.CConst | t.CChar | t.CPtr) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res == FRESULT.FR_OK: return FRESULT.FR_EXIST + parent_path: t.CArray[t.CChar, 260] + dir_name: t.CArray[t.CChar, 256] + _split_path(path, c.Addr(parent_path[0]), c.Addr(dir_name[0])) + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res2: FRESULT = self.follow_path(c.Addr(dp), c.Addr(parent_path[0]), t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res2 != FRESULT.FR_OK: return FRESULT.FR_NO_PATH + parent_cluster: t.CUInt32T = dp.cluster + new_cluster: t.CUInt32T = self.cluster_alloc() + if new_cluster == 0: return FRESULT.FR_DENIED + self._zero_cluster(new_cluster) + dir_sector: t.CUInt64T = 0 + dir_offset: t.CUInt32T = 0 + res3: FRESULT = self.dir_add_entry(c.Addr(dp), c.Addr(dir_name[0]), AM_DIR, new_cluster, 0, c.Addr(dir_sector), c.Addr(dir_offset)) + if res3 != FRESULT.FR_OK: + self.cluster_free_chain(new_cluster) + return res3 + res4: FRESULT = self.mkdir_create_dir_entries(new_cluster, parent_cluster) + if res4 != FRESULT.FR_OK: + self.cluster_free_chain(new_cluster) + return res4 + return FRESULT.FR_OK + + def dir_open_path(self, path: t.CConst | t.CChar | t.CPtr, dp: dirobj | t.CPtr) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + pi: t.CInt = 0 + if path[0] >= '0' and path[0] <= '9': + if path[1] == ':' or path[1] == 0: + pi = 2 + if path[1] == 0: + self.dir_open(dp, self.root_cluster) + return FRESULT.FR_OK + if path[pi] == '/' or path[pi] == '\\': pi += 1 + while path[pi] == '/' or path[pi] == '\\': pi += 1 + is_root: t.CInt = 1 if path[pi] == 0 else 0 + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(dp, path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + if is_root: return FRESULT.FR_OK + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res_wr: FRESULT = self.win_read(entry_sector) + if res_wr != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + off: t.CUInt32T = entry_offset_in_sector + entry_attr: t.CUInt8T = self.win[off + 11] + if not (entry_attr & AM_DIR): return FRESULT.FR_NO_PATH + clus_hi: t.CUInt32T = t.CUInt32T(self.win[off + 20]) | (t.CUInt32T(self.win[off + 21]) << 8) + clus_lo: t.CUInt32T = t.CUInt32T(self.win[off + 26]) | (t.CUInt32T(self.win[off + 27]) << 8) + entry_cluster: t.CUInt32T = (clus_hi << 16) | clus_lo + return self.dir_open(dp, entry_cluster) + + def dir_read(self, dp: dirobj | t.CPtr, info: fileinfo | t.CPtr) -> FRESULT: + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.dir_read_entry(dp, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + res2: FRESULT = self.dir_get_entry_info(dp, info, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + dp.offset += 1 + return res2 + + def dir_remove(self, path: t.CConst | t.CChar | t.CPtr) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res_wr: FRESULT = self.win_read(entry_sector) + if res_wr != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + off: t.CUInt32T = entry_offset_in_sector + entry_attr: t.CUInt8T = self.win[off + 11] + if not (entry_attr & AM_DIR): return FRESULT.FR_NO_PATH + clus_hi: t.CUInt32T = t.CUInt32T(self.win[off + 20]) | (t.CUInt32T(self.win[off + 21]) << 8) + clus_lo: t.CUInt32T = t.CUInt32T(self.win[off + 26]) | (t.CUInt32T(self.win[off + 27]) << 8) + entry_cluster: t.CUInt32T = (clus_hi << 16) | clus_lo + if entry_cluster >= 2: + check_dp: dirobj + self.dir_open(c.Addr(check_dp), entry_cluster) + lfn_buf2: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf2), 0, 256 * 2) + while True: + check_res: FRESULT = self.dir_read_entry(c.Addr(check_dp), t.CUInt16T(c.Addr(lfn_buf2[0]), t.CPtr)) + if check_res != FRESULT.FR_OK: break + c_off: t.CUInt32T = (check_dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + c_sec: t.CUInt64T = check_dp.sector + (check_dp.offset / (512 / ENTRY_SIZE)) + self.win_read(c_sec) + c_name0: t.CUInt8T = self.win[c_off] + c_name1: t.CUInt8T = self.win[c_off + 1] + check_dp.offset += 1 + if c_name0 == '.' and (c_name1 == '.' or c_name1 == 0x20): + continue + return FRESULT.FR_DENIED + lres: FRESULT = lock_check(entry_sector, entry_offset_in_sector, FA_WRITE) + if lres != FRESULT.FR_OK: return FRESULT.FR_LOCKED + res2: FRESULT = self.dir_delete_entry(c.Addr(dp)) + if res2 != FRESULT.FR_OK: return res2 + if entry_cluster >= 2: self.cluster_free_chain(entry_cluster) + return FRESULT.FR_OK + + def chmod(self, path: t.CConst | t.CChar | t.CPtr, attr: t.CUInt8T, mask: t.CUInt8T) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res_wr: FRESULT = self.win_read(entry_sector) + if res_wr != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + off: t.CUInt32T = entry_offset_in_sector + old_attr: t.CUInt8T = self.win[off + 11] + new_attr: t.CUInt8T = (old_attr & ~mask) | (attr & mask) + self.win[off + 11] = new_attr + self.win_dirty = 1 + return self.win_flush() + + def utime(self, path: t.CConst | t.CChar | t.CPtr, mtime: t.CUInt16T, mdate: t.CUInt16T) -> FRESULT: + if not self.mounted: return FRESULT.FR_NOT_ENABLED + dp: dirobj + lfn_buf: t.CArray[t.CUInt16T, 256] + string.memset(c.Addr(lfn_buf), 0, 256 * 2) + res: FRESULT = self.follow_path(c.Addr(dp), path, t.CUInt16T(c.Addr(lfn_buf[0]), t.CPtr)) + if res != FRESULT.FR_OK: return res + entry_sector: t.CUInt64T = dp.sector + (dp.offset / (512 / ENTRY_SIZE)) + entry_offset_in_sector: t.CUInt32T = (dp.offset % (512 / ENTRY_SIZE)) * ENTRY_SIZE + res_wr: FRESULT = self.win_read(entry_sector) + if res_wr != FRESULT.FR_OK: return FRESULT.FR_DISK_ERR + off: t.CUInt32T = entry_offset_in_sector + self.win[off + 22] = t.CUInt8T(mtime & 0xFF) + self.win[off + 23] = t.CUInt8T((mtime >> 8) & 0xFF) + self.win[off + 24] = t.CUInt8T(mdate & 0xFF) + self.win[off + 25] = t.CUInt8T((mdate >> 8) & 0xFF) + self.win[off + 18] = t.CUInt8T(mdate & 0xFF) + self.win[off + 19] = t.CUInt8T((mdate >> 8) & 0xFF) + self.win_dirty = 1 + return self.win_flush() + + +@t.Object +class fileobj: + vol: volinfo | t.CPtr + is_open: t.CInt = 0 + is_dir: t.CInt = 0 + first_cluster: t.CUInt32T = 0 + current_cluster: t.CUInt32T = 0 + file_size: t.CUInt32T = 0 + file_pos: t.CUInt32T = 0 + dir_sector: t.CUInt64T = 0 + dir_offset: t.CUInt32T = 0 + attr: t.CUInt8T = 0 + ctime: t.CUInt16T = 0 + cdate: t.CUInt16T = 0 + mtime: t.CUInt16T = 0 + mdate: t.CUInt16T = 0 + adate: t.CUInt16T = 0 + flags: t.CUInt8T = 0 + err: t.CUInt8T = 0 + lock_count: t.CInt = 0 + buf: t.CArray[t.CUInt8T, 512] + buf_sect: t.CUInt64T = 0 + buf_dirty: t.CInt = 0 + + def buf_flush(self) -> FRESULT: + if not self.buf_dirty: return FRESULT.FR_OK + abs_sect: t.CUInt64T = t.CUInt64T(self.buf_sect) + t.CUInt64T(self.vol.hidden_sectors) + self.vol.lock.lock() + res: DRESULT = diskio.write(self.vol.pdrv, c.Addr(self.buf[0]), t.CUInt32T(abs_sect), 1) + self.vol.lock.unlock() + if res != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + self.buf_dirty = 0 + return FRESULT.FR_OK + + def buf_read(self, sector: t.CUInt64T) -> FRESULT: + if self.buf_sect == sector: return FRESULT.FR_OK + if self.buf_dirty: + res: FRESULT = self.buf_flush() + if res != FRESULT.FR_OK: return res + abs_sect: t.CUInt64T = sector + t.CUInt64T(self.vol.hidden_sectors) + self.vol.lock.lock() + res2: DRESULT = diskio.read(self.vol.pdrv, c.Addr(self.buf[0]), t.CUInt32T(abs_sect), 1) + self.vol.lock.unlock() + if res2 != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + self.buf_sect = sector + return FRESULT.FR_OK + + def close(self) -> FRESULT: + if not self.is_open: return FRESULT.FR_INVALID_OBJECT + res: FRESULT = self.buf_flush() + if res != FRESULT.FR_OK: return res + if self.flags & FA_WRITE: + self.vol.dir_update_entry(self.dir_sector, self.dir_offset, self.first_cluster, self.file_size, self.attr) + if self.lock_count > 0: lock_release(self.dir_sector, self.dir_offset) + self.is_open = 0 + self.lock_count = 0 + return FRESULT.FR_OK + + def read(self, buff: t.CVoid | t.CPtr, btr: t.CUInt32T, br: t.CUInt32T | t.CPtr) -> FRESULT: + if not self.is_open: return FRESULT.FR_INVALID_OBJECT + if not (self.flags & FA_READ): return FRESULT.FR_DENIED + c.Set(t.CUInt32T(br, t.CPtr), 0) + vol: volinfo | t.CPtr = self.vol + remaining: t.CUInt32T = btr + buf_ptr: t.CUInt8T | t.CPtr = t.CUInt8T(buff, t.CPtr) + total_read: t.CUInt32T = 0 + while remaining > 0: + if self.file_pos >= self.file_size: break + if self.first_cluster < 2: break + if self.current_cluster < 2 or vol.is_eoc(self.current_cluster): break + cluster_offset: t.CUInt32T = self.file_pos % vol.cluster_size + sector_in_cluster: t.CUInt32T = cluster_offset / 512 + offset_in_sector: t.CUInt32T = cluster_offset % 512 + sector: t.CUInt64T = vol.cluster_to_sector(self.current_cluster) + t.CUInt64T(sector_in_cluster) + can_read_in_sector: t.CUInt32T = 512 - offset_in_sector + can_read: t.CUInt32T = can_read_in_sector + if can_read > remaining: can_read = remaining + if can_read > self.file_size - self.file_pos: can_read = self.file_size - self.file_pos + if can_read == 0: break + if offset_in_sector == 0 and can_read >= 512: + abs_sect: t.CUInt64T = sector + t.CUInt64T(vol.hidden_sectors) + vol.lock.lock() + res: DRESULT = diskio.read(vol.pdrv, buf_ptr, t.CUInt32T(abs_sect), 1) + vol.lock.unlock() + if res != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + else: + res2: FRESULT = self.buf_read(sector) + if res2 != FRESULT.FR_OK: return res2 + string.memcpy(buf_ptr, c.Addr(self.buf[offset_in_sector]), can_read) + buf_ptr += can_read + self.file_pos += can_read + total_read += can_read + remaining -= can_read + if self.file_pos % vol.cluster_size == 0: + next_c: t.CUInt32T = vol.cluster_get_next(self.current_cluster) + if next_c == 0: break + self.current_cluster = next_c + c.Set(t.CUInt32T(br, t.CPtr), total_read) + return FRESULT.FR_OK + + def _extend_to(self, target_pos: t.CUInt32T) -> FRESULT: + if self.first_cluster < 2: + new_c: t.CUInt32T = self.vol.cluster_alloc() + if new_c == 0: return FRESULT.FR_DENIED + self.first_cluster = new_c + self.current_cluster = new_c + self.vol._zero_cluster(new_c) + cur_pos: t.CUInt32T = 0 + clust: t.CUInt32T = self.first_cluster + while cur_pos + self.vol.cluster_size <= target_pos: + next_c: t.CUInt32T = self.vol.cluster_get_next(clust) + if next_c == 0: + new_c2: t.CUInt32T = self.vol.cluster_extend(clust) + if new_c2 == 0: return FRESULT.FR_DENIED + self.vol._zero_cluster(new_c2) + next_c = new_c2 + clust = next_c + cur_pos += self.vol.cluster_size + self.current_cluster = clust + return FRESULT.FR_OK + + def write(self, buff: t.CConst | t.CVoid | t.CPtr, btw: t.CUInt32T, bw: t.CUInt32T | t.CPtr) -> FRESULT: + if not self.is_open: return FRESULT.FR_INVALID_OBJECT + if not (self.flags & FA_WRITE): return FRESULT.FR_DENIED + c.Set(t.CUInt32T(bw, t.CPtr), 0) + vol: volinfo | t.CPtr = self.vol + remaining: t.CUInt32T = btw + buf_ptr: t.CConst | t.CUInt8T | t.CPtr = t.CUInt8T(buff, t.CPtr) + total_written: t.CUInt32T = 0 + while remaining > 0: + if self.first_cluster < 2: + new_c: t.CUInt32T = vol.cluster_alloc() + if new_c == 0: return FRESULT.FR_DENIED + self.first_cluster = new_c + self.current_cluster = new_c + vol._zero_cluster(new_c) + if self.current_cluster < 2 or vol.is_eoc(self.current_cluster): + last_c: t.CUInt32T = self.current_cluster + if self.first_cluster >= 2 and self.current_cluster < 2: + last_c = vol.file_find_last_cluster(self.first_cluster) + new_c2: t.CUInt32T = vol.cluster_extend(last_c) + if new_c2 == 0: return FRESULT.FR_DENIED + if self.first_cluster < 2: self.first_cluster = new_c2 + self.current_cluster = new_c2 + vol._zero_cluster(new_c2) + cluster_offset: t.CUInt32T = self.file_pos % vol.cluster_size + sector_in_cluster: t.CUInt32T = cluster_offset / 512 + offset_in_sector: t.CUInt32T = cluster_offset % 512 + sector: t.CUInt64T = vol.cluster_to_sector(self.current_cluster) + t.CUInt64T(sector_in_cluster) + can_write_in_sector: t.CUInt32T = 512 - offset_in_sector + can_write: t.CUInt32T = can_write_in_sector + if can_write > remaining: can_write = remaining + if can_write == 0: break + if offset_in_sector == 0 and can_write >= 512: + abs_sect: t.CUInt64T = sector + t.CUInt64T(vol.hidden_sectors) + vol.lock.lock() + res: DRESULT = diskio.write(vol.pdrv, buf_ptr, t.CUInt32T(abs_sect), 1) + vol.lock.unlock() + if res != DRESULT.RES_OK: return FRESULT.FR_DISK_ERR + self.buf_sect = 0xFFFFFFFFFFFFFFFF + self.buf_dirty = 0 + else: + res2: FRESULT = self.buf_read(sector) + if res2 != FRESULT.FR_OK: return res2 + string.memcpy(c.Addr(self.buf[offset_in_sector]), buf_ptr, can_write) + self.buf_dirty = 1 + res3: FRESULT = self.buf_flush() + if res3 != FRESULT.FR_OK: return res3 + buf_ptr += can_write + self.file_pos += can_write + total_written += can_write + remaining -= can_write + if self.file_pos > self.file_size: self.file_size = self.file_pos + if self.file_pos % vol.cluster_size == 0: + next_c: t.CUInt32T = vol.cluster_get_next(self.current_cluster) + if next_c != 0: self.current_cluster = next_c + c.Set(t.CUInt32T(bw, t.CPtr), total_written) + return FRESULT.FR_OK + + def seek(self, offset: t.CUInt32T) -> FRESULT: + if not self.is_open: return FRESULT.FR_INVALID_OBJECT + if offset > self.file_size: + if not (self.flags & FA_WRITE): return FRESULT.FR_DENIED + gap: t.CUInt32T = offset - self.file_size + res: FRESULT = self._extend_to(offset) + if res != FRESULT.FR_OK: return res + old_size: t.CUInt32T = self.file_size + zero_buf: t.CArray[t.CUInt8T, 512] + string.memset(c.Addr(zero_buf[0]), 0, 512) + self.file_pos = old_size + while gap > 0: + chunk: t.CUInt32T = gap + if chunk > 512: chunk = 512 + written: t.CUInt32T = 0 + res2: FRESULT = self.write(c.Addr(zero_buf[0]), chunk, c.Addr(written)) + if res2 != FRESULT.FR_OK: return res2 + if written == 0: return FRESULT.FR_DENIED + gap -= written + self.file_size = offset + self.vol.dir_update_entry(self.dir_sector, self.dir_offset, self.first_cluster, self.file_size, self.attr) + return FRESULT.FR_OK + self.file_pos = offset + if self.first_cluster < 2: + self.current_cluster = 0 + return FRESULT.FR_OK + self.current_cluster = self.vol.file_cluster_seek(self.first_cluster, offset) + return FRESULT.FR_OK + + def truncate(self) -> FRESULT: + if not self.is_open: return FRESULT.FR_INVALID_OBJECT + if not (self.flags & FA_WRITE): return FRESULT.FR_DENIED + if self.file_pos >= self.file_size: return FRESULT.FR_OK + vol: volinfo | t.CPtr = self.vol + new_size: t.CUInt32T = self.file_pos + if new_size == 0: + if self.first_cluster >= 2: vol.cluster_free_chain(self.first_cluster) + self.first_cluster = 0 + self.current_cluster = 0 + self.file_size = 0 + self.file_pos = 0 + vol.dir_update_entry(self.dir_sector, self.dir_offset, 0, 0, self.attr) + return FRESULT.FR_OK + cluster_at_pos: t.CUInt32T = vol.file_cluster_seek(self.first_cluster, new_size) + if cluster_at_pos < 2: return FRESULT.FR_INT_ERR + next_c: t.CUInt32T = vol.cluster_get_next(cluster_at_pos) + vol.fat_write(cluster_at_pos, CLUSTER_EOC_MAX) + if next_c >= 2 and next_c < CLUSTER_EOC_MIN: + vol.cluster_free_chain(next_c) + self.file_size = new_size + self.current_cluster = cluster_at_pos + vol.dir_update_entry(self.dir_sector, self.dir_offset, self.first_cluster, new_size, self.attr) + return FRESULT.FR_OK + + def tell(self) -> t.CUInt32T: + return self.file_pos + + def size(self) -> t.CUInt32T: + return self.file_size + + +@t.Object +class dirobj: + vol: volinfo | t.CPtr + cluster: t.CUInt32T = 0 + start_cluster: t.CUInt32T = 0 + sector: t.CUInt64T = 0 + offset: t.CUInt32T = 0 + is_open: t.CInt = 0 + lfn_ofs: t.CUInt32T = 4294967295 + lfn_cluster: t.CUInt32T = 0 + sfn: t.CArray[t.CChar, 12] + + def close(self): + self.is_open = 0 + + +handle_table: t.CArray[fileobj, MAX_HANDLES] +lock_table: t.CArray[filelock, MAX_LOCKS] +handles_initialized: t.CStatic | t.CInt = 0 + +def handles_init(): + if handles_initialized: return + for i in range(MAX_HANDLES): + handle_table[i].is_open = 0 + handle_table[i].lock_count = 0 + for j in range(MAX_LOCKS): + lock_table[j].in_use = 0 + handles_initialized = 1 + +def handle_alloc() -> fileobj | t.CPtr: + handles_init() + for i in range(MAX_HANDLES): + if not handle_table[i].is_open: + return c.Addr(handle_table[i]) + return None + +def lock_check(dir_sector: t.CUInt64T, dir_offset: t.CUInt32T, mode: t.CUInt8T) -> FRESULT: + handles_init() + for i in range(MAX_LOCKS): + lk: filelock | t.CPtr = c.Addr(lock_table[i]) + if lk.in_use and lk.dir_sector == dir_sector and lk.dir_offset == dir_offset: + if mode & FA_WRITE: return FRESULT.FR_LOCKED + if lk.exclusive: return FRESULT.FR_LOCKED + return FRESULT.FR_OK + +def lock_acquire(dir_sector: t.CUInt64T, dir_offset: t.CUInt32T, exclusive: t.CInt) -> FRESULT: + handles_init() + for i in range(MAX_LOCKS): + lk: filelock | t.CPtr = c.Addr(lock_table[i]) + if not lk.in_use: + lk.in_use = 1 + lk.dir_sector = dir_sector + lk.dir_offset = dir_offset + lk.exclusive = exclusive + lk.shared_count = 1 if not exclusive else 0 + return FRESULT.FR_OK + return FRESULT.FR_TOO_MANY_OPEN_FILES + +def lock_release(dir_sector: t.CUInt64T, dir_offset: t.CUInt32T): + handles_init() + for i in range(MAX_LOCKS): + lk: filelock | t.CPtr = c.Addr(lock_table[i]) + if lk.in_use and lk.dir_sector == dir_sector and lk.dir_offset == dir_offset: + lk.shared_count -= 1 + if lk.shared_count <= 0: lk.in_use = 0 + return diff --git a/Test/Kernel/drivers/fs/fat32/fileio.vp b/Test/Kernel/drivers/fs/fat32/fileio.vp new file mode 100644 index 0000000..1ff5896 --- /dev/null +++ b/Test/Kernel/drivers/fs/fat32/fileio.vp @@ -0,0 +1,3 @@ +import fat32 + + diff --git a/Test/Kernel/drivers/input/keyboard/keyboard.vp b/Test/Kernel/drivers/input/keyboard/keyboard.vp new file mode 100644 index 0000000..fce1039 --- /dev/null +++ b/Test/Kernel/drivers/input/keyboard/keyboard.vp @@ -0,0 +1,146 @@ +import asm +import intr.idt as idt +import drivers.serial.uart.serial as serial +import viperstring as string +import t, c + + +KBD_DATA: t.CDefine = 0x60 +KBD_STATUS: t.CDefine = 0x64 +KBD_COMMAND: t.CDefine = 0x64 + +KBD_BUF_SIZE: t.CDefine = 1024 + +KEY_RELEASED: t.CDefine = 0x80 + +buffer: t.CArray[t.CUInt8T, KBD_BUF_SIZE] +buf_head: t.CStatic | t.CUInt32T = 0 +buf_tail: t.CStatic | t.CUInt32T = 0 +buf_count: t.CStatic | t.CUInt32T = 0 + +shift_l: t.CStatic | t.CUInt8T = 0 +shift_r: t.CStatic | t.CUInt8T = 0 +ctrl_l: t.CStatic | t.CUInt8T = 0 +alt_l: t.CStatic | t.CUInt8T = 0 +caps_lock: t.CStatic | t.CUInt8T = 0 + +scancode_set1: t.CArray[t.CChar, 128] = [ + '\0', '\x1b', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\b', + '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', + '\0', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', "'", '`', '\0', + '\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '\0', '\0', '\0', ' ', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '-', '8', '6', '2', '\0', + '1', '+', '4', '5', '3', '0', '.', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0' +] + +scancode_set1_shift: t.CArray[t.CChar, 128] = [ + '\0', '\x1b', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '\b', + '\t', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', '\n', + '\0', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', '"', '~', '\0', + '|', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '<', '>', '?', '\0', '\0', '\0', ' ', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '-', '8', '6', '2', '\0', + '1', '+', '4', '5', '3', '0', '.', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0' +] + +def _wait_read(): + timeout: t.CUInt32T = 100000 + while timeout > 0: + if (asm.inb(KBD_STATUS) & 0x01) != 0: return + timeout -= 1 + +def _wait_write(): + timeout: t.CUInt32T = 100000 + while timeout > 0: + if (asm.inb(KBD_STATUS) & 0x02) == 0: return + timeout -= 1 + +def irq_handler() -> t.CInt: + global buf_head, buf_tail, buf_count + scancode: t.CUInt8T = asm.inb(KBD_DATA) + if buf_count < KBD_BUF_SIZE: + buffer[buf_tail] = scancode + buf_tail = buf_tail + 1 + if buf_tail >= KBD_BUF_SIZE: + buf_tail = 0 + buf_count += 1 + return 0 + +def read_scancode() -> t.CUInt8T: + global buf_head, buf_count + asm.cli() + if buf_count == 0: + asm.sti() + return 0 + code: t.CUInt8T = buffer[buf_head] + buf_head = buf_head + 1 + if buf_head >= KBD_BUF_SIZE: + buf_head = 0 + buf_count -= 1 + asm.sti() + return code + +def scancode_to_ascii(scancode: t.CUInt8T) -> t.CChar: + code: t.CUInt8T = scancode & ~t.CUInt8T(KEY_RELEASED) + if code >= 128: return '\0' + shifted: bool = (shift_l or shift_r) != 0 + if caps_lock and code >= 0x10 and code <= 0x32: + shifted = not shifted + if shifted: + return scancode_set1_shift[code] + return scancode_set1[code] + +def has_data() -> t.CInt: + return buf_count + +def init(): + drain: t.CUInt32T + drain = 0 + while (asm.inb(KBD_STATUS) & 0x01) != 0: + asm.inb(KBD_DATA) + drain += 1 + if drain > 1000: break + + _wait_write() + asm.outb(KBD_COMMAND, 0xAD) + + drain = 0 + while (asm.inb(KBD_STATUS) & 0x01) != 0: + asm.inb(KBD_DATA) + drain += 1 + if drain > 1000: break + + _wait_write() + asm.outb(KBD_COMMAND, 0x20) + _wait_read() + ccb: t.CUInt8T = asm.inb(KBD_DATA) + + ccb = ccb | 0x01 + ccb = ccb | 0x40 + ccb = ccb & 0xEF + + _wait_write() + asm.outb(KBD_COMMAND, 0x60) + _wait_write() + asm.outb(KBD_DATA, ccb) + + _wait_write() + asm.outb(KBD_COMMAND, 0xAE) + + drain = 0 + while (asm.inb(KBD_STATUS) & 0x01) != 0: + asm.inb(KBD_DATA) + drain += 1 + if drain > 1000: break + + _wait_write() + asm.outb(KBD_DATA, 0xF4) + _wait_read() + asm.inb(KBD_DATA) + + idt.irqInstallHandler(1, irq_handler, "keyboard") diff --git a/Test/Kernel/drivers/input/mouse/mouse.vp b/Test/Kernel/drivers/input/mouse/mouse.vp new file mode 100644 index 0000000..aee483f --- /dev/null +++ b/Test/Kernel/drivers/input/mouse/mouse.vp @@ -0,0 +1,134 @@ +import asm +import intr.idt as idt +import platform.pch.pic as pic +import drivers.serial.uart.serial as serial +import t, c + + +MOUSE_DATA: t.CDefine = 0x60 +MOUSE_STATUS: t.CDefine = 0x64 +MOUSE_COMMAND: t.CDefine = 0x64 + +MOUSE_BUF_SIZE: t.CDefine = 1024 + +MOUSE_LEFT: t.CDefine = 0x01 +MOUSE_RIGHT: t.CDefine = 0x02 +MOUSE_MIDDLE: t.CDefine = 0x04 + +class mouse_packet: + flags: t.CUInt8T + dx: t.CInt8T + dy: t.CInt8T + buttons: t.CUInt8T + +packets: t.CArray[mouse_packet, MOUSE_BUF_SIZE] +pack_head: t.CStatic | t.CUInt32T = 0 +pack_tail: t.CStatic | t.CUInt32T = 0 +pack_count: t.CStatic | t.CUInt32T = 0 + +cycle: t.CStatic | t.CUInt8T = 0 +byte1: t.CStatic | t.CUInt8T = 0 +byte2: t.CStatic | t.CInt8T = 0 +byte3: t.CStatic | t.CInt8T = 0 + +mouse_x: t.CStatic | t.CInt32T = 0 +mouse_y: t.CStatic | t.CInt32T = 0 +mouse_buttons: t.CStatic | t.CUInt8T = 0 + +def _wait_read(): + timeout: t.CUInt32T = 100000 + while timeout > 0: + if (asm.inb(MOUSE_STATUS) & 0x01) != 0: return + timeout -= 1 + +def _wait_write(): + timeout: t.CUInt32T = 100000 + while timeout > 0: + if (asm.inb(MOUSE_STATUS) & 0x02) == 0: return + timeout -= 1 + +def _write_cmd(cmd: t.CUInt8T): + _wait_write() + asm.outb(MOUSE_COMMAND, 0xD4) + _wait_write() + asm.outb(MOUSE_DATA, cmd) + _wait_read() + asm.inb(MOUSE_DATA) + +def irq_handler() -> t.CInt: + global cycle, byte1, byte2, byte3, pack_tail, pack_count + status: t.CUInt8T = asm.inb(MOUSE_STATUS) + if (status & 0x20) == 0: return 0 + data: t.CUInt8T = asm.inb(MOUSE_DATA) + if cycle == 0: + if (data & 0x08) != 0: + byte1 = data + cycle = 1 + return 0 + if cycle == 1: + byte2 = data + cycle = 2 + return 0 + byte3 = data + cycle = 0 + if pack_count < MOUSE_BUF_SIZE: + packets[pack_tail].flags = byte1 + packets[pack_tail].dx = byte2 + packets[pack_tail].dy = byte3 + packets[pack_tail].buttons = byte1 & t.CUInt8T(0x07) + pack_tail = pack_tail + 1 + if pack_tail >= MOUSE_BUF_SIZE: + pack_tail = 0 + pack_count += 1 + return 0 + +def read_packet(out: mouse_packet | t.CPtr) -> t.CInt: + global pack_head, pack_count + asm.cli() + if pack_count == 0: + asm.sti() + out.flags = 0 + out.dx = 0 + out.dy = 0 + out.buttons = 0 + return -1 + out.flags = packets[pack_head].flags + out.dx = packets[pack_head].dx + out.dy = packets[pack_head].dy + out.buttons = packets[pack_head].buttons + pack_head = pack_head + 1 + if pack_head >= MOUSE_BUF_SIZE: + pack_head = 0 + pack_count -= 1 + asm.sti() + return 0 + +def has_data() -> t.CInt: + return pack_count + +def get_x() -> t.CInt32T: + return mouse_x + +def get_y() -> t.CInt32T: + return mouse_y + +def get_buttons() -> t.CUInt8T: + return mouse_buttons + +def init(): + _wait_write() + asm.outb(MOUSE_COMMAND, 0xA8) + _wait_write() + asm.outb(MOUSE_COMMAND, 0x20) + _wait_read() + status: t.CUInt8T = asm.inb(MOUSE_DATA) + status = status | 0x02 + status = status & 0xDF + _wait_write() + asm.outb(MOUSE_COMMAND, 0x60) + _wait_write() + asm.outb(MOUSE_DATA, status) + _write_cmd(0xF6) + _write_cmd(0xF4) + pic.clearMask(12) + idt.irqInstallHandler(12, irq_handler, "mouse") diff --git a/Test/Kernel/drivers/serial/uart/serial.vp b/Test/Kernel/drivers/serial/uart/serial.vp new file mode 100644 index 0000000..35ad868 --- /dev/null +++ b/Test/Kernel/drivers/serial/uart/serial.vp @@ -0,0 +1,46 @@ +import platform.pch.pic as pic +import su8250 +import t, c + + +# 串口初始化 +def init(): + # 初始化COM1端口 + su8250.init(su8250.COM1_PORT) + # 启用COM1中断(IRQ4) + pic.clearMask(4) + +# 发送一个字符到COM1 +def putc(cr: t.CChar): + su8250.putchar(su8250.COM1_PORT, cr) + +def putchar(cr: t.CChar): + su8250.putchar(su8250.COM1_PORT, cr) + +# 从COM1读取一个字符 +def getchar() -> t.CChar: + return su8250.getchar(su8250.COM1_PORT) + +# 发送一个字符串到COM1 +def puts(s: str): + # 逐个字符发送,直接复用putchar的逻辑 + for i in s: + putchar(i) + +# 检查COM1是否有数据可读 +def isDataAvailable() -> t.CInt: + return su8250.isDataAvailable(su8250.COM1_PORT) + +# 检查COM1发送缓冲区是否为空 +def isTransmitEmpty() -> t.CInt: + return su8250.isTransmitEmpty(su8250.COM1_PORT) + +# 发送32位十六进制值到COM1 +def put_hex32(value: t.CUInt32T): + hex_digits: t.CArray[t.CChar, None] = ["0123456789ABCDEF"] + buffer: t.CArray[t.CChar, 9] + for i in range(7, -1, -1): + buffer[i] = hex_digits[value & 0xF] + value >>= 4 + buffer[8] = '\0' + puts(buffer) diff --git a/Test/Kernel/drivers/serial/uart/su8250.vp b/Test/Kernel/drivers/serial/uart/su8250.vp new file mode 100644 index 0000000..568a41b --- /dev/null +++ b/Test/Kernel/drivers/serial/uart/su8250.vp @@ -0,0 +1,116 @@ +import platform.pch as pch +import asm +import t, c + + + +# 串口端口定义 +COM1_PORT: t.CDefine = 0x3F8 # COM1端口地址 +COM2_PORT: t.CDefine = 0x2F8 # COM2端口地址 + +# 8250/16550 UART寄存器偏移 +UART_RBR: t.CDefine = 0 # 接收缓冲区寄存器(读) +UART_THR: t.CDefine = 0 # 发送保持寄存器(写) +UART_DLL: t.CDefine = 0 # 除数锁存低位(写,DLAB=1) +UART_IER: t.CDefine = 1 # 中断使能寄存器 +UART_DLM: t.CDefine = 1 # 除数锁存高位(写,DLAB=1) +UART_FCR: t.CDefine = 2 # FIFO控制寄存器 +UART_IIR: t.CDefine = 2 # 中断识别寄存器(读) +UART_LCR: t.CDefine = 3 # 线路控制寄存器 +UART_MCR: t.CDefine = 4 # 调制解调器控制寄存器 +UART_LSR: t.CDefine = 5 # 线路状态寄存器 +UART_MSR: t.CDefine = 6 # 调制解调器状态寄存器 +UART_SCR: t.CDefine = 7 # scratch register + + +UART_LSR_THRE: t.CDefine = 0x20 # THRE:发送保持寄存器空 +UART_LSR_TEMT: t.CDefine = 0x40 # TEMT:发送移位寄存器空(真正的发送完成) + + +# 线路控制寄存器位定义 +UART_LCR_DLAB: t.CDefine = 0x80 # 除数锁存访问位 +UART_LCR_8BIT: t.CDefine = 0x03 # 8位数据位 + +# 线路状态寄存器位定义 +UART_LSR_DR: t.CDefine = 0x01 # 数据就绪 +UART_LSR_THRE: t.CDefine = 0x20 # 发送保持寄存器空 + +# 波特率除数(115200 bps) +BAUD_115200: t.CDefine = 1 + + +# 初始化UART 8250/16550 +def init(port: t.CUInt16T): + # 1. 禁用中断 + asm.outb(port + UART_IER, 0x00) + delay(1000) + # 2. 设置波特率除数(115200 bps) + asm.outb(port + UART_LCR, UART_LCR_DLAB) # 设置DLAB位 + delay(1000) + asm.outb(port + UART_DLL, 0x01) # 除数低位 (115200 bps) + delay(1000) + asm.outb(port + UART_DLM, 0x00) # 除数高位 + delay(1000) + # 3. 设置线路控制:8位数据位,1位停止位,无校验 + asm.outb(port + UART_LCR, UART_LCR_8BIT) + delay(1000) + # 4. 初始化FIFO + asm.outb(port + UART_FCR, 0x07) # 启用FIFO,清除接收和发送FIFO + delay(1000) + # 5. 设置调制解调器控制 + asm.outb(port + UART_MCR, 0x03) # 启用DTR、RTS + delay(1000) + # 6. 清除任何待处理的中断 + asm.inb(port + UART_IIR) + delay(1000) + asm.inb(port + UART_RBR) + delay(1000) + # 7. 等待一段时间让设备稳定 + delay(10000) + +# 延迟函数 +def delay(count: t.CInt): + for i in range(count): c.Asm("nop") + +# 检查发送缓冲区是否为空 +def isTransmitEmpty(port: t.CUInt16T) -> t.CInt: + return asm.inb(port + UART_LSR) & UART_LSR_THRE + +def putchar(port: t.CUInt16T, cr: t.CChar): + # 1. 处理换行符:串口终端需要\r\n才会正确换行,只发\n会错位 + if cr == '\n': + # 直接发送\r,避免递归调用 + timeout: t.CUInt32T = 1000000 + while ((asm.inb(port + UART_LSR) & UART_LSR_THRE) == 0) and timeout: + c.Asm("nop") + timeout -= 1 + if timeout == 0: return + asm.outb(port + UART_THR, '\r') + timeout = 1000000 + while ((asm.inb(port + UART_LSR) & UART_LSR_TEMT) == 0) and timeout: + c.Asm("nop") + timeout -= 1 + # 2. 等待发送缓冲区为空 + timeout: t.CUInt32T = 1000000 + while ((asm.inb(port + UART_LSR) & UART_LSR_THRE) == 0) and timeout: + c.Asm("nop") + timeout -= 1 + if timeout == 0: return + # 3. 发送字符 + asm.outb(port + UART_THR, cr) + # 4. 等待发送完成 + timeout = 1000000 + while ((asm.inb(port + UART_LSR) & UART_LSR_TEMT) == 0) and timeout: + c.Asm("nop") + timeout -= 1 + +# 检查是否有数据可读 +def isDataAvailable(port: t.CUInt16T) -> t.CInt: + return asm.inb(port + UART_LSR) & UART_LSR_DR + +# 读取一个字符 +def getchar(port: t.CUInt16T) -> t.CChar: + # 等待数据可用 + while not isDataAvailable(port): pass + # 读取字符 + return asm.inb(port + UART_RBR) diff --git a/Test/Kernel/drivers/storage/ide/ide.vp b/Test/Kernel/drivers/storage/ide/ide.vp new file mode 100644 index 0000000..d04d89e --- /dev/null +++ b/Test/Kernel/drivers/storage/ide/ide.vp @@ -0,0 +1,161 @@ +import asm +import t, c +import serial +import viperlib +import pci + + +class IDError(t.CEnum): + IDE_ERR_NONE: t.State = 0 + IDE_ERR_TIMEOUT: t.State + IDE_ERR_DEVICE_ERROR: t.State + IDE_ERR_DEVICE_BUSY: t.State + IDE_ERR_INVALID_PARAM: t.State + IDE_ERR_BUFFER_NULL: t.State + IDE_ERR_SECTOR_COUNT: t.State + IDE_ERR_DEVICE_NOT_READY: t.State + IDE_ERR_DEVICE_FAILURE: t.State + IDE_ERR_COMMAND_FAILED: t.State + IDE_ERR_INVALID_LBA: t.State + +IDE_baseport_PRIMARY: t.CDefine = 0x1F0 +IDE_baseport_SECONDARY: t.CDefine = 0x170 + +IDE_STATUS_BSY: t.CDefine = 0x80 +IDE_STATUS_DRDY: t.CDefine = 0x40 +IDE_STATUS_DF: t.CDefine = 0x20 +IDE_STATUS_DRQ: t.CDefine = 0x08 +IDE_STATUS_ERR: t.CDefine = 0x01 + +SECTOR_SIZE: t.CDefine = 512 + +_ide_initialized: t.CInt = 0 + +def waitReady(baseport: t.CUInt16T) -> t.CStatic | IDError: + timeout: t.CInt = 100000 + while timeout > 0: + status: t.CUInt8T = asm.inb(baseport + 7) + if status & IDE_STATUS_DF: + return IDError.IDE_ERR_DEVICE_FAILURE + if not status & IDE_STATUS_BSY and status & IDE_STATUS_DRDY: + return IDError.IDE_ERR_NONE + timeout -= 1 + return IDError.IDE_ERR_TIMEOUT + +def waitDataReady(baseport: t.CUInt16T) -> t.CStatic | IDError: + timeout: t.CInt = 100000 + while timeout > 0: + status: t.CUInt8T = asm.inb(baseport + 7) + if status & IDE_STATUS_ERR: return IDError.IDE_ERR_DEVICE_ERROR + if status & IDE_STATUS_DF: return IDError.IDE_ERR_DEVICE_FAILURE + if not status & IDE_STATUS_BSY and (status & IDE_STATUS_DRQ or status & IDE_STATUS_DRDY): + return IDError.IDE_ERR_NONE + timeout -= 1 + return IDError.IDE_ERR_TIMEOUT + +def init() -> t.CInt: + if _ide_initialized: return IDError.IDE_ERR_NONE + dbg: t.CArray[t.CChar, 120] + bus: t.CUInt8T + dev_n: t.CUInt8T + func: t.CUInt8T + for bus in range(2): + for dev_n in range(32): + for func in range(8): + vendor: t.CUInt16T = pci.pci_read16(bus, dev_n, func, 0x00) + if vendor == 0xFFFF: continue + cls: t.CUInt32T = pci.pci_get_class(bus, dev_n, func) + if cls == 0x010180 or cls == 0x0101: + cmd: t.CUInt16T = pci.pci_read16(bus, dev_n, func, 0x04) + pci.pci_write32(bus, dev_n, func, 0x04, t.CUInt32T(cmd | 0x0007)) + viperlib.snprintf(c.Addr(dbg), 120, "[ide] found at %d:%d:%d cmd=0x%04x\n", t.CInt(bus), t.CInt(dev_n), t.CInt(func), t.CUInt32T(pci.pci_read16(bus, dev_n, func, 0x04))) + serial.puts(dbg) + asm.outb(0x3F6, 0x04) + i: t.CInt + for i in range(10000): + asm.nop() + asm.outb(0x3F6, 0x00) + for i in range(10000): + asm.nop() + status: t.CUInt8T = asm.inb(0x1F7) + viperlib.snprintf(c.Addr(dbg), 120, "[ide] status=0x%02x\n", t.CUInt32T(status)) + serial.puts(dbg) + _ide_initialized = 1 + return IDError.IDE_ERR_NONE + +def readSector(lba: t.CUInt32T, buffer: t.CVoid | t.CPtr) -> t.CInt: + if buffer is None: return IDError.IDE_ERR_BUFFER_NULL + dbg: t.CArray[t.CChar, 120] + err: IDError = waitReady(IDE_baseport_PRIMARY) + if err != IDError.IDE_ERR_NONE: + viperlib.snprintf(c.Addr(dbg), 120, "[readSector] waitReady err=%d\n", t.CInt(err)) + serial.puts(dbg) + return err + asm.outb(0x3F6, 0x02) + asm.outb(0x1F2, 1) + asm.outb(0x1F3, t.CUInt8T(lba & 0xFF)) + asm.outb(0x1F4, t.CUInt8T((lba >> 8) & 0xFF)) + asm.outb(0x1F5, t.CUInt8T((lba >> 16) & 0xFF)) + asm.outb(0x1F6, t.CUInt8T(0xE0 | ((lba >> 24) & 0x0F))) + asm.outb(0x1F7, 0x20) + err = waitDataReady(IDE_baseport_PRIMARY) + if err != IDError.IDE_ERR_NONE: + st: t.CUInt8T = asm.inb(0x1F7) + viperlib.snprintf(c.Addr(dbg), 120, "[readSector] waitDataReady err=%d status=0x%02x\n", t.CInt(err), t.CUInt32T(st)) + serial.puts(dbg) + return err + st2: t.CUInt8T = asm.inb(0x1F7) + buf: t.CUInt16T | t.CPtr = t.CUInt16T(buffer, t.CPtr) + for j in range(256): + c.Set(c.Deref(buf), asm.inw(0x1F0)) + buf += 1 + first_byte: t.CUInt8T = c.Deref(t.CUInt8T(buffer, t.CPtr)) + # viperlib.snprintf(c.Addr(dbg), 120, "[readSector] lba=%lu status=0x%02x first=%02x\n", lba, t.CUInt32T(st2), t.CUInt32T(first_byte)) + # serial.puts(dbg) + return IDError.IDE_ERR_NONE + +def writeSector(lba: t.CUInt32T, buffer: t.CConst | t.CVoid | t.CPtr) -> t.CInt: + if buffer is None: return IDError.IDE_ERR_BUFFER_NULL + err: IDError = waitReady(IDE_baseport_PRIMARY) + if err != IDError.IDE_ERR_NONE: return err + asm.outb(0x3F6, 0x02) + asm.outb(0x1F2, 1) + asm.outb(0x1F3, t.CUInt8T(lba & 0xFF)) + asm.outb(0x1F4, t.CUInt8T((lba >> 8) & 0xFF)) + asm.outb(0x1F5, t.CUInt8T((lba >> 16) & 0xFF)) + asm.outb(0x1F6, t.CUInt8T(0xE0 | ((lba >> 24) & 0x0F))) + asm.outb(0x1F7, 0x30) + err = waitDataReady(IDE_baseport_PRIMARY) + if err != IDError.IDE_ERR_NONE: return err + buf: t.CUInt16T | t.CPtr = t.CUInt16T(buffer, t.CPtr) + for j in range(256): + val: t.CUInt16T = c.Deref(buf) + asm.outw(0x1F0, val) + buf += 1 + asm.outb(0x1F7, 0xE7) + waitReady(IDE_baseport_PRIMARY) + return IDError.IDE_ERR_NONE + +def getDiskSize() -> t.CUInt64T: + err: IDError = waitReady(IDE_baseport_PRIMARY) + if err != IDError.IDE_ERR_NONE: return 0 + asm.outb(0x1F6, 0xE0) + asm.outb(0x1F7, 0xEC) + err = waitDataReady(IDE_baseport_PRIMARY) + if err != IDError.IDE_ERR_NONE: return 0 + status: t.CUInt8T = asm.inb(0x1F7) + if not status & IDE_STATUS_DRDY: return 0 + if status & IDE_STATUS_ERR: return 0 + identify_data: t.CArray[t.CUInt16T, 256] + for i in range(256): + identify_data[i] = asm.inw(0x1F0) + totalSectors: t.CUInt64T = identify_data[60] | t.CUInt64T(identify_data[61]) << 16 + if identify_data[83] & (1 << 10): + lba48_sectors: t.CUInt64T = ( + t.CUInt64T(identify_data[100]) | + t.CUInt64T(identify_data[101]) << 16 | + t.CUInt64T(identify_data[102]) << 32 | + t.CUInt64T(identify_data[103]) << 48) + if lba48_sectors > totalSectors: + totalSectors = lba48_sectors + return totalSectors diff --git a/Test/Kernel/drivers/usb/hid/hid.vp b/Test/Kernel/drivers/usb/hid/hid.vp new file mode 100644 index 0000000..a771b42 --- /dev/null +++ b/Test/Kernel/drivers/usb/hid/hid.vp @@ -0,0 +1,37 @@ +import t, c +import drivers.usb.usb as usb + +HID_BOOT_PROTOCOL: t.CDefine = 0 +HID_REPORT_PROTOCOL: t.CDefine = 1 + +HID_KBD_REPORT_SIZE: t.CDefine = 8 +HID_MOUSE_REPORT_SIZE: t.CDefine = 4 + +class hid_kbd_report(t.CStruct): + modifier: t.CUInt8T + reserved: t.CUInt8T + keycode: t.CArray[t.CUInt8T, 6] + +class hid_mouse_report(t.CStruct): + buttons: t.CUInt8T + dx: t.CInt8T + dy: t.CInt8T + wheel: t.CInt8T + +def init_keyboard(dev: usb.usb_device | t.CPtr) -> t.CInt: + if dev.iface_class != 0x03: return -1 + if dev.iface_protocol != 0x01: return -2 + if dev.ep_in == 0: return -3 + return 0 + +def init_mouse(dev: usb.usb_device | t.CPtr) -> t.CInt: + if dev.iface_class != 0x03: return -1 + if dev.iface_protocol != 0x02: return -2 + if dev.ep_in == 0: return -3 + return 0 + +def read_keyboard(dev: usb.usb_device | t.CPtr, report: hid_kbd_report | t.CPtr) -> t.CInt: + return usb.read_interrupt(dev, c.Addr(report)) + +def read_mouse(dev: usb.usb_device | t.CPtr, report: hid_mouse_report | t.CPtr) -> t.CInt: + return usb.read_interrupt(dev, c.Addr(report)) diff --git a/Test/Kernel/drivers/usb/hid/usb_kbd.vp b/Test/Kernel/drivers/usb/hid/usb_kbd.vp new file mode 100644 index 0000000..0c953fc --- /dev/null +++ b/Test/Kernel/drivers/usb/hid/usb_kbd.vp @@ -0,0 +1,111 @@ +import t, c +import drivers.usb.usb as usb +import drivers.usb.hid.hid as hid +import drivers.usb.uhci as uhci +import drivers.serial.uart.serial as serial + +KBD_BUF_SIZE: t.CDefine = 1024 +KBD_EVT_PRESS: t.CDefine = 0 +KBD_EVT_RELEASE: t.CDefine = 1 + +class usb_kbd_event(t.CStruct): + modifier: t.CUInt8T + keycode: t.CUInt8T + event_type: t.CUInt8T + +kbd_buf: t.CArray[usb_kbd_event, KBD_BUF_SIZE] +kbd_buf_head: t.CInt = 0 +kbd_buf_tail: t.CInt = 0 +kbd_buf_count: t.CInt = 0 +kbd_dev: usb.usb_device | t.CPtr = None +kbd_report: hid.hid_kbd_report +kbd_prev_keycodes: t.CArray[t.CUInt8T, 6] +kbd_initialized: t.CInt = 0 +kbd_slot_id: t.CInt = -1 + +def init() -> t.CInt: + global kbd_dev, kbd_initialized, kbd_slot_id + dev: usb.usb_device | t.CPtr = usb.find_hid_device(0x01) + if dev is None: + serial.puts("[usb_kbd] no USB keyboard found\n") + return -1 + kbd_dev = dev + if hid.init_keyboard(dev) != 0: + serial.puts("[usb_kbd] init failed\n") + return -2 + kbd_initialized = 1 + serial.puts("[usb_kbd] initialized\n") + kbd_slot_id = uhci.register_int_callback(c.Addr(_on_int_complete)) + if kbd_slot_id < 0: + serial.puts("[usb_kbd] register callback failed\n") + kbd_initialized = 0 + return -3 + uhci.schedule_int_transfer(kbd_slot_id, dev.addr, dev.ep_in, dev.ls, t.CUInt8T(dev.ep_in_max), dev.ep_in_toggle, c.Addr(kbd_report)) + return 0 + +def _on_int_complete() -> t.CInt: + global kbd_buf_head, kbd_buf_tail, kbd_buf_count, kbd_prev_keycodes + if kbd_initialized == 0: return 0 + i: t.CInt + j: t.CInt + for i in range(6): + code: t.CUInt8T = kbd_report.keycode[i] + if code == 0: continue + found: t.CInt = 0 + for j in range(6): + if code == kbd_prev_keycodes[j]: + found = 1 + break + if found == 0: + if kbd_buf_count < KBD_BUF_SIZE: + kbd_buf[kbd_buf_tail].modifier = kbd_report.modifier + kbd_buf[kbd_buf_tail].keycode = code + kbd_buf[kbd_buf_tail].event_type = KBD_EVT_PRESS + kbd_buf_tail = kbd_buf_tail + 1 + if kbd_buf_tail >= KBD_BUF_SIZE: + kbd_buf_tail = 0 + kbd_buf_count += 1 + for i in range(6): + prev: t.CUInt8T = kbd_prev_keycodes[i] + if prev == 0: continue + found2: t.CInt = 0 + for j in range(6): + if prev == kbd_report.keycode[j]: + found2 = 1 + break + if found2 == 0: + if kbd_buf_count < KBD_BUF_SIZE: + kbd_buf[kbd_buf_tail].modifier = kbd_report.modifier + kbd_buf[kbd_buf_tail].keycode = prev + kbd_buf[kbd_buf_tail].event_type = KBD_EVT_RELEASE + kbd_buf_tail = kbd_buf_tail + 1 + if kbd_buf_tail >= KBD_BUF_SIZE: + kbd_buf_tail = 0 + kbd_buf_count += 1 + for i in range(6): + kbd_prev_keycodes[i] = kbd_report.keycode[i] + dev: usb.usb_device | t.CPtr = kbd_dev + if dev is not None and kbd_slot_id >= 0: + uhci.schedule_int_transfer(kbd_slot_id, dev.addr, dev.ep_in, dev.ls, t.CUInt8T(dev.ep_in_max), dev.ep_in_toggle, c.Addr(kbd_report)) + return 0 + +def has_data() -> t.CInt: + if kbd_buf_count > 0: return 1 + return 0 + +def poll() -> t.CInt: + if kbd_initialized == 0: return 0 + if kbd_buf_count > 0: return 1 + return 0 + +def read_event(out: usb_kbd_event | t.CPtr) -> t.CInt: + global kbd_buf_head, kbd_buf_count + if kbd_buf_count == 0: return -1 + out.modifier = kbd_buf[kbd_buf_head].modifier + out.keycode = kbd_buf[kbd_buf_head].keycode + out.event_type = kbd_buf[kbd_buf_head].event_type + kbd_buf_head = kbd_buf_head + 1 + if kbd_buf_head >= KBD_BUF_SIZE: + kbd_buf_head = 0 + kbd_buf_count -= 1 + return 0 diff --git a/Test/Kernel/drivers/usb/hid/usb_mouse.vp b/Test/Kernel/drivers/usb/hid/usb_mouse.vp new file mode 100644 index 0000000..96fdd49 --- /dev/null +++ b/Test/Kernel/drivers/usb/hid/usb_mouse.vp @@ -0,0 +1,77 @@ +import t, c +import drivers.usb.usb as usb +import drivers.usb.hid.hid as hid +import drivers.usb.uhci as uhci +import drivers.serial.uart.serial as serial + +MOUSE_BUF_SIZE: t.CDefine = 1024 + +class usb_mouse_packet(t.CStruct): + buttons: t.CUInt8T + dx: t.CInt16T + dy: t.CInt16T + wheel: t.CInt8T + +mse_buf: t.CArray[usb_mouse_packet, MOUSE_BUF_SIZE] +mse_buf_head: t.CInt = 0 +mse_buf_tail: t.CInt = 0 +mse_buf_count: t.CInt = 0 +mse_dev: usb.usb_device | t.CPtr = None +mse_report: hid.hid_mouse_report +mse_initialized: t.CInt = 0 +mse_slot_id: t.CInt = -1 + +def init() -> t.CInt: + global mse_dev, mse_initialized, mse_slot_id + dev: usb.usb_device | t.CPtr = usb.find_hid_device(0x02) + if dev is None: + serial.puts("[usb_mse] no USB mouse found\n") + return -1 + mse_dev = dev + if hid.init_mouse(dev) != 0: + serial.puts("[usb_mse] init failed\n") + return -2 + mse_initialized = 1 + serial.puts("[usb_mse] initialized\n") + mse_slot_id = uhci.register_int_callback(c.Addr(_on_int_complete)) + if mse_slot_id < 0: + serial.puts("[usb_mse] register callback failed\n") + mse_initialized = 0 + return -3 + uhci.schedule_int_transfer(mse_slot_id, dev.addr, dev.ep_in, dev.ls, t.CUInt8T(dev.ep_in_max), dev.ep_in_toggle, c.Addr(mse_report)) + return 0 + +def _on_int_complete() -> t.CInt: + global mse_buf_head, mse_buf_tail, mse_buf_count + if mse_initialized == 0: return 0 + if mse_report.dx != 0 or mse_report.dy != 0 or mse_report.buttons != 0: + if mse_buf_count < MOUSE_BUF_SIZE: + mse_buf[mse_buf_tail].buttons = mse_report.buttons + mse_buf[mse_buf_tail].dx = t.CInt16T(mse_report.dx) + mse_buf[mse_buf_tail].dy = t.CInt16T(mse_report.dy) + mse_buf[mse_buf_tail].wheel = mse_report.wheel + mse_buf_tail = mse_buf_tail + 1 + if mse_buf_tail >= MOUSE_BUF_SIZE: + mse_buf_tail = 0 + mse_buf_count += 1 + dev: usb.usb_device | t.CPtr = mse_dev + if dev is not None and mse_slot_id >= 0: + uhci.schedule_int_transfer(mse_slot_id, dev.addr, dev.ep_in, dev.ls, t.CUInt8T(dev.ep_in_max), dev.ep_in_toggle, c.Addr(mse_report)) + return 0 + +def has_data() -> t.CInt: + if mse_buf_count > 0: return 1 + return 0 + +def read_packet(out: usb_mouse_packet | t.CPtr) -> t.CInt: + global mse_buf_head, mse_buf_count + if mse_buf_count == 0: return -1 + out.buttons = mse_buf[mse_buf_head].buttons + out.dx = mse_buf[mse_buf_head].dx + out.dy = mse_buf[mse_buf_head].dy + out.wheel = mse_buf[mse_buf_head].wheel + mse_buf_head = mse_buf_head + 1 + if mse_buf_head >= MOUSE_BUF_SIZE: + mse_buf_head = 0 + mse_buf_count -= 1 + return 0 diff --git a/Test/Kernel/drivers/usb/pci.vp b/Test/Kernel/drivers/usb/pci.vp new file mode 100644 index 0000000..97fd0fc --- /dev/null +++ b/Test/Kernel/drivers/usb/pci.vp @@ -0,0 +1,93 @@ +import t, c +import asm + +PCI_CONFIG_ADDR: t.CDefine = 0xCF8 +PCI_CONFIG_DATA: t.CDefine = 0xCFC + +PCI_CLASS_SERIAL_USB: t.CDefine = 0x0C03 +PCI_CLASS_SERIAL_UHCI: t.CDefine = 0x0C0300 +PCI_CLASS_SERIAL_OHCI: t.CDefine = 0x0C0310 +PCI_CLASS_SERIAL_EHCI: t.CDefine = 0x0C0320 +PCI_CLASS_SERIAL_XHCI: t.CDefine = 0x0C0330 + +PCI_CMD_IO_SPACE: t.CDefine = 0x0001 +PCI_CMD_BUS_MASTER: t.CDefine = 0x0004 + +class pci_device(t.CStruct): + bus: t.CUInt8T + dev: t.CUInt8T + func: t.CUInt8T + vendor_id: t.CUInt16T + device_id: t.CUInt16T + class_code: t.CUInt32T + irq: t.CUInt8T + bar: t.CArray[t.CUInt32T, 6] + +def pci_read32(bus: t.CUInt8T, dev: t.CUInt8T, func: t.CUInt8T, offset: t.CUInt8T) -> t.CUInt32T: + addr: t.CUInt32T = 0x80000000 | (t.CUInt32T(bus) << 16) | (t.CUInt32T(dev) << 11) | (t.CUInt32T(func) << 8) | (t.CUInt32T(offset) & 0xFC) + asm.outl(PCI_CONFIG_ADDR, addr) + return asm.inl(PCI_CONFIG_DATA) + +def pci_write32(bus: t.CUInt8T, dev: t.CUInt8T, func: t.CUInt8T, offset: t.CUInt8T, value: t.CUInt32T): + addr: t.CUInt32T = 0x80000000 | (t.CUInt32T(bus) << 16) | (t.CUInt32T(dev) << 11) | (t.CUInt32T(func) << 8) | (t.CUInt32T(offset) & 0xFC) + asm.outl(PCI_CONFIG_ADDR, addr) + asm.outl(PCI_CONFIG_DATA, value) + +def pci_read16(bus: t.CUInt8T, dev: t.CUInt8T, func: t.CUInt8T, offset: t.CUInt8T) -> t.CUInt16T: + val: t.CUInt32T = pci_read32(bus, dev, func, offset) + shift: t.CUInt32T = (t.CUInt32T(offset) & 0x02) * 8 + return t.CUInt16T((val >> shift) & 0xFFFF) + +def pci_read8(bus: t.CUInt8T, dev: t.CUInt8T, func: t.CUInt8T, offset: t.CUInt8T) -> t.CUInt8T: + val: t.CUInt32T = pci_read32(bus, dev, func, offset) + shift: t.CUInt32T = (t.CUInt32T(offset) & 0x03) * 8 + return t.CUInt8T((val >> shift) & 0xFF) + +def pci_get_class(bus: t.CUInt8T, dev: t.CUInt8T, func: t.CUInt8T) -> t.CUInt32T: + cls: t.CUInt8T = pci_read8(bus, dev, func, 0x0B) + sub: t.CUInt8T = pci_read8(bus, dev, func, 0x0A) + proto: t.CUInt8T = pci_read8(bus, dev, func, 0x09) + return (t.CUInt32T(cls) << 16) | (t.CUInt32T(sub) << 8) | t.CUInt32T(proto) + +def pci_get_bar(bus: t.CUInt8T, dev: t.CUInt8T, func: t.CUInt8T, bar_idx: t.CUInt8T) -> t.CUInt32T: + return pci_read32(bus, dev, func, 0x10 + bar_idx * 4) + +def pci_enable_device(dev: pci_device | t.CPtr): + cmd: t.CUInt16T = pci_read16(dev.bus, dev.dev, dev.func, 0x04) + cmd = cmd | PCI_CMD_IO_SPACE | PCI_CMD_BUS_MASTER + pci_write32(dev.bus, dev.dev, dev.func, 0x04, t.CUInt32T(cmd)) + +def pci_fill_device(bus: t.CUInt8T, dev_n: t.CUInt8T, func: t.CUInt8T, out: pci_device | t.CPtr): + out.bus = bus + out.dev = dev_n + out.func = func + out.vendor_id = pci_read16(bus, dev_n, func, 0x00) + out.device_id = pci_read16(bus, dev_n, func, 0x02) + out.class_code = pci_get_class(bus, dev_n, func) + out.irq = pci_read8(bus, dev_n, func, 0x3C) + i: t.CInt + for i in range(6): + out.bar[i] = pci_get_bar(bus, dev_n, func, t.CUInt8T(i)) + +_uhci_dev: pci_device +_uhci_found: t.CInt = 0 + +def find_uhci() -> t.CUInt16T: + global _uhci_dev, _uhci_found + bus: t.CUInt8T + dev_n: t.CUInt8T + func: t.CUInt8T + for bus in range(1): + for dev_n in range(32): + for func in range(8): + vendor: t.CUInt16T = pci_read16(bus, dev_n, func, 0x00) + if vendor == 0xFFFF: continue + cls: t.CUInt32T = pci_get_class(bus, dev_n, func) + if cls == PCI_CLASS_SERIAL_UHCI: + pci_fill_device(bus, dev_n, func, c.Addr(_uhci_dev)) + pci_enable_device(c.Addr(_uhci_dev)) + _uhci_found = 1 + bar: t.CUInt32T = _uhci_dev.bar[4] + io_base: t.CUInt16T = t.CUInt16T(bar & 0xFFFE) + return io_base + return 0 diff --git a/Test/Kernel/drivers/usb/uhci.vp b/Test/Kernel/drivers/usb/uhci.vp new file mode 100644 index 0000000..72183ef --- /dev/null +++ b/Test/Kernel/drivers/usb/uhci.vp @@ -0,0 +1,415 @@ +import t, c +import asm +import mm.mm as mm +import viperstring as string +import drivers.serial.uart.serial as serial +import platform.pch.timer as timer +import intr.idt as idt +import platform.pch.pic as pic +import drivers.usb.pci as pci + +UHCI_USBCMD: t.CDefine = 0x00 +UHCI_USBSTS: t.CDefine = 0x02 +UHCI_USBINTR: t.CDefine = 0x04 +UHCI_FRNUM: t.CDefine = 0x06 +UHCI_FLBASEADD: t.CDefine = 0x08 +UHCI_SOFMOD: t.CDefine = 0x0C +UHCI_PORTSC1: t.CDefine = 0x10 +UHCI_PORTSC2: t.CDefine = 0x12 + +UHCI_CMD_RUN: t.CDefine = 0x0001 +UHCI_CMD_HCRESET: t.CDefine = 0x0002 +UHCI_CMD_GRESET: t.CDefine = 0x0004 +UHCI_CMD_MAXPKT: t.CDefine = 0x0080 +UHCI_CMD_CF: t.CDefine = 0x0040 + +UHCI_STS_HCHALTED: t.CDefine = 0x0020 +UHCI_STS_USBINT: t.CDefine = 0x0001 +UHCI_STS_USBERRINT: t.CDefine = 0x0002 +UHCI_STS_RESUME: t.CDefine = 0x0004 +UHCI_INTR_TIMEOUT: t.CDefine = 0x0001 +UHCI_INTR_RESUME: t.CDefine = 0x0002 +UHCI_INTR_IOC: t.CDefine = 0x0004 +UHCI_INTR_SHORT: t.CDefine = 0x0008 + +UHCI_PORT_CONNECT: t.CDefine = 0x0001 +UHCI_PORT_CONNECT_CHANGE: t.CDefine = 0x0002 +UHCI_PORT_ENABLE: t.CDefine = 0x0004 +UHCI_PORT_ENABLE_CHANGE: t.CDefine = 0x0008 +UHCI_PORT_RESET: t.CDefine = 0x0200 +UHCI_PORT_LOW_SPEED: t.CDefine = 0x0100 + +TD_CTRL_ACTIVE: t.CDefine = 0x00800000 +TD_CTRL_IOC: t.CDefine = 0x01000000 +TD_CTRL_LS: t.CDefine = 0x04000000 +TD_CTRL_SPD: t.CDefine = 0x20000000 +TD_CTRL_CERR_SHIFT: t.CDefine = 27 +TD_CTRL_CERR_MASK: t.CDefine = 0x18000000 + +TD_TOKEN_SETUP: t.CDefine = 0x2D +TD_TOKEN_IN: t.CDefine = 0x69 +TD_TOKEN_OUT: t.CDefine = 0xE1 + +TD_TOKEN_DATA0: t.CDefine = 0 +TD_TOKEN_DATA1: t.CDefine = 1 + +TD_LINK_TERMINATE: t.CDefine = 0x00000001 +TD_LINK_QH: t.CDefine = 0x00000002 +TD_LINK_DEPTH_FIRST: t.CDefine = 0x00000004 + +UHCI_NUM_FRAMES: t.CDefine = 1024 +UHCI_INT_SLOTS: t.CDefine = 4 + +class uhci_td(t.CStruct): + link: t.CUInt32T + ctrl_status: t.CUInt32T + token: t.CUInt32T + buffer: t.CUInt32T + +class uhci_qh(t.CStruct): + link: t.CUInt32T + element: t.CUInt32T + +class int_slot(t.CStruct): + td: uhci_td | t.CPtr + callback: t.CInt | t.CPtr + active: t.CInt + qh: uhci_qh | t.CPtr + +_io_base: t.CUInt16T = 0 +_frame_list: t.CUInt32T | t.CPtr = None +_ctrl_qh: uhci_qh | t.CPtr = None +_bulk_qh: uhci_qh | t.CPtr = None +_irq: t.CInt = -1 +_int_slots: t.CArray[int_slot, UHCI_INT_SLOTS] +_int_slot_count: t.CInt = 0 + +def _reg_read16(offset: t.CUInt16T) -> t.CUInt16T: + return asm.inw(_io_base + offset) + +def _reg_write16(offset: t.CUInt16T, value: t.CUInt16T): + asm.outw(_io_base + offset, value) + +def _reg_read32(offset: t.CUInt16T) -> t.CUInt32T: + return asm.inl(_io_base + offset) + +def _reg_write32(offset: t.CUInt16T, value: t.CUInt32T): + asm.outl(_io_base + offset, value) + +def _uhci_irq_handler() -> t.CInt: + sts: t.CUInt16T = _reg_read16(UHCI_USBSTS) + _reg_write16(UHCI_USBSTS, sts) + if (sts & (UHCI_STS_USBINT | UHCI_STS_USBERRINT)) == 0: + return 0 + for si in range(_int_slot_count): + slot: int_slot | t.CPtr = c.Addr(_int_slots[si]) + if slot.active and slot.td is not None and slot.callback is not None: + status: t.CUInt32T = slot.td.ctrl_status + if (status & TD_CTRL_ACTIVE) == 0: + slot.active = 0 + c.Asm(f"""mov rbp, rsp + and rsp, -16 + call {c.AsmInp(slot.callback, t.ASM_DESCR.REG_ANY)} + mov rsp, rbp""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RBX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_RSI, t.ASM_DESCR.CLOBBER_RDI, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11, + t.ASM_DESCR.CLOBBER_RBP]) + return 0 + +def register_int_callback(cb: t.CInt | t.CPtr) -> t.CInt: + global _int_slot_count + if _int_slot_count >= UHCI_INT_SLOTS: + return -1 + si: t.CInt = _int_slot_count + qh: uhci_qh | t.CPtr = mm.malloc_direct(uhci_qh.__sizeof__()) + if qh is None: + return -2 + string.memset(c.Addr(qh), 0, uhci_qh.__sizeof__()) + _qh_set_link(qh, 0, 0, 1) + _qh_set_element(qh, 0, 1) + td: uhci_td | t.CPtr = mm.malloc_direct(uhci_td.__sizeof__()) + if td is None: + return -3 + string.memset(c.Addr(td), 0, uhci_td.__sizeof__()) + slot: int_slot | t.CPtr = c.Addr(_int_slots[si]) + slot.td = td + slot.callback = cb + slot.active = 0 + slot.qh = qh + _int_slot_count = si + 1 + _rebuild_int_chain() + return si + +def schedule_int_transfer(slot_id: t.CInt, dev_addr: t.CUInt8T, endpoint: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, toggle_ptr: t.CUInt8T | t.CPtr, buf: t.CVoid | t.CPtr): + if slot_id < 0 or slot_id >= _int_slot_count: + return + slot: int_slot | t.CPtr = c.Addr(_int_slots[slot_id]) + td: uhci_td | t.CPtr = slot.td + qh: uhci_qh | t.CPtr = slot.qh + if td is None or qh is None: + return + string.memset(c.Addr(td), 0, uhci_td.__sizeof__()) + _td_set_link(td, 0, 0, 1) + _td_set_ctrl(td, ls, max_pkt) + _td_set_token(td, TD_TOKEN_IN, dev_addr, endpoint, toggle_ptr, max_pkt) + td.ctrl_status = td.ctrl_status | TD_CTRL_IOC + td.buffer = t.CUInt32T(t.CUInt64T(buf)) + _qh_set_element(qh, t.CUInt32T(t.CUInt64T(td)), 0) + slot.active = 1 + +def _rebuild_int_chain(): + if _int_slot_count == 0: + return + first_qh: uhci_qh | t.CPtr = None + prev_qh: uhci_qh | t.CPtr = None + for si in range(_int_slot_count): + cur_qh: uhci_qh | t.CPtr = _int_slots[si].qh + if cur_qh is not None: + if first_qh is None: + first_qh = cur_qh + if prev_qh is not None: + _qh_set_link(prev_qh, t.CUInt32T(t.CUInt64T(cur_qh)) | TD_LINK_QH, 1, 0) + prev_qh = cur_qh + if prev_qh is not None: + _qh_set_link(prev_qh, t.CUInt32T(t.CUInt64T(_ctrl_qh)) | TD_LINK_QH, 1, 0) + if first_qh is not None: + qh_addr: t.CUInt32T = t.CUInt32T(t.CUInt64T(first_qh)) | TD_LINK_QH + i: t.CInt + for i in range(UHCI_NUM_FRAMES): + entry_ptr: t.CUInt32T | t.CPtr = _frame_list + t.CUInt64T(i) * 4 + c.Set(c.Deref(entry_ptr), qh_addr) + +def _td_set_link(td: uhci_td | t.CPtr, addr: t.CUInt32T, is_qh: t.CInt, terminate: t.CInt): + val: t.CUInt32T = (addr & 0xFFFFFFF0) + if is_qh: val = val | TD_LINK_QH + if terminate: val = val | TD_LINK_TERMINATE + td.link = val + +def _td_set_token(td: uhci_td | t.CPtr, pid: t.CUInt8T, dev_addr: t.CUInt8T, endpoint: t.CUInt8T, toggle: t.CUInt8T, max_len: t.CUInt16T): + len_bits: t.CUInt32T + if max_len == 0: + len_bits = 0x7FF + else: + len_bits = t.CUInt32T(max_len) - 1 + td.token = (t.CUInt32T(pid) << 0) | (t.CUInt32T(dev_addr) << 8) | (t.CUInt32T(endpoint & 0x0F) << 15) | (t.CUInt32T(toggle & 1) << 19) | (len_bits << 21) + +def _td_set_ctrl(td: uhci_td | t.CPtr, ls: t.CInt, maxlen: t.CUInt16T): + td.ctrl_status = TD_CTRL_ACTIVE | (3 << TD_CTRL_CERR_SHIFT) + if ls: td.ctrl_status = td.ctrl_status | TD_CTRL_LS + +def _qh_set_link(qh: uhci_qh | t.CPtr, addr: t.CUInt32T, is_qh: t.CInt, terminate: t.CInt): + val: t.CUInt32T = (addr & 0xFFFFFFF0) + if is_qh: val = val | TD_LINK_QH + if terminate: val = val | TD_LINK_TERMINATE + qh.link = val + +def _qh_set_element(qh: uhci_qh | t.CPtr, addr: t.CUInt32T, terminate: t.CInt): + val: t.CUInt32T = (addr & 0xFFFFFFF0) + if terminate: val = val | TD_LINK_TERMINATE + qh.element = val + +def _wait_for_complete(td: uhci_td | t.CPtr, timeout_ms: t.CInt) -> t.CInt: + start: t.CUInt64T = timer.timer_get_ticks() + deadline: t.CUInt64T = start + t.CUInt64T(timeout_ms) + poll_cnt: t.CInt = 0 + while timer.timer_get_ticks() < deadline: + status: t.CUInt32T = td.ctrl_status + if (status & TD_CTRL_ACTIVE) == 0: + if (status & 0x00600000) != 0: + return -1 + return 0 + poll_cnt += 1 + if poll_cnt >= 100: + poll_cnt = 0 + asm.sti() + asm.hlt() + return -2 + +def reset(io_base: t.CUInt16T) -> t.CInt: + global _io_base + _io_base = io_base + _reg_write16(UHCI_USBCMD, UHCI_CMD_HCRESET) + i: t.CInt + for i in range(1000): + if (_reg_read16(UHCI_USBCMD) & UHCI_CMD_HCRESET) == 0: + break + _reg_write16(UHCI_USBSTS, 0xFFFF) + _reg_write16(UHCI_USBINTR, 0x0000) + return 0 + +def init(io_base: t.CUInt16T) -> t.CInt: + global _io_base, _frame_list, _ctrl_qh, _bulk_qh, _int_slot_count + _io_base = io_base + _int_slot_count = 0 + + serial.puts("[uhci] resetting...\n") + if reset(io_base) != 0: + serial.puts("[uhci] reset failed\n") + return -1 + + serial.puts("[uhci] allocating frame list...\n") + _frame_list = mm.malloc(UHCI_NUM_FRAMES * 4) + if _frame_list is None: + serial.puts("[uhci] frame list alloc failed\n") + return -2 + string.memset(_frame_list, 0, UHCI_NUM_FRAMES * 4) + + _ctrl_qh = mm.malloc_direct(uhci_qh.__sizeof__()) + if _ctrl_qh is None: + serial.puts("[uhci] ctrl_qh alloc failed\n") + return -3 + string.memset(c.Addr(_ctrl_qh), 0, uhci_qh.__sizeof__()) + _qh_set_link(_ctrl_qh, 0, 0, 1) + _qh_set_element(_ctrl_qh, 0, 1) + + _bulk_qh = mm.malloc_direct(uhci_qh.__sizeof__()) + if _bulk_qh is None: + serial.puts("[uhci] bulk_qh alloc failed\n") + return -4 + string.memset(c.Addr(_bulk_qh), 0, uhci_qh.__sizeof__()) + _qh_set_link(_bulk_qh, 0, 0, 1) + _qh_set_element(_bulk_qh, 0, 1) + + serial.puts("[uhci] setting up frame list...\n") + qh_addr: t.CUInt32T = t.CUInt32T(c.Addr(_ctrl_qh)) | TD_LINK_QH + i: t.CInt + for i in range(UHCI_NUM_FRAMES): + entry_ptr: t.CUInt32T | t.CPtr = _frame_list + t.CUInt64T(i) * 4 + c.Set(c.Deref(entry_ptr), qh_addr) + + _reg_write32(UHCI_FLBASEADD, t.CUInt32T(t.CUInt64T(_frame_list))) + _reg_write16(UHCI_FRNUM, 0) + _reg_write16(UHCI_SOFMOD, 64) + + _reg_write16(UHCI_USBCMD, UHCI_CMD_CF | UHCI_CMD_MAXPKT | UHCI_CMD_RUN) + + timer.timer_msleep(10) + + _reg_write16(UHCI_USBSTS, 0xFFFF) + _reg_write16(UHCI_USBINTR, UHCI_INTR_IOC | UHCI_INTR_SHORT) + + _irq = t.CInt(pci._uhci_dev.irq) + if _irq > 0 and _irq < 16: + idt.irqInstallHandler(_irq, _uhci_irq_handler, "uhci") + pic.clearMask(t.CUInt8T(_irq)) + + serial.puts("[uhci] started\n") + return 0 + +def port_reset(port: t.CInt) -> t.CInt: + sc: t.CUInt16T + if port == 0: + sc = _reg_read16(UHCI_PORTSC1) + else: + sc = _reg_read16(UHCI_PORTSC2) + + if (sc & UHCI_PORT_CONNECT) == 0: + return -1 + + if port == 0: + _reg_write16(UHCI_PORTSC1, sc | UHCI_PORT_CONNECT_CHANGE | UHCI_PORT_ENABLE_CHANGE) + else: + _reg_write16(UHCI_PORTSC2, sc | UHCI_PORT_CONNECT_CHANGE | UHCI_PORT_ENABLE_CHANGE) + + if port == 0: + _reg_write16(UHCI_PORTSC1, UHCI_PORT_RESET) + else: + _reg_write16(UHCI_PORTSC2, UHCI_PORT_RESET) + + timer.timer_msleep(50) + + if port == 0: + _reg_write16(UHCI_PORTSC1, 0x0000) + else: + _reg_write16(UHCI_PORTSC2, 0x0000) + + timer.timer_msleep(10) + + if port == 0: + sc = _reg_read16(UHCI_PORTSC1) + _reg_write16(UHCI_PORTSC1, sc | UHCI_PORT_ENABLE | UHCI_PORT_CONNECT_CHANGE | UHCI_PORT_ENABLE_CHANGE) + else: + sc = _reg_read16(UHCI_PORTSC2) + _reg_write16(UHCI_PORTSC2, sc | UHCI_PORT_ENABLE | UHCI_PORT_CONNECT_CHANGE | UHCI_PORT_ENABLE_CHANGE) + + timer.timer_msleep(10) + + if port == 0: + sc = _reg_read16(UHCI_PORTSC1) + else: + sc = _reg_read16(UHCI_PORTSC2) + + if (sc & UHCI_PORT_ENABLE) == 0: + return -2 + + return 0 + +def port_is_connected(port: t.CInt) -> t.CInt: + sc: t.CUInt16T + if port == 0: + sc = _reg_read16(UHCI_PORTSC1) + else: + sc = _reg_read16(UHCI_PORTSC2) + if sc & UHCI_PORT_CONNECT: return 1 + return 0 + +def port_is_low_speed(port: t.CInt) -> t.CInt: + sc: t.CUInt16T + if port == 0: + sc = _reg_read16(UHCI_PORTSC1) + else: + sc = _reg_read16(UHCI_PORTSC2) + if sc & UHCI_PORT_LOW_SPEED: return 1 + return 0 + +def control_transfer(dev_addr: t.CUInt8T, endpoint: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, setup_buf: t.CVoid | t.CPtr, data_buf: t.CVoid | t.CPtr, data_len: t.CUInt16T, data_in: t.CInt) -> t.CInt: + td_count: t.CInt = 2 + if data_len > 0: + td_count = td_count + 1 + total: t.CUInt64T = t.CUInt64T(td_count) * uhci_td.__sizeof__() + tds: uhci_td | t.CPtr = mm.malloc_direct(total) + if tds is None: return -1 + string.memset(c.Addr(tds), 0, total) + + setup_td: uhci_td | t.CPtr = tds + _td_set_link(setup_td, t.CUInt32T(t.CUInt64T(tds) + uhci_td.__sizeof__()), 0, 0) + _td_set_ctrl(setup_td, ls, 8) + _td_set_token(setup_td, TD_TOKEN_SETUP, dev_addr, endpoint, TD_TOKEN_DATA0, 8) + setup_td.buffer = t.CUInt32T(t.CUInt64T(setup_buf)) + + if data_len > 0: + data_td: uhci_td | t.CPtr = t.CUInt64T(tds) + uhci_td.__sizeof__() + _td_set_link(data_td, t.CUInt32T(t.CUInt64T(data_td) + uhci_td.__sizeof__()), 0, 0) + _td_set_ctrl(data_td, ls, max_pkt) + if data_in: + _td_set_token(data_td, TD_TOKEN_IN, dev_addr, endpoint, TD_TOKEN_DATA1, data_len) + else: + _td_set_token(data_td, TD_TOKEN_OUT, dev_addr, endpoint, TD_TOKEN_DATA1, data_len) + data_td.buffer = t.CUInt32T(t.CUInt64T(data_buf)) + + status_td: uhci_td | t.CPtr = t.CUInt64T(data_td) + uhci_td.__sizeof__() + _td_set_link(status_td, 0, 0, 1) + _td_set_ctrl(status_td, ls, max_pkt) + if data_in: + _td_set_token(status_td, TD_TOKEN_OUT, dev_addr, endpoint, TD_TOKEN_DATA1, 0) + else: + _td_set_token(status_td, TD_TOKEN_IN, dev_addr, endpoint, TD_TOKEN_DATA1, 0) + status_td.buffer = 0 + else: + status_td: uhci_td | t.CPtr = t.CUInt64T(tds) + uhci_td.__sizeof__() + _td_set_link(status_td, 0, 0, 1) + _td_set_ctrl(status_td, ls, max_pkt) + _td_set_token(status_td, TD_TOKEN_IN, dev_addr, endpoint, TD_TOKEN_DATA1, 0) + status_td.buffer = 0 + + _qh_set_element(_ctrl_qh, t.CUInt32T(t.CUInt64T(setup_td)), 0) + + result: t.CInt = _wait_for_complete(status_td, 500) + + _qh_set_element(_ctrl_qh, 0, 1) + mm.free(tds) + return result diff --git a/Test/Kernel/drivers/usb/usb.vp b/Test/Kernel/drivers/usb/usb.vp new file mode 100644 index 0000000..d0f8d47 --- /dev/null +++ b/Test/Kernel/drivers/usb/usb.vp @@ -0,0 +1,330 @@ +import t, c +import mm.mm as mm +import viperstring as string +import drivers.serial.uart.serial as serial +import drivers.usb.uhci as uhci +import drivers.usb.pci as pci +import platform.pch.timer as timer +import viperlib + +USB_DESC_DEVICE: t.CDefine = 1 +USB_DESC_CONFIG: t.CDefine = 2 +USB_DESC_STRING: t.CDefine = 3 +USB_DESC_INTERFACE: t.CDefine = 4 +USB_DESC_ENDPOINT: t.CDefine = 5 + +USB_REQ_GET_STATUS: t.CDefine = 0 +USB_REQ_CLEAR_FEATURE: t.CDefine = 1 +USB_REQ_SET_FEATURE: t.CDefine = 3 +USB_REQ_SET_ADDRESS: t.CDefine = 5 +USB_REQ_GET_DESCRIPTOR: t.CDefine = 6 +USB_REQ_SET_DESCRIPTOR: t.CDefine = 7 +USB_REQ_GET_CONFIGURATION: t.CDefine = 8 +USB_REQ_SET_CONFIGURATION: t.CDefine = 9 + +USB_REQ_SET_INTERFACE: t.CDefine = 11 + +HID_CLASS: t.CDefine = 0x03 +HID_SUBCLASS_BOOT: t.CDefine = 0x01 +HID_PROTO_KEYBOARD: t.CDefine = 0x01 +HID_PROTO_MOUSE: t.CDefine = 0x02 + +HID_REQ_SET_PROTOCOL: t.CDefine = 0x0B +HID_REQ_SET_IDLE: t.CDefine = 0x0A +HID_REQ_GET_REPORT: t.CDefine = 0x01 + +USB_MAX_DEVICES: t.CDefine = 8 + +class usb_dev_desc(t.CStruct): + bLength: t.CUInt8T + bDescriptorType: t.CUInt8T + bcdUSB: t.CUInt16T + bDeviceClass: t.CUInt8T + bDeviceSubClass: t.CUInt8T + bDeviceProtocol: t.CUInt8T + bMaxPacketSize0: t.CUInt8T + idVendor: t.CUInt16T + idProduct: t.CUInt16T + bcdDevice: t.CUInt16T + iManufacturer: t.CUInt8T + iProduct: t.CUInt8T + iSerialNumber: t.CUInt8T + bNumConfigurations: t.CUInt8T + +class usb_config_desc(t.CStruct): + bLength: t.CUInt8T + bDescriptorType: t.CUInt8T + wTotalLength: t.CUInt16T + bNumInterfaces: t.CUInt8T + bConfigurationValue: t.CUInt8T + iConfiguration: t.CUInt8T + bmAttributes: t.CUInt8T + bMaxPower: t.CUInt8T + +class usb_iface_desc(t.CStruct): + bLength: t.CUInt8T + bDescriptorType: t.CUInt8T + bInterfaceNumber: t.CUInt8T + bAlternateSetting: t.CUInt8T + bNumEndpoints: t.CUInt8T + bInterfaceClass: t.CUInt8T + bInterfaceSubClass: t.CUInt8T + bInterfaceProtocol: t.CUInt8T + iInterface: t.CUInt8T + +class usb_ep_desc(t.CStruct): + bLength: t.CUInt8T + bDescriptorType: t.CUInt8T + bEndpointAddress: t.CUInt8T + bmAttributes: t.CUInt8T + wMaxPacketSize: t.CUInt16T + bInterval: t.CUInt8T + +class usb_setup_pkt(t.CStruct): + bmRequestType: t.CUInt8T + bRequest: t.CUInt8T + wValue: t.CUInt16T + wIndex: t.CUInt16T + wLength: t.CUInt16T + +class usb_device(t.CStruct): + addr: t.CUInt8T + ls: t.CInt + max_pkt0: t.CUInt8T + iface_class: t.CUInt8T + iface_subclass: t.CUInt8T + iface_protocol: t.CUInt8T + iface_num: t.CUInt8T + ep_in: t.CUInt8T + ep_in_max: t.CUInt16T + ep_in_interval: t.CUInt8T + ep_in_toggle: t.CUInt8T + configured: t.CInt + +_devices: t.CArray[usb_device, USB_MAX_DEVICES] +_device_count: t.CInt = 0 + +def _setup_packet(bmRequestType: t.CUInt8T, bRequest: t.CUInt8T, wValue: t.CUInt16T, wIndex: t.CUInt16T, wLength: t.CUInt16T, buf: usb_setup_pkt | t.CPtr): + buf.bmRequestType = bmRequestType + buf.bRequest = bRequest + buf.wValue = wValue + buf.wIndex = wIndex + buf.wLength = wLength + +def _send_control(dev_addr: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, setup: usb_setup_pkt | t.CPtr, data_buf: t.CVoid | t.CPtr, data_len: t.CUInt16T, data_in: t.CInt) -> t.CInt: + return uhci.control_transfer(dev_addr, 0, ls, max_pkt, c.Addr(setup), data_buf, data_len, data_in) + +def get_descriptor(dev_addr: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, desc_type: t.CUInt8T, desc_idx: t.CUInt8T, buf: t.CVoid | t.CPtr, length: t.CUInt16T) -> t.CInt: + setup: usb_setup_pkt + _setup_packet(0x80, USB_REQ_GET_DESCRIPTOR, (t.CUInt16T(desc_type) << 8) | desc_idx, 0, length, c.Addr(setup)) + return _send_control(dev_addr, ls, max_pkt, c.Addr(setup), buf, length, 1) + +def set_address(dev_addr: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, new_addr: t.CUInt8T) -> t.CInt: + setup: usb_setup_pkt + _setup_packet(0x00, USB_REQ_SET_ADDRESS, new_addr, 0, 0, c.Addr(setup)) + return _send_control(dev_addr, ls, max_pkt, c.Addr(setup), None, 0, 0) + +def set_configuration(dev_addr: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, config_val: t.CUInt8T) -> t.CInt: + setup: usb_setup_pkt + _setup_packet(0x00, USB_REQ_SET_CONFIGURATION, config_val, 0, 0, c.Addr(setup)) + return _send_control(dev_addr, ls, max_pkt, c.Addr(setup), None, 0, 0) + +def hid_set_protocol(dev_addr: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, iface: t.CUInt8T, protocol: t.CUInt8T) -> t.CInt: + setup: usb_setup_pkt + _setup_packet(0x21, HID_REQ_SET_PROTOCOL, protocol, t.CUInt16T(iface), 0, c.Addr(setup)) + return _send_control(dev_addr, ls, max_pkt, c.Addr(setup), None, 0, 0) + +def hid_set_idle(dev_addr: t.CUInt8T, ls: t.CInt, max_pkt: t.CUInt8T, iface: t.CUInt8T, duration: t.CUInt8T) -> t.CInt: + setup: usb_setup_pkt + _setup_packet(0x21, HID_REQ_SET_IDLE, t.CUInt16T(duration) << 8, t.CUInt16T(iface), 0, c.Addr(setup)) + return _send_control(dev_addr, ls, max_pkt, c.Addr(setup), None, 0, 0) + +def _parse_config(dev: usb_device | t.CPtr, config_buf: t.CVoid | t.CPtr, total_len: t.CUInt16T): + offset: t.CInt = 0 + found_hid: t.CInt = 0 + while offset < t.CInt(total_len): + p: t.CUInt8T | t.CPtr = config_buf + t.CUInt64T(offset) + desc_len: t.CUInt8T = c.Deref(p) + p2: t.CUInt8T | t.CPtr = config_buf + t.CUInt64T(offset) + 1 + desc_type: t.CUInt8T = c.Deref(p2) + if desc_len == 0: break + if desc_type == USB_DESC_INTERFACE: + iface: usb_iface_desc | t.CPtr = config_buf + t.CUInt64T(offset) + if iface.bInterfaceClass == HID_CLASS: + found_hid = 1 + dev.iface_class = HID_CLASS + dev.iface_subclass = iface.bInterfaceSubClass + dev.iface_protocol = iface.bInterfaceProtocol + dev.iface_num = iface.bInterfaceNumber + if desc_type == USB_DESC_ENDPOINT and found_hid: + ep: usb_ep_desc | t.CPtr = config_buf + t.CUInt64T(offset) + if (ep.bEndpointAddress & 0x80) != 0: + dev.ep_in = ep.bEndpointAddress & 0x0F + dev.ep_in_max = ep.wMaxPacketSize + dev.ep_in_interval = ep.bInterval + found_hid = 0 + offset = offset + t.CInt(desc_len) + +def enumerate_port(port: t.CInt) -> t.CInt: + global _device_count + if _device_count >= USB_MAX_DEVICES: return -1 + + ls: t.CInt = uhci.port_is_low_speed(port) + + reset_ok: t.CInt = -1 + reset_retry: t.CInt + for reset_retry in range(3): + if uhci.port_reset(port) == 0: + reset_ok = 0 + break + timer.timer_msleep(50) + if reset_ok != 0: + return -2 + + timer.timer_msleep(10) + + dev_buf: t.CVoid | t.CPtr = mm.malloc(usb_dev_desc.__sizeof__()) + if dev_buf is None: return -3 + string.memset(dev_buf, 0, usb_dev_desc.__sizeof__()) + + result: t.CInt = get_descriptor(0, ls, 8, USB_DESC_DEVICE, 0, dev_buf, 8) + retry: t.CInt + for retry in range(3): + if result == 0: break + timer.timer_msleep(50) + uhci.port_reset(port) + timer.timer_msleep(10) + result = get_descriptor(0, ls, 8, USB_DESC_DEVICE, 0, dev_buf, 8) + if result != 0: + mm.free(dev_buf) + return -4 + + desc: usb_dev_desc | t.CPtr = dev_buf + max_pkt: t.CUInt8T = desc.bMaxPacketSize0 + if max_pkt < 8: max_pkt = 8 + + new_addr: t.CUInt8T = t.CUInt8T(_device_count + 1) + result = set_address(0, ls, max_pkt, new_addr) + for retry in range(3): + if result == 0: break + timer.timer_msleep(20) + result = set_address(0, ls, max_pkt, new_addr) + if result != 0: + mm.free(dev_buf) + return -5 + + timer.timer_msleep(10) + + dev: usb_device | t.CPtr = c.Addr(_devices[_device_count]) + dev.addr = new_addr + dev.ls = ls + dev.max_pkt0 = max_pkt + dev.configured = 0 + dev.iface_class = 0 + dev.iface_subclass = 0 + dev.iface_protocol = 0 + dev.ep_in = 0 + dev.ep_in_max = 0 + dev.ep_in_interval = 0 + dev.ep_in_toggle = 0 + + config_buf: t.CVoid | t.CPtr = mm.malloc(256) + if config_buf is None: + mm.free(dev_buf) + return -6 + string.memset(config_buf, 0, 256) + + result = get_descriptor(new_addr, ls, max_pkt, USB_DESC_CONFIG, 0, config_buf, 9) + for retry in range(3): + if result == 0: break + timer.timer_msleep(50) + result = get_descriptor(new_addr, ls, max_pkt, USB_DESC_CONFIG, 0, config_buf, 9) + if result != 0: + mm.free(config_buf) + mm.free(dev_buf) + return -7 + + cfg: usb_config_desc | t.CPtr = config_buf + total_len: t.CUInt16T = cfg.wTotalLength + if total_len > 256: total_len = 256 + + result = get_descriptor(new_addr, ls, max_pkt, USB_DESC_CONFIG, 0, config_buf, total_len) + for retry in range(3): + if result == 0: break + timer.timer_msleep(50) + result = get_descriptor(new_addr, ls, max_pkt, USB_DESC_CONFIG, 0, config_buf, total_len) + if result != 0: + mm.free(config_buf) + mm.free(dev_buf) + return -8 + + _parse_config(dev, config_buf, total_len) + + result = set_configuration(new_addr, ls, max_pkt, cfg.bConfigurationValue) + if result != 0: + mm.free(config_buf) + mm.free(dev_buf) + return -9 + + dev.configured = 1 + + if dev.iface_class == HID_CLASS: + hid_set_protocol(new_addr, ls, max_pkt, dev.iface_num, 0) + hid_set_idle(new_addr, ls, max_pkt, dev.iface_num, 0) + + _device_count = _device_count + 1 + mm.free(config_buf) + mm.free(dev_buf) + return t.CInt(new_addr) + +def init() -> t.CInt: + global _device_count + _device_count = 0 + + io_base: t.CUInt16T = pci.find_uhci() + if io_base == 0: + serial.puts("[usb] UHCI controller not found\n") + return -1 + + buf: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(buf), 64, "[usb] UHCI at I/O 0x%04X\n", t.CUInt32T(io_base)) + serial.puts(buf) + + if uhci.init(io_base) != 0: + serial.puts("[usb] UHCI init failed\n") + return -2 + + serial.puts("[usb] UHCI initialized\n") + + timer.timer_msleep(50) + + port: t.CInt + for port in range(2): + if uhci.port_is_connected(port): + viperlib.snprintf(c.Addr(buf), 64, "[usb] port %d connected\n", t.CUInt32T(port)) + serial.puts(buf) + dev_id: t.CInt = enumerate_port(port) + if dev_id > 0: + dev: usb_device | t.CPtr = c.Addr(_devices[dev_id - 1]) + viperlib.snprintf(c.Addr(buf), 64, "[usb] device addr=%d class=%02X proto=%02X ep=%d\n", + t.CUInt32T(dev.addr), t.CUInt32T(dev.iface_class), + t.CUInt32T(dev.iface_protocol), t.CUInt32T(dev.ep_in)) + serial.puts(buf) + else: + viperlib.snprintf(c.Addr(buf), 64, "[usb] enumerate port %d failed: %d\n", t.CUInt32T(port), t.CInt32T(dev_id)) + serial.puts(buf) + + return _device_count + +def find_hid_device(protocol: t.CUInt8T) -> usb_device | t.CPtr: + i: t.CInt + for i in range(_device_count): + dev: usb_device | t.CPtr = c.Addr(_devices[i]) + if dev.iface_class == HID_CLASS: + if dev.iface_protocol == protocol: + if dev.configured != 0: + return dev + return None + +def read_interrupt(dev: usb_device | t.CPtr, buf: t.CVoid | t.CPtr) -> t.CInt: + return 0 diff --git a/Test/Kernel/drivers/video/ui/sheet.vp b/Test/Kernel/drivers/video/ui/sheet.vp new file mode 100644 index 0000000..7b70613 --- /dev/null +++ b/Test/Kernel/drivers/video/ui/sheet.vp @@ -0,0 +1,85 @@ +from stdint import * +import drivers.video.vesafb.gfx as gfx +import t, c + +MAX_SHEETS: t.CDefine = 64 +MAX_UI_COMPONENTS: t.CDefine = 256 + +_next_sheet_id: t.CInt = 0 +_next_component_id: t.CInt = 0 + +@t.Object +class Sheet: + id: t.CInt + x: t.CInt + y: t.CInt + w: t.CInt + h: t.CInt + visible: t.CInt + _surf_obj: gfx.Surface + _renderer_obj: gfx.Renderer + surf: gfx.Surface | t.CPtr + renderer: gfx.Renderer | t.CPtr + parent: 'Sheet | t.CPtr' + bg_color: t.CUInt32T + + def __init__(self, fb: UINT32PTR, zb: float | t.CPtr, x: t.CInt, y: t.CInt, w: t.CInt, h: t.CInt, parent: 'Sheet | t.CPtr' = None): + global _next_sheet_id + self.id = _next_sheet_id + _next_sheet_id += 1 + self.x = x + self.y = y + self.w = w + self.h = h + self.visible = 1 + self._surf_obj = gfx.Surface(fb, zb, w, h) + self.surf = c.Addr(self._surf_obj) + self._renderer_obj = gfx.Renderer(self.surf) + self.renderer = c.Addr(self._renderer_obj) + self.parent = parent + self.bg_color = gfx.COLOR_RGB(20, 20, 30) + + def MoveTo(self, nx: t.CInt, ny: t.CInt): + self.x = nx + self.y = ny + + def Resize(self, nw: t.CInt, nh: t.CInt): + self.w = nw + self.h = nh + + def Show(self): + self.visible = 1 + + def Hide(self): + self.visible = 0 + + def Clear(self): + r: gfx.Renderer = c.Deref(self.renderer) + r.Clear(self.bg_color) + + def Fill(self, color: t.CUInt32T): + r: gfx.Renderer = c.Deref(self.renderer) + r.Clear(color) + + def DrawRect(self, rx: t.CInt, ry: t.CInt, rw: t.CInt, rh: t.CInt, color: t.CUInt32T): + r: gfx.Renderer = c.Deref(self.renderer) + r.DrawLine2D(rx, ry, rx + rw - 1, ry, color) + r.DrawLine2D(rx + rw - 1, ry, rx + rw - 1, ry + rh - 1, color) + r.DrawLine2D(rx + rw - 1, ry + rh - 1, rx, ry + rh - 1, color) + r.DrawLine2D(rx, ry + rh - 1, rx, ry, color) + + def DrawFilledRect(self, rx: t.CInt, ry: t.CInt, rw: t.CInt, rh: t.CInt, color: t.CUInt32T): + surf: gfx.Surface = c.Deref(self.surf) + fb: UINT32PTR = surf.fb + w: t.CInt = surf.w + h: t.CInt = surf.h + for py in range(ry, ry + rh): + if py < 0 or py >= h: continue + for px in range(rx, rx + rw): + if px < 0 or px >= w: continue + fb[py * w + px] = color + + def Contains(self, px: t.CInt, py: t.CInt) -> t.CInt: + if px >= self.x and px < self.x + self.w and py >= self.y and py < self.y + self.h: + return 1 + return 0 diff --git a/Test/Kernel/drivers/video/ui/ui.vp b/Test/Kernel/drivers/video/ui/ui.vp new file mode 100644 index 0000000..d3ed8ef --- /dev/null +++ b/Test/Kernel/drivers/video/ui/ui.vp @@ -0,0 +1,152 @@ +from stdint import * +import drivers.video.vesafb.gfx as gfx +import drivers.video.ui.sheet as sheet +import string +import t, c + +UI_LABEL: t.CDefine = 0 +UI_BUTTON: t.CDefine = 1 +UI_PANEL: t.CDefine = 2 +UI_PROGRESS: t.CDefine = 3 + +@t.Object +class UIComponent: + id: t.CInt + ctype: t.CInt + x: t.CInt + y: t.CInt + w: t.CInt + h: t.CInt + visible: t.CInt + sheet: sheet.Sheet | t.CPtr + fg_color: t.CUInt32T + bg_color: t.CUInt32T + text: t.CArray[t.CChar, 128] + text_len: t.CInt + value: t.CInt + + def __init__(self, ctype: t.CInt, sh: sheet.Sheet | t.CPtr, x: t.CInt, y: t.CInt, w: t.CInt, h: t.CInt): + global _next_component_id + self.id = _next_component_id + _next_component_id += 1 + self.ctype = ctype + self.x = x + self.y = y + self.w = w + self.h = h + self.visible = 1 + self.sheet = sh + self.fg_color = gfx.COLOR_RGB(255, 255, 255) + self.bg_color = gfx.COLOR_RGB(40, 40, 60) + string.memset(c.Addr(self.text), 0, 128) + self.text_len = 0 + self.value = 0 + + def SetText(self, s: str): + i: t.CInt = 0 + for ch in s: + if i >= 127: break + self.text[i] = ch + i += 1 + self.text[i] = 0 + self.text_len = i + + def SetValue(self, v: t.CInt): + self.value = v + + def Render(self): + if self.visible == 0: return + sh: sheet.Sheet = c.Deref(self.sheet) + match self.ctype: + case 0: + self._RenderLabel(sh) + case 1: + self._RenderButton(sh) + case 2: + self._RenderPanel(sh) + case 3: + self._RenderProgress(sh) + + def _RenderLabel(self, sh: sheet.Sheet): + sh.DrawFilledRect(self.x, self.y, self.w, self.h, 0) + + def _RenderButton(self, sh: sheet.Sheet): + sh.DrawFilledRect(self.x, self.y, self.w, self.h, self.bg_color) + sh.DrawRect(self.x, self.y, self.w, self.h, self.fg_color) + + def _RenderPanel(self, sh: sheet.Sheet): + sh.DrawFilledRect(self.x, self.y, self.w, self.h, self.bg_color) + sh.DrawRect(self.x, self.y, self.w, self.h, gfx.COLOR_RGB(80, 80, 120)) + + def _RenderProgress(self, sh: sheet.Sheet): + sh.DrawFilledRect(self.x, self.y, self.w, self.h, gfx.COLOR_RGB(30, 30, 40)) + fill_w: t.CInt = self.w * self.value / 100 + if fill_w > 0: + sh.DrawFilledRect(self.x, self.y, fill_w, self.h, gfx.COLOR_RGB(0, 180, 255)) + sh.DrawRect(self.x, self.y, self.w, self.h, gfx.COLOR_RGB(80, 80, 100)) + + def Contains(self, px: t.CInt, py: t.CInt) -> t.CInt: + if px >= self.x and px < self.x + self.w and py >= self.y and py < self.y + self.h: + return 1 + return 0 + + +@t.Object +class UIManager: + sheets: t.CArray[sheet.Sheet | t.CPtr, 64] + sheet_count: t.CInt + components: t.CArray[UIComponent | t.CPtr, 256] + component_count: t.CInt + screen_w: t.CInt + screen_h: t.CInt + + def __init__(self, w: t.CInt, h: t.CInt): + self.sheet_count = 0 + self.component_count = 0 + self.screen_w = w + self.screen_h = h + i: t.CInt + for i in range(64): + self.sheets[i] = None + for i in range(256): + self.components[i] = None + + def AddSheet(self, sh: sheet.Sheet | t.CPtr) -> t.CInt: + if self.sheet_count >= 64: return -1 + self.sheets[self.sheet_count] = sh + self.sheet_count += 1 + return 0 + + def AddComponent(self, comp: UIComponent | t.CPtr) -> t.CInt: + if self.component_count >= 256: return -1 + self.components[self.component_count] = comp + self.component_count += 1 + return 0 + + def FindComponent(self, cid: t.CInt) -> UIComponent | t.CPtr: + i: t.CInt + for i in range(self.component_count): + p: UIComponent | t.CPtr = self.components[i] + if p is not None: + comp: UIComponent = c.Deref(p) + if comp.id == cid: return p + return None + + def RenderAll(self): + i: t.CInt + for i in range(self.component_count): + p: UIComponent | t.CPtr = self.components[i] + if p is not None: + comp: UIComponent = c.Deref(p) + comp.Render() + + def HitTest(self, px: t.CInt, py: t.CInt) -> UIComponent | t.CPtr: + i: t.CInt = self.component_count - 1 + while i >= 0: + p: UIComponent | t.CPtr = self.components[i] + if p is not None: + comp: UIComponent = c.Deref(p) + if comp.visible == 1 and comp.Contains(px, py) == 1: + return p + i -= 1 + return None diff --git a/Test/Kernel/drivers/video/vesafb/gfx.vp b/Test/Kernel/drivers/video/vesafb/gfx.vp new file mode 100644 index 0000000..5292d3f --- /dev/null +++ b/Test/Kernel/drivers/video/vesafb/gfx.vp @@ -0,0 +1,305 @@ +from stdint import * +import vipermath +import string +import t, c + + +PI: t.CDefine = float(3.14159265358979323846) + +SPHERE_SLICES: t.CDefine = (24 * 1) +SPHERE_STACKS: t.CDefine = (16 * 1) +SIN_WAVE_GRID: t.CDefine = (40 * 1) + +def COLOR_RGB(r: int, g: int, b: int) -> t.CInline | t.CInt: + return (255 << 24) | (r << 16) | (g << 8) | (b) + +@t.Object +class Vec3: + x: float + y: float + z: float + def __init__(self, x: float, y: float, z: float): + self.x = x + self.y = y + self.z = z + def Sub(self, b: 'Vec3') -> 'Vec3': + return Vec3(self.x - b.x, self.y - b.y, self.z - b.z) + def Cross(self, b: 'Vec3') -> 'Vec3': + return Vec3(self.y * b.z - self.z * b.y, self.z * b.x - self.x * b.z, self.x * b.y - self.y * b.x) + def Dot(self, b: 'Vec3') -> float: + return self.x * b.x + self.y * b.y + self.z * b.z + def Norm(self) -> 'Vec3': + l = vipermath.sqrtf(self.Dot(self)) + return Vec3(self.x / l, self.y / l, self.z / l) + +class Mat4: + m: t.CArray[t.CArray[float, 4], 4] + +def Mat4_Identity() -> Mat4: + m: Mat4 = Mat4() + string.memset(c.Addr(m), 0, Mat4.__sizeof__()) + m.m[0][0] = 1; m.m[1][1] = 1; m.m[2][2] = 1; m.m[3][3] = 1 + return m + +def Mat4_Mul(a: Mat4, b: Mat4) -> Mat4: + res: Mat4 = Mat4() + string.memset(c.Addr(res), 0, Mat4.__sizeof__()) + for i in range(4): + for j in range(4): + for k in range(4): + res.m[i][j] += a.m[i][k] * b.m[k][j] + return res + +def Mat4_MulVec(m: Mat4, v: Vec3) -> Vec3: + x: float = m.m[0][0] * v.x + m.m[0][1] * v.y + m.m[0][2] * v.z + m.m[0][3] + y: float = m.m[1][0] * v.x + m.m[1][1] * v.y + m.m[1][2] * v.z + m.m[1][3] + z: float = m.m[2][0] * v.x + m.m[2][1] * v.y + m.m[2][2] * v.z + m.m[2][3] + w: float = m.m[3][0] * v.x + m.m[3][1] * v.y + m.m[3][2] * v.z + m.m[3][3] + if w != 0: + x /= w; y /= w; z /= w + return Vec3(x, y, z) + +def Mat4_Perspective(fov: float, aspect: float, zn: float, zf: float) -> Mat4: + m: Mat4 = Mat4() + string.memset(c.Addr(m), 0, Mat4.__sizeof__()) + f: float = float(1.0) / vipermath.tanf(fov / float(2.0)) + m.m[0][0] = f / aspect; m.m[1][1] = f + m.m[2][2] = zf / (zn - zf); m.m[2][3] = (zf * zn) / (zn - zf); m.m[3][2] = -1 + return m + +def Mat4_LookAt(eye: Vec3, target: Vec3, up: Vec3) -> Mat4: + zaxis: Vec3 = eye.Sub(target).Norm() + xaxis: Vec3 = up.Cross(zaxis).Norm() + yaxis: Vec3 = zaxis.Cross(xaxis) + m: Mat4 = Mat4_Identity() + m.m[0][0]=xaxis.x; m.m[0][1]=xaxis.y; m.m[0][2]=xaxis.z; m.m[0][3]= -xaxis.Dot(eye) + m.m[1][0]=yaxis.x; m.m[1][1]=yaxis.y; m.m[1][2]=yaxis.z; m.m[1][3]= -yaxis.Dot(eye) + m.m[2][0]=zaxis.x; m.m[2][1]=zaxis.y; m.m[2][2]=zaxis.z; m.m[2][3]= -zaxis.Dot(eye) + m.m[3][3] = 1 + return m + +def Mat4_Translate(x: float, y: float, z: float) -> Mat4: + m: Mat4 = Mat4_Identity() + m.m[0][3] = x; m.m[1][3] = y; m.m[2][3] = z + return m + +def Mat4_RotateY(a: float) -> Mat4: + m: Mat4 = Mat4_Identity(); + m.m[0][0] = vipermath.cosf(a); m.m[0][2] = vipermath.sinf(a) + m.m[2][0] = -vipermath.sinf(a); m.m[2][2] = vipermath.cosf(a) + return m + + +@t.Object +class Surface: + fb: UINT32PTR + zb: float | t.CPtr + w: int + h: int + def __init__(self, fb: UINT32PTR, zb: float | t.CPtr, w: int, h: int): + self.fb = fb + self.zb = zb + self.w = w + self.h = h + +@t.Object +class Renderer: + _fb: UINT32PTR + _zb: float | t.CPtr + _w: int + _h: int + + def __init__(self, fb: UINT32PTR, zb: float | t.CPtr, w: int, h: int): + self._fb = fb + self._zb = zb + self._w = w + self._h = h + + def Clear(self, color: t.CUInt32T): + fb: UINT32PTR = self._fb + zb: float | t.CPtr = self._zb + size: int = self._w * self._h + for i in range(size): + fb[i] = color + zb[i] = float(1.0) + + def DrawLine2D(self, x0: int, y0: int, x1: int, y1: int, col: t.CUInt32T): + fb: UINT32PTR = self._fb + w: int = self._w; h: int = self._h + dx: int = abs(x1-x0); dy: int = abs(y1-y0) + sx: int = 1 if x0 < x1 else -1; sy: int = 1 if y0 < y1 else -1 + err: int = dx - dy + while True: + if x0 >= 0 and x0 < w and y0 >= 0 and y0 < h: fb[y0 * w + x0] = col + if x0 == x1 and y0 == y1: break + e2: int = 2 * err + if e2 > -dy: err -= dy; x0 += sx + if e2 < dx: err += dx; y0 += sy + + def DrawTriangle(self, v0: Vec3, v1: Vec3, v2: Vec3, col: t.CUInt32T): + if v0.z < float(0.0) or v1.z < float(0.0) or v2.z < float(0.0): return + if (v0.x > float(10.0) or v0.x < float(-10.0) or v0.y > float(10.0) or v0.y < float(-10.0) or + v1.x > float(10.0) or v1.x < float(-10.0) or v1.y > float(10.0) or v1.y < float(-10.0) or + v2.x > float(10.0) or v2.x < float(-10.0) or v2.y > float(10.0) or v2.y < float(-10.0)): return + + fb: UINT32PTR = self._fb + zb: float | t.CPtr = self._zb + w: int = self._w + h: int = self._h + + sx0: float = (v0.x + float(1.0)) * float(0.5) * w; sy0: float = (float(1.0) - v0.y) * float(0.5) * h + sx1: float = (v1.x + float(1.0)) * float(0.5) * w; sy1: float = (float(1.0) - v1.y) * float(0.5) * h + sx2: float = (v2.x + float(1.0)) * float(0.5) * w; sy2: float = (float(1.0) - v2.y) * float(0.5) * h + + minX: int = max(0, int(vipermath.floorf(min(min(sx0, sx1), sx2)))) + maxX: int = min(w - 1, int(vipermath.ceilf(max(max(sx0, sx1), sx2)))) + minY: int = max(0, int(vipermath.floorf(min(min(sy0, sy1), sy2)))) + maxY: int = min(h - 1, int(vipermath.ceilf(max(max(sy0, sy1), sy2)))) + + dx12: float = sx1 - sx2; dy12: float = sy1 - sy2 + dx02: float = sx0 - sx2; dy02: float = sy0 - sy2 + denom: float = dx12 * dy02 - dy12 * dx02 + if denom < float(0.001) and denom > float(-0.001): return + invDenom: float = float(1.0) / denom + + row_dxP_start: float = float(minX) - sx2 + for y in range(minY, maxY + 1): + dyP: float = float(y) - sy2 + dxP: float = row_dxP_start + row_base: int = y * w + for x in range(minX, maxX + 1): + w0: float = (dx12 * dyP - dy12 * dxP) * invDenom + w1: float = (dxP * dy02 - dyP * dx02) * invDenom + w2: float = float(1.0) - w0 - w1 + if w0 >= 0 and w1 >= 0 and w2 >= 0: + z: float = w0 * v0.z + w1 * v1.z + w2 * v2.z + idx: int = row_base + x + if z < zb[idx]: + zb[idx] = z + fb[idx] = col + dxP += float(1.0) + + def DrawGlowDot(self, x: float, y: float, radius: float, core_col: t.CUInt32T, intensity: float): + fb: UINT32PTR = self._fb; w: int = self._w; h: int = self._h + r: int = int(radius) + 4 + ix: int = int(x); iy: int = int(y) + for dy in range(-r, r + 1): + py: int = iy + dy + if py < 0 or py >= h: continue + for dx in range(-r, r + 1): + px: int = ix + dx + if px < 0 or px >= w: continue + dist: float = vipermath.sqrtf(float(dx*dx + dy*dy)) + if dist < radius: + self.BlendPixel(px, py, core_col, intensity) + elif dist < float(r): + fade: float = 1.0 - (dist - radius) / 4.0 + self.BlendPixel(px, py, core_col, intensity * fade * 0.5) + + def BlendPixel(self, x: int, y: int, col: t.CUInt32T, alpha: float): + if alpha <= 0.0: return + fb: UINT32PTR = self._fb; w: int = self._w; h: int = self._h + if x < 0 or x >= w or y < 0 or y >= h: return + + idx: int = y * w + x + bg: t.CUInt32T = fb[idx] + bg_b: int = bg & 0xFF; bg_g: int = (bg >> 8) & 0xFF; bg_r: int = (bg >> 16) & 0xFF + f_b: int = col & 0xFF; f_g: int = (col >> 8) & 0xFF; f_r: int = (col >> 16) & 0xFF + + a: int = int(alpha * 255.0) + inv_a: int = 255 - a + nr: int = (f_r * a + bg_r * inv_a) >> 8 + ng: int = (f_g * a + bg_g * inv_a) >> 8 + nb: int = (f_b * a + bg_b * inv_a) >> 8 + + fb[idx] = COLOR_RGB(255 if (nr > 255) else nr, + 255 if (ng > 255) else ng, + 255 if (nb > 255) else nb) + + +@t.Object +class Scene3D: + renderer: Renderer + + def __init__(self, fb: UINT32PTR, zb: float | t.CPtr, w: int, h: int): + self.renderer = Renderer(fb, zb, w, h) + + def Render(self, time: float): + rw: int = self.renderer._w + rh: int = self.renderer._h + self.renderer.Clear(COLOR_RGB(15, 15, 25)) + + yaw: float = float(45.0) * PI / float(180.0); pitch: float = float(45.0) * PI / float(180.0); radius: float = float(10.0) + eye: Vec3 = Vec3(radius*vipermath.cosf(pitch)*vipermath.cosf(yaw), radius*vipermath.sinf(pitch), radius*vipermath.cosf(pitch)*vipermath.sinf(yaw)) + target: Vec3 = Vec3(0, 0, 0); up: Vec3 = Vec3(0, 1, 0) + view: Mat4 = Mat4_LookAt(eye, target, up) + proj: Mat4 = Mat4_Perspective(PI / float(3.0), float(rw)/float(rh), float(0.1), float(100.0)) + vp: Mat4 = Mat4_Mul(proj, view) + + cubeX: float = float(-3.5) + cubeMVP: Mat4 = Mat4_Mul(vp, Mat4_Translate(cubeX, 0, 0)) + self._DrawCube(cubeMVP, COLOR_RGB(180, 180, 180)) + + colors: t.CArray[t.CUInt32T, 4] = [COLOR_RGB(255,50,50), COLOR_RGB(50,50,255), COLOR_RGB(255,255,50), COLOR_RGB(50,255,255)] + for i in range(4): + a: float = time * float(1.5) + i * (PI / float(2.0)); r: float = float(3.0) + pos: Vec3 = Vec3(vipermath.cosf(a) * r + cubeX, 0, vipermath.sinf(a) * r) + sphereMVP: Mat4 = Mat4_Mul(vp, Mat4_Translate(pos.x, pos.y, pos.z)) + self._DrawSphere(sphereMVP, Vec3(0,0,0), float(0.5), colors[i]) + + self._Draw3DSinWave(vp, Vec3(float(3.5), 0, 0), time) + + self.renderer.DrawLine2D(50, rh - 150, rw - 50, rh - 150, COLOR_RGB(80, 80, 80)) + self.renderer.DrawLine2D(50, rh - 50, 50, rh - 250, COLOR_RGB(80, 80, 80)) + wave_shift: float = time * float(2.0) + prev_x: int = 50; prev_y: int = rh - 150 - int(vipermath.sinf(0 - wave_shift) * float(100.0)) + for i in range(1, rw - 100): + tr: float = float(i) / float(rw-100) * float(4.0) * PI + cx: int = 50 + i; cy: int = rh - 150 - int(vipermath.sinf(tr - wave_shift) * float(100.0)) + self.renderer.DrawLine2D(prev_x, prev_y, cx, cy, COLOR_RGB(0, 255, 100)) + prev_x = cx; prev_y = cy + + def _DrawCube(self, mvp: Mat4, col: t.CUInt32T): + v: t.CArray[Vec3, 8] = [ + Vec3(-1, -1, -1), Vec3(-1, -1, 1), Vec3(-1, 1, -1), Vec3(-1, 1, 1), + Vec3( 1, -1, -1), Vec3( 1, -1, 1), Vec3( 1, 1, -1), Vec3( 1, 1, 1) + ] + for i in range(8): v[i] = Mat4_MulVec(mvp, v[i]) + faces: t.CArray[t.CArray[int, 3], 12] = [ + [0, 2, 1], [1, 2, 3], [4, 1, 5], [4, 0, 1], [6, 3, 2], [6, 7, 3], + [4, 6, 0], [0, 6, 2], [5, 7, 4], [4, 7, 6], [1, 3, 5], [5, 3, 7] + ] + for i in range(12): self.renderer.DrawTriangle(v[faces[i][0]], v[faces[i][1]], v[faces[i][2]], col) + + def _DrawSphere(self, mvp: Mat4, center: Vec3, radius: float, col: t.CUInt32T): + step_pi: float = PI / SPHERE_STACKS; step_2pi: float = float(2.0) * PI / SPHERE_SLICES + for i in range(SPHERE_STACKS): + for j in range(SPHERE_SLICES): + theta1: float = i * step_pi; theta2: float = (i + 1) * step_pi + phi1: float = j * step_2pi; phi2: float = (j + 1) * step_2pi + v: t.CArray[Vec3, 4] + v[0] = Vec3(center.x+radius*vipermath.sinf(theta1)*vipermath.cosf(phi1), center.y+radius*vipermath.cosf(theta1), center.z+radius*vipermath.sinf(theta1)*vipermath.sinf(phi1)) + v[1] = Vec3(center.x+radius*vipermath.sinf(theta1)*vipermath.cosf(phi2), center.y+radius*vipermath.cosf(theta1), center.z+radius*vipermath.sinf(theta1)*vipermath.sinf(phi2)) + v[2] = Vec3(center.x+radius*vipermath.sinf(theta2)*vipermath.cosf(phi1), center.y+radius*vipermath.cosf(theta2), center.z+radius*vipermath.sinf(theta2)*vipermath.sinf(phi1)) + v[3] = Vec3(center.x+radius*vipermath.sinf(theta2)*vipermath.cosf(phi2), center.y+radius*vipermath.cosf(theta2), center.z+radius*vipermath.sinf(theta2)*vipermath.sinf(phi2)) + for k in range(4): v[k] = Mat4_MulVec(mvp, v[k]) + self.renderer.DrawTriangle(v[0], v[1], v[2], col) + self.renderer.DrawTriangle(v[1], v[3], v[2], col) + + def _Draw3DSinWave(self, vp: Mat4, pos: Vec3, time: float): + _range: float = float(2.0) * PI; step: float = _range / SIN_WAVE_GRID; scale: float = float(0.5) + mvp: Mat4 = Mat4_Mul(vp, Mat4_Mul(Mat4_Translate(pos.x, pos.y, pos.z), Mat4_RotateY(time * float(1.0)))) + for i in range(SIN_WAVE_GRID): + for j in range(SIN_WAVE_GRID): + x0: float = -PI + i * step; z0 = -PI + j * step; x1: float = x0 + step; z1 = z0 + step + y00: float = vipermath.sinf(x0) * vipermath.cosf(z0) * scale; y10: float = vipermath.sinf(x1) * vipermath.cosf(z0) * scale + y01: float = vipermath.sinf(x0) * vipermath.cosf(z1) * scale; y11: float = vipermath.sinf(x1) * vipermath.cosf(z1) * scale + + t1: float = (y00 / scale + float(1.0)) * float(0.5); r1: int = int(50 + 205 * t1); g1: int = int(80 + 120 * vipermath.sinf(t1 * PI)); b1: int = int(255 - 205 * t1) + col1: t.CUInt32T = COLOR_RGB(255 if (r1 > 255) else (0 if (r1 < 0) else r1), 255 if (g1 > 255) else (0 if (g1 < 0) else g1), 255 if (b1 > 255) else (0 if (b1 < 0) else b1)) + t2: float = (y11 / scale + float(1.0)) * float(0.5); r2: int = int(50 + 205 * t2); g2: int = int(80 + 120 * vipermath.sinf(t2 * PI)); b2: int = int(255 - 205 * t2) + col2: t.CUInt32T = COLOR_RGB(255 if (r2 > 255) else (0 if (r2 < 0) else r2), 255 if (g2 > 255) else (0 if (g2 < 0) else g2), 255 if (b2 > 255) else (0 if (b2 < 0) else b2)) + + v00: Vec3 = Mat4_MulVec(mvp, Vec3(x0, y00, z0)); v10: Vec3 = Mat4_MulVec(mvp, Vec3(x1, y10, z0)) + v01: Vec3 = Mat4_MulVec(mvp, Vec3(x0, y01, z1)); v11: Vec3 = Mat4_MulVec(mvp, Vec3(x1, y11, z1)) + self.renderer.DrawTriangle(v00, v10, v11, col1); self.renderer.DrawTriangle(v00, v11, v01, col2) diff --git a/Test/Kernel/drivers/video/vesafb/vga.vp b/Test/Kernel/drivers/video/vesafb/vga.vp new file mode 100644 index 0000000..ef6206c --- /dev/null +++ b/Test/Kernel/drivers/video/vesafb/vga.vp @@ -0,0 +1,504 @@ +import string # std: standard +#import math # std: standard +import t, c + + +# 颜色格式枚举 +class __ColorFormat(t.CEnum): + ColorFormat_BGRA: t.State # BGRA格式(蓝色、绿色、红色、Alpha) + ColorFormat_RGBA: t.State # RGBA格式(红色、绿色、蓝色、Alpha) + ColorFormat_BGR: t.State # BGR格式(蓝色、绿色、红色) + ColorFormat_RGB: t.State # RGB格式(红色、绿色、蓝色) + +# 常量定义 - 提升代码可读性和可维护性 +VGA_WIDTH: t.CDefine = 80 +VGA_HEIGHT: t.CDefine = 25 +FONT_WIDTH: t.CDefine = 8 +FONT_HEIGHT: t.CDefine = 16 +DEFAULT_CHAR: t.CDefine = 0 # 非ASCII字符的默认替换字符 +SERIAL_PORT: t.CDefine = 0x3F8 # 串口调试端口地址 + +# 8x16字符点阵字库 (每个字符16字节,共256个字符) +font: t.CArray[t.CArray[t.CUInt8T, 16], 256] = [ + # 字符编号 0x00 - 0x0F + {0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x55, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x00 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x01 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x56, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x02 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x56, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x03 + {0x00, 0x00, 0x70, 0x55, 0x55, 0x57, 0x71, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x04 + {0x00, 0x00, 0x70, 0x57, 0x54, 0x57, 0x71, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x05 + {0x00, 0x00, 0x70, 0x57, 0x54, 0x57, 0x75, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x06 + {0x00, 0x00, 0x70, 0x57, 0x51, 0x52, 0x72, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x07 + {0x00, 0x00, 0x70, 0x57, 0x55, 0x57, 0x75, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x08 + {0x00, 0x00, 0x70, 0x57, 0x55, 0x57, 0x71, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x09 + {0x00, 0x00, 0x70, 0x56, 0x51, 0x57, 0x75, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x0A + {0x00, 0x00, 0x70, 0x54, 0x54, 0x57, 0x75, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x0B + {0x00, 0x00, 0x70, 0x50, 0x50, 0x57, 0x74, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x0C + {0x00, 0x00, 0x70, 0x51, 0x51, 0x57, 0x75, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x0D + {0x00, 0x00, 0x70, 0x57, 0x55, 0x57, 0x74, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x0E + {0x00, 0x00, 0x70, 0x53, 0x54, 0x56, 0x74, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x0F + + # 字符编号 0x10 - 0x1F + {0x00, 0x00, 0x10, 0x37, 0x15, 0x15, 0x15, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x10 + {0x00, 0x00, 0x10, 0x32, 0x16, 0x12, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x11 + {0x00, 0x00, 0x20, 0x6E, 0x22, 0x2E, 0x28, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x12 + {0x00, 0x00, 0x10, 0x37, 0x11, 0x13, 0x11, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x13 + {0x00, 0x00, 0x10, 0x35, 0x15, 0x17, 0x11, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x14 + {0x00, 0x00, 0x10, 0x37, 0x14, 0x17, 0x11, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x15 + {0x00, 0x00, 0x10, 0x37, 0x14, 0x17, 0x15, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x16 + {0x00, 0x00, 0x10, 0x37, 0x11, 0x12, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x17 + {0x00, 0x00, 0x10, 0x37, 0x15, 0x17, 0x15, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x18 + {0x00, 0x00, 0x10, 0x37, 0x15, 0x17, 0x11, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x19 + {0x00, 0x00, 0x10, 0x36, 0x11, 0x17, 0x15, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x1A + {0x00, 0x00, 0x10, 0x34, 0x14, 0x17, 0x15, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x1B + {0x00, 0x00, 0x10, 0x30, 0x10, 0x17, 0x14, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x1C + {0x00, 0x00, 0x10, 0x31, 0x11, 0x17, 0x15, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x1D + {0x00, 0x00, 0x10, 0x37, 0x15, 0x17, 0x14, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x1E + {0x00, 0x00, 0x10, 0x33, 0x14, 0x16, 0x14, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x1F + + # 字符编号 0x20 - 0x2F + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x20 + {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x21 + {0x6C, 0x6C, 0x6C, 0x6C, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x22 + {0x36, 0x36, 0x36, 0x7F, 0x7F, 0x36, 0x36, 0x36, 0x7F, 0x7F, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00}, # 0x23 + {0x0C, 0x0C, 0x3E, 0x7F, 0x68, 0x68, 0x3E, 0x0B, 0x0B, 0x7F, 0x3E, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x24 + {0x60, 0x60, 0x66, 0x06, 0x0C, 0x0C, 0x18, 0x30, 0x30, 0x60, 0x66, 0x06, 0x06, 0x00, 0x00, 0x00}, # 0x25 + {0x38, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x38, 0x6C, 0x6D, 0x66, 0x66, 0x6F, 0x3B, 0x00, 0x00, 0x00}, # 0x26 + {0x18, 0x18, 0x18, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x27 + {0x1C, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x1C, 0x00, 0x00}, # 0x28 + {0x38, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x38, 0x00, 0x00}, # 0x29 + {0x00, 0x00, 0x18, 0x18, 0x7E, 0x3C, 0x3C, 0x3C, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x2A + {0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x2B + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00}, # 0x2C + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x2D + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x2E + {0x00, 0x00, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x30, 0x30, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x2F + + # 字符编号 0x30 - 0x3F + {0x3C, 0x7E, 0x66, 0x66, 0x6E, 0x6E, 0x7E, 0x76, 0x76, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x30 + {0x18, 0x38, 0x78, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x31 + {0x3C, 0x7E, 0x66, 0x06, 0x06, 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x32 + {0x3C, 0x7E, 0x66, 0x06, 0x06, 0x1C, 0x1C, 0x06, 0x06, 0x06, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x33 + {0x0C, 0x0C, 0x1C, 0x1C, 0x3C, 0x2C, 0x6C, 0x7E, 0x7E, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00}, # 0x34 + {0x7E, 0x7E, 0x60, 0x60, 0x7C, 0x7E, 0x06, 0x06, 0x06, 0x06, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x35 + {0x3C, 0x7E, 0x66, 0x60, 0x60, 0x7C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x36 + {0x7E, 0x7E, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00}, # 0x37 + {0x3C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x38 + {0x3C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x06, 0x06, 0x06, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x39 + {0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x3A + {0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00}, # 0x3B + {0x00, 0x02, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, 0x00, 0x00}, # 0x3C + {0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x3D + {0x00, 0x40, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x40, 0x00, 0x00, 0x00}, # 0x3E + {0x3C, 0x7E, 0x66, 0x06, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x3F + + # 字符编号 0x40 - 0x4F + {0x3C, 0x7E, 0x66, 0x66, 0x6E, 0x6A, 0x6A, 0x6A, 0x6E, 0x60, 0x60, 0x7C, 0x3C, 0x00, 0x00, 0x00}, # 0x40 + {0x3C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x41 + {0x7C, 0x7E, 0x66, 0x66, 0x66, 0x7C, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x00, 0x00, 0x00}, # 0x42 + {0x3C, 0x7E, 0x66, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x43 + {0x78, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6C, 0x7C, 0x78, 0x00, 0x00, 0x00}, # 0x44 + {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x7C, 0x7C, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x45 + {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x7C, 0x7C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00}, # 0x46 + {0x3C, 0x7E, 0x66, 0x60, 0x60, 0x60, 0x6E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x47 + {0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x48 + {0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x49 + {0x3E, 0x3E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x6C, 0x7C, 0x38, 0x00, 0x00, 0x00}, # 0x4A + {0x66, 0x66, 0x66, 0x6C, 0x6C, 0x78, 0x78, 0x78, 0x6C, 0x6C, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x4B + {0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x4C + {0x63, 0x77, 0x7F, 0x7F, 0x6B, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00}, # 0x4D + {0x66, 0x66, 0x66, 0x66, 0x76, 0x76, 0x7E, 0x6E, 0x6E, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x4E + {0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x4F + + # 字符编号 0x50 - 0x5F + {0x7C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00}, # 0x50 + {0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6A, 0x6A, 0x6C, 0x7E, 0x36, 0x00, 0x00, 0x00}, # 0x51 + {0x7C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x52 + {0x3C, 0x7E, 0x66, 0x60, 0x60, 0x78, 0x3C, 0x0E, 0x06, 0x06, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x53 + {0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x54 + {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x55 + {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x56 + {0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x6B, 0x6B, 0x7F, 0x77, 0x77, 0x22, 0x00, 0x00, 0x00}, # 0x57 + {0x66, 0x66, 0x66, 0x66, 0x3C, 0x3C, 0x18, 0x3C, 0x3C, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x58 + {0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x59 + {0x7E, 0x7E, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x30, 0x30, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x5A + {0x78, 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x78, 0x00, 0x00}, # 0x5B + {0xC0, 0xC0, 0x60, 0x60, 0x30, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x06, 0x03, 0x03, 0x00, 0x00, 0x00}, # 0x5C + {0x1E, 0x1E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x1E, 0x1E, 0x00, 0x00}, # 0x5D + {0x3C, 0x7E, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x5E + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00}, # 0x5F + + # 字符编号 0x60 - 0x6F + {0x30, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x60 + {0x00, 0x00, 0x00, 0x00, 0x3C, 0x3E, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0x61 + {0x60, 0x60, 0x60, 0x60, 0x7C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x00, 0x00, 0x00}, # 0x62 + {0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x60, 0x60, 0x60, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x63 + {0x06, 0x06, 0x06, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0x64 + {0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x7E, 0x7E, 0x60, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x65 + {0x1C, 0x3E, 0x30, 0x30, 0x30, 0x7C, 0x7C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00}, # 0x66 + {0x00, 0x00, 0x00, 0x00, 0x3E, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x06, 0x06, 0x3E, 0x3C, 0x00}, # 0x67 + {0x60, 0x60, 0x60, 0x60, 0x7C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x68 + {0x18, 0x18, 0x00, 0x00, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x69 + {0x0C, 0x0C, 0x00, 0x00, 0x3C, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x7C, 0x78, 0x00}, # 0x6A + {0x60, 0x60, 0x60, 0x60, 0x66, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x6C, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x6B + {0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x6C + {0x00, 0x00, 0x00, 0x00, 0x36, 0x7F, 0x6B, 0x6B, 0x63, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00}, # 0x6D + {0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x6E + {0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x6F + + # 字符编号 0x70 - 0x7F + {0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x60, 0x60, 0x60, 0x60, 0x00}, # 0x70 + {0x00, 0x00, 0x00, 0x00, 0x3E, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x06, 0x06, 0x07, 0x07, 0x00}, # 0x71 + {0x00, 0x00, 0x00, 0x00, 0x6C, 0x7E, 0x76, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00}, # 0x72 + {0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x62, 0x70, 0x3C, 0x0E, 0x46, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0x73 + {0x30, 0x30, 0x30, 0x30, 0x7C, 0x7C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x1C, 0x00, 0x00, 0x00}, # 0x74 + {0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0x75 + {0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x76 + {0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x6B, 0x6B, 0x7F, 0x7F, 0x36, 0x00, 0x00, 0x00}, # 0x77 + {0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x3C, 0x3C, 0x18, 0x3C, 0x3C, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x78 + {0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x06, 0x06, 0x7E, 0x7C, 0x00}, # 0x79 + {0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x0C, 0x0C, 0x18, 0x30, 0x30, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0x7A + {0x0E, 0x1E, 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x18, 0x18, 0x18, 0x18, 0x1E, 0x0E, 0x00, 0x00}, # 0x7B + {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00}, # 0x7C + {0x70, 0x78, 0x18, 0x18, 0x18, 0x18, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x78, 0x70, 0x00, 0x00}, # 0x7D + {0x31, 0x79, 0x6B, 0x4F, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x7E + {0x00, 0x00, 0x70, 0x13, 0x24, 0x26, 0x24, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x7F + + # 字符编号 0x80 - 0x8F + {0x03, 0x03, 0x03, 0x03, 0x06, 0x06, 0x06, 0x06, 0x66, 0x7C, 0x3C, 0x1C, 0x0C, 0x00, 0x00, 0x00}, # 0x80 + {0x1C, 0x36, 0x00, 0x63, 0x63, 0x63, 0x63, 0x6B, 0x6B, 0x7F, 0x7F, 0x77, 0x22, 0x00, 0x00, 0x00}, # 0x81 + {0x1C, 0x36, 0x00, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x6B, 0x7F, 0x7F, 0x36, 0x00, 0x00, 0x00}, # 0x82 + {0xFE, 0x92, 0x92, 0x92, 0x92, 0x92, 0xF2, 0x82, 0x82, 0x82, 0x82, 0x82, 0xFE, 0x00, 0x00, 0x00}, # 0x83 + {0x66, 0x66, 0x99, 0x99, 0x81, 0x42, 0x42, 0x42, 0x81, 0x99, 0x99, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x84 + {0x18, 0x3C, 0x66, 0x00, 0x42, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0x85 + {0x18, 0x3C, 0x66, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x06, 0x06, 0x7E, 0x7C, 0x00}, # 0x86 + {0x07, 0x01, 0x01, 0x01, 0x02, 0x02, 0x64, 0x94, 0x94, 0x90, 0x60, 0x90, 0x90, 0x90, 0x60, 0x00}, # 0x87 + {0x18, 0x28, 0x28, 0x48, 0x4F, 0x81, 0x81, 0x81, 0x4F, 0x48, 0x28, 0x28, 0x18, 0x00, 0x00, 0x00}, # 0x88 + {0x18, 0x14, 0x14, 0x12, 0xF2, 0x81, 0x81, 0x81, 0xF2, 0x12, 0x14, 0x14, 0x18, 0x00, 0x00, 0x00}, # 0x89 + {0x3C, 0x24, 0x24, 0x24, 0x24, 0x24, 0xE7, 0x81, 0x42, 0x42, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00}, # 0x8A + {0x18, 0x24, 0x24, 0x42, 0x42, 0x81, 0xE7, 0x24, 0x24, 0x24, 0x24, 0x24, 0x3C, 0x00, 0x00, 0x00}, # 0x8B + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0x00}, # 0x8C + {0x45, 0x4B, 0x51, 0x61, 0x61, 0x61, 0x51, 0x49, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x8D + {0xC0, 0xC0, 0xCC, 0x0C, 0x18, 0x18, 0x30, 0x60, 0x60, 0xC0, 0xDB, 0x1B, 0x1B, 0x00, 0x00, 0x00}, # 0x8E + {0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x8F + + # 字符编号 0x90 - 0x9F + {0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x90 + {0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x91 + {0x00, 0x00, 0x0C, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x30, 0x18, 0x18, 0x0C, 0x0C, 0x00, 0x00, 0x00}, # 0x92 + {0x00, 0x00, 0x30, 0x30, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x00, 0x00, 0x00}, # 0x93 + {0x1B, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x94 + {0x36, 0x36, 0x36, 0x36, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x95 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0x6C, 0x6C}, # 0x96 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x97 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x98 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0x99 + {0x77, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCF, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF, 0x77, 0x00, 0x00, 0x00}, # 0x9A + {0x00, 0x00, 0x00, 0x00, 0x6E, 0xFF, 0xDB, 0xDB, 0xDF, 0xD8, 0xD8, 0xFF, 0x6E, 0x00, 0x00, 0x00}, # 0x9B + {0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00}, # 0x9C + {0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00}, # 0x9D + {0x3C, 0x7C, 0x60, 0x66, 0x66, 0xF0, 0xF6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x9E + {0x3E, 0x7E, 0x66, 0x66, 0x66, 0xF6, 0xF6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0x9F + + # 字符编号 0xA0 - 0xAF + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xA0 + {0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0xA1 + {0x08, 0x08, 0x3E, 0x7F, 0x6B, 0x68, 0x68, 0x68, 0x6B, 0x7F, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x00}, # 0xA2 + {0x1C, 0x3E, 0x36, 0x30, 0x30, 0x7C, 0x7C, 0x30, 0x30, 0x30, 0x30, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xA3 + {0x00, 0x00, 0x42, 0x66, 0x3C, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x3C, 0x66, 0x42, 0x00, 0x00, 0x00}, # 0xA4 + {0x66, 0x66, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0xA5 + {0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0xA6 + {0x3C, 0x7E, 0x60, 0x78, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x1E, 0x06, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xA7 + {0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xA8 + {0x3C, 0x42, 0x42, 0x81, 0x99, 0xA5, 0xA1, 0xA1, 0xA1, 0xA5, 0x99, 0x81, 0x42, 0x42, 0x3C, 0x00}, # 0xA9 + {0x1C, 0x1E, 0x06, 0x06, 0x1E, 0x36, 0x36, 0x3E, 0x1E, 0x00, 0x00, 0x3E, 0x3E, 0x00, 0x00, 0x00}, # 0xAA + {0x00, 0x00, 0x33, 0x33, 0x66, 0x66, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x33, 0x33, 0x00, 0x00, 0x00}, # 0xAB + {0x7E, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xAC + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xAD + {0x3C, 0x42, 0x42, 0x81, 0xB9, 0xA5, 0xA5, 0xA5, 0xB9, 0xA5, 0xA5, 0x81, 0x42, 0x42, 0x3C, 0x00}, # 0xAE + {0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xAF + + # 字符编号 0xB0 - 0xBF + {0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xB0 + {0x00, 0x00, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00}, # 0xB1 + {0x38, 0x04, 0x04, 0x04, 0x18, 0x20, 0x20, 0x20, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xB2 + {0x38, 0x04, 0x04, 0x04, 0x18, 0x04, 0x04, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xB3 + {0x0C, 0x1C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xB4 + {0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3F, 0x3E, 0x30, 0x60, 0x60}, # 0xB5 + {0x03, 0x03, 0x3E, 0x7E, 0x76, 0x76, 0x76, 0x36, 0x36, 0x36, 0x36, 0x3E, 0x3E, 0x00, 0x00, 0x00}, # 0xB6 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xB7 + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x30, 0x00}, # 0xB8 + {0x10, 0x10, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, # 0xB9 + {0x1C, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x1C, 0x00, 0x00, 0x3E, 0x3E, 0x00, 0x00, 0x00}, # 0xBA + {0x00, 0x00, 0x88, 0xCC, 0x66, 0x66, 0x33, 0x33, 0x33, 0x66, 0x66, 0xCC, 0x88, 0x00, 0x00, 0x00}, # 0xBB + {0x40, 0x40, 0xC0, 0x40, 0x40, 0x40, 0x48, 0x48, 0x48, 0x08, 0x0A, 0x0A, 0x0F, 0x02, 0x02, 0x00}, # 0xBC + {0x40, 0x40, 0xC0, 0x40, 0x40, 0x40, 0x4F, 0x41, 0x41, 0x01, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x00}, # 0xBD + {0xE0, 0x20, 0x20, 0x20, 0xE0, 0x20, 0x28, 0x28, 0xE8, 0x08, 0x0A, 0x0A, 0x0F, 0x02, 0x02, 0x00}, # 0xBE + {0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x30, 0x60, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xBF + + # 字符编号 0xC0 - 0xCF + {0x30, 0x38, 0x18, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xC0 + {0x0C, 0x1C, 0x18, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xC1 + {0x18, 0x3C, 0x66, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xC2 + {0x36, 0x7E, 0x6C, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xC3 + {0x66, 0x66, 0x66, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xC4 + {0x3C, 0x66, 0x66, 0x3C, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x7E, 0x7E, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xC5 + {0x3F, 0x7F, 0x6C, 0x6C, 0x6C, 0x7F, 0x7F, 0x6C, 0x6C, 0x6C, 0x6C, 0x6F, 0x6F, 0x00, 0x00, 0x00}, # 0xC6 + {0x3C, 0x7E, 0x66, 0x60, 0x60, 0x60, 0x60, 0x60, 0x66, 0x7E, 0x3C, 0x18, 0x30, 0x30, 0x60, 0x00}, # 0xC7 + {0x30, 0x38, 0x18, 0x00, 0x7E, 0x7E, 0x60, 0x7C, 0x7C, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xC8 + {0x0C, 0x1C, 0x18, 0x00, 0x7E, 0x7E, 0x60, 0x7C, 0x7C, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xC9 + {0x3C, 0x7E, 0x66, 0x00, 0x7E, 0x7E, 0x60, 0x7C, 0x7C, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xCA + {0x66, 0x66, 0x00, 0x00, 0x7E, 0x7E, 0x60, 0x7C, 0x7C, 0x60, 0x60, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xCB + {0x30, 0x38, 0x18, 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xCC + {0x0C, 0x1C, 0x18, 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xCD + {0x3C, 0x7E, 0x66, 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xCE + {0x66, 0x66, 0x66, 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xCF + + # 字符编号 0xD0 - 0xDF + {0x78, 0x7C, 0x6C, 0x66, 0x66, 0xF6, 0xF6, 0x66, 0x66, 0x66, 0x6C, 0x7C, 0x78, 0x00, 0x00, 0x00}, # 0xD0 + {0x36, 0x7E, 0x6C, 0x00, 0x66, 0x66, 0x76, 0x76, 0x7E, 0x7E, 0x6E, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xD1 + {0x30, 0x38, 0x18, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xD2 + {0x0C, 0x1C, 0x18, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xD3 + {0x3C, 0x7E, 0x66, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xD4 + {0x36, 0x7E, 0x6C, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xD5 + {0x66, 0x66, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xD6 + {0x00, 0x00, 0x63, 0x63, 0x36, 0x36, 0x1C, 0x08, 0x1C, 0x36, 0x36, 0x63, 0x63, 0x00, 0x00, 0x00}, # 0xD7 + {0x3D, 0x7F, 0x66, 0x66, 0x6E, 0x6E, 0x7E, 0x76, 0x76, 0x66, 0x66, 0x7E, 0xBC, 0x80, 0x00, 0x00}, # 0xD8 + {0x30, 0x38, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xD9 + {0x0C, 0x1C, 0x18, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xDA + {0x3C, 0x7E, 0x66, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xDB + {0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xDC + {0x0C, 0x1C, 0x18, 0x00, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00}, # 0xDD + {0xF0, 0xF0, 0x60, 0x78, 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x78, 0x60, 0xF0, 0xF0, 0x00, 0x00, 0x00}, # 0xDE + {0x3C, 0x7E, 0x66, 0x66, 0x66, 0x6C, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x6E, 0x6C, 0x60, 0xC0, 0x00}, # 0xDF + + # 字符编号 0xE0 - 0xEF + {0x30, 0x38, 0x18, 0x00, 0x3C, 0x3E, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE0 + {0x0C, 0x1C, 0x18, 0x00, 0x3C, 0x3E, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE1 + {0x18, 0x3C, 0x66, 0x00, 0x3C, 0x3E, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE2 + {0x36, 0x7E, 0x6C, 0x00, 0x3C, 0x3E, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE3 + {0x66, 0x66, 0x00, 0x00, 0x3C, 0x3E, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE4 + {0x3C, 0x66, 0x66, 0x3C, 0x00, 0x3C, 0x3E, 0x06, 0x3E, 0x7E, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE5 + {0x00, 0x00, 0x00, 0x00, 0x3E, 0x3F, 0x0B, 0x3B, 0x7F, 0x6F, 0x68, 0x7F, 0x3F, 0x00, 0x00, 0x00}, # 0xE6 + {0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x60, 0x60, 0x60, 0x66, 0x7E, 0x3C, 0x10, 0x60, 0x00}, # 0xE7 + {0x30, 0x38, 0x18, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x7E, 0x7E, 0x60, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE8 + {0x0C, 0x1C, 0x18, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x7E, 0x7E, 0x60, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xE9 + {0x3C, 0x7E, 0x66, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x7E, 0x7E, 0x60, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xEA + {0x66, 0x66, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x7E, 0x7E, 0x60, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xEB + {0x30, 0x38, 0x18, 0x00, 0x00, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xEC + {0x0C, 0x1C, 0x18, 0x00, 0x00, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xED + {0x3C, 0x7E, 0x66, 0x00, 0x00, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xEE + {0x66, 0x66, 0x00, 0x00, 0x00, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00}, # 0xEF + + # 字符编号 0xF0 - 0xFF + {0x18, 0x18, 0x7E, 0x7E, 0x0C, 0x06, 0x06, 0x3E, 0x7E, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xF0 + {0x36, 0x7E, 0x6C, 0x00, 0x00, 0x7C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00}, # 0xF1 + {0x30, 0x38, 0x18, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xF2 + {0x0C, 0x1C, 0x18, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xF3 + {0x3C, 0x7E, 0x66, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xF4 + {0x36, 0x7E, 0x6C, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xF5 + {0x66, 0x66, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x00, 0x00, 0x00}, # 0xF6 + {0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0xFF, 0xFF, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, # 0xF7 + {0x00, 0x00, 0x00, 0x02, 0x02, 0x3C, 0x7E, 0x6E, 0x76, 0x76, 0x66, 0x7E, 0xBC, 0x80, 0x00, 0x00}, # 0xF8 + {0x30, 0x38, 0x18, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xF9 + {0x0C, 0x1C, 0x18, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xFA + {0x18, 0x3C, 0x66, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xFB + {0x66, 0x66, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x00, 0x00, 0x00}, # 0xFC + {0x0C, 0x1C, 0x18, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x06, 0x06, 0x7E, 0x7C, 0x00}, # 0xFD + {0x60, 0x60, 0x60, 0x78, 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x78, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00}, # 0xFE + {0x66, 0x66, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x3E, 0x06, 0x06, 0x7E, 0x7C, 0x00}, # 0xFF +] + +@t.Object +class _VGAScreenDriver: + # 帧缓冲区信息 + fbv: t.CVoid | t.CPtr # = None + fb: t.CUnsignedChar | t.CPtr # = None + fw: int # = 800 + fh: int # = 600 + fp: int # = 800 * 4 # 3200 800*4 + ColorFormat: __ColorFormat # = __ColorFormat.ColorFormat_BGRA # 默认使用BGRA格式 + BgColor: t.CUnsignedInt = 0xFF000080 # RGBA: 不透明深蓝色 + + # 初始化VGA驱动 + def __init__(self, fb: t.CVoid | t.CPtr, width: int, height: int, pitch: int, format: int): + # 先做参数合法性检查 + if fb is None or width <= 0 or height <= 0 or pitch <= 0: return + # 更新帧缓冲区参数 + self.fbv = fb + self.fb = t.CUnsignedChar(fb, t.CPtr) + self.fw = width + self.fh = height + self.fp = pitch + # 设置颜色格式 + match format: + case 0: self.ColorFormat = __ColorFormat.ColorFormat_RGBA + case 1: self.ColorFormat = __ColorFormat.ColorFormat_BGRA + case 2: pass + case 3: pass + case _: self.ColorFormat = __ColorFormat.ColorFormat_BGRA + # 检测硬件实际颜色格式(覆盖传入的format) + self.DetectColorFormat() + # 初始化背景颜色 + self.ClearScreen(self.BgColor) + + # 检测硬件颜色格式 - 优化测试逻辑,避免误判 + def DetectColorFormat(self) -> t.CStatic | t.CVoid: + if self.fb is None: return + fb: t.CUnsignedChar | t.CPtr = t.CUnsignedChar(self.fb, t.CPtr) + testX: int = 0 + testY: int = 0 + offset: int = testY * self.fp + testX * 4 + # 保存测试位置原始像素值,避免污染屏幕 + OriginalPixel: t.CUInt32T = c.Deref(t.CUInt32T(fb + offset, t.CPtr)) + # 写入测试颜色:青色 (RGBA逻辑值: 0xFF00FFFF) + fb[offset + 0] = 0xFF # B + fb[offset + 1] = 0xFF # G + fb[offset + 2] = 0x00 # R + fb[offset + 3] = 0xFF # A + # 读取回测试像素 + b: t.CUnsignedChar = fb[offset + 0] + g: t.CUnsignedChar = fb[offset + 1] + r: t.CUnsignedChar = fb[offset + 2] + # t.CVoid(fb[offset + 3]) # 忽略Alpha + # 恢复原始像素 + c.Set(c.Deref(t.CUInt32T(fb + offset, t.CPtr)), OriginalPixel) + # 判定颜色格式 + if r == 0x00 and g == 0xFF and b == 0xFF: self.ColorFormat = __ColorFormat.ColorFormat_BGRA + elif r == 0xFF and g == 0xFF and b == 0x00: self.ColorFormat = __ColorFormat.ColorFormat_RGBA + else: self.ColorFormat = __ColorFormat.ColorFormat_BGRA + + # 设置像素颜色 - 统一接口,输入为RGBA逻辑颜色 + # color格式: 0xAARRGGBB (Alpha, Red, Green, Blue) + def SetPixel(self, x: int, y: int, color: t.CUInt32T): + fb: t.CUnsignedChar | t.CPtr = self.fb + if fb is None: return + if x < 0 or x >= self.fw or y < 0 or y >= self.fh: return + offset: int = y * self.fp + x * 4 + # 解析RGBA分量 + r: t.CUnsignedChar = (color >> 16) & 0xFF + g: t.CUnsignedChar = (color >> 8) & 0xFF + b: t.CUnsignedChar = color & 0xFF + a: t.CUnsignedChar = (color >> 24) & 0xFF + # 根据硬件格式写入像素 + match self.ColorFormat: + case __ColorFormat.ColorFormat_BGRA: + self.fb[offset + 0] = b + fb[offset + 1] = g + fb[offset + 2] = r + fb[offset + 3] = a + case __ColorFormat.ColorFormat_RGBA: + fb[offset + 0] = r + fb[offset + 1] = g + fb[offset + 2] = b + fb[offset + 3] = a + case __ColorFormat.ColorFormat_BGR: + fb[offset + 0] = b + fb[offset + 1] = g + fb[offset + 2] = r + case __ColorFormat.ColorFormat_RGB: + fb[offset + 0] = r + fb[offset + 1] = g + fb[offset + 2] = b + case _: + # 降级到BGRA + fb[offset + 0] = b + fb[offset + 1] = g + fb[offset + 2] = r + fb[offset + 3] = a + + # 清除屏幕 - 优化循环效率,减少函数调用开销 + def ClearScreen(self, color: t.CUInt32T): + fb: t.CUnsignedChar | t.CPtr = self.fb + fp: int = self.fp + if fb is None: return + PixelSize: int = 3 if self.ColorFormat == __ColorFormat.ColorFormat_BGR or self.ColorFormat == __ColorFormat.ColorFormat_RGB else 4 + RowSize: int = self.fw * PixelSize + # 解析清除颜色的RGBA分量 + r: t.CUnsignedChar = (color >> 16) & 0xFF + g: t.CUnsignedChar = (color >> 8 ) & 0xFF + b: t.CUnsignedChar = (color) & 0xFF + a: t.CUnsignedChar = (color >> 24) & 0xFF + # 逐行填充,比逐像素调用SetPixel快得多 + for y in range(self.fh): + row_ptr: t.CUnsignedChar | t.CPtr = fb + y * fp + for x in range(self.fw): + offset: int = x * PixelSize + match self.ColorFormat: + case __ColorFormat.ColorFormat_BGRA: + row_ptr[offset + 0] = b + row_ptr[offset + 1] = g + row_ptr[offset + 2] = r + row_ptr[offset + 3] = a + case __ColorFormat.ColorFormat_RGBA: + row_ptr[offset + 0] = r + row_ptr[offset + 1] = g + row_ptr[offset + 2] = b + row_ptr[offset + 3] = a + case __ColorFormat.ColorFormat_BGR: + row_ptr[offset + 0] = b + row_ptr[offset + 1] = g + row_ptr[offset + 2] = r + case __ColorFormat.ColorFormat_RGB: + row_ptr[offset + 0] = r + row_ptr[offset + 1] = g + row_ptr[offset + 2] = b + + def Print(self, x: int, y: int, s: str, fontcolor: t.CUnsignedInt = 0xFFFFFFFF, size: int = 16): + self.PrintColor(x, y, s, fontcolor, 0x00000000, size) + + def PutcharColor(self, x: int, y: int, cr: t.CChar, fontcolor: t.CUnsignedInt = 0xFFFFFFFF, bgcolor: t.CUnsignedInt = 0x00000000, size: int = 16): + fw: int = self.fw + fh: int = self.fh + fb: t.CUnsignedChar | t.CPtr = self.fb + if fb is None: return + # 提前判断字符整体是否越界(8x16),避免内层循环冗余检查 + if x < 0 or y < 0 or (x + FONT_WIDTH) > fw or (y + FONT_HEIGHT) > fh: return + # 处理字符范围,非ASCII字符替换为默认字符 + ch: t.CUnsignedChar = t.CUnsignedChar(cr) + if ch >= 128: ch = DEFAULT_CHAR + # 预解析背景色Alpha,避免内层循环重复计算 + bg_alpha: t.CUInt8T = (bgcolor >> 24) & 0xFF + draw_bg: int = (bg_alpha != 0) # 背景是否需要绘制 + # 渲染8x16点阵字符 + for fy in range(FONT_HEIGHT): + row: t.CUnsignedChar = font[ch][fy] + for fx in range(FONT_WIDTH): + px: int = x + fx + py: int = y + fy + # 检测当前点阵位是否点亮 + if row & (0x80 >> fx): + # 绘制前景色 + self.SetPixel(px, py, fontcolor) + elif draw_bg: + # 仅当背景不透明时绘制背景色 + self.SetPixel(px, py, bgcolor) + + # 在指定位置显示带颜色和字号的字符串 + def PrintColor(self, x: int, y: int, s: str, fontcolor: t.CUnsignedInt = 0xFFFFFFFF, bgcolor: t.CUnsignedInt = 0x00000000, size: int = 16): + fw: int = self.fw + fh: int = self.fh + # fb: t.CUnsignedChar | t.CPtr = self.fb + currentX: int = x + currentY: int = y + if s is None: return + # 逐字符处理 + for _s in s: + if _s == '\n': + # 换行:重置X,Y增加字符高度 + currentX = x + currentY += size + 2 # 字体大小 + 2像素行间距 + # 检查换行后是否越界 + if currentY + size > fh: break + else: + # 显示普通字符 + self.PutcharColor(currentX, currentY, _s, fontcolor, bgcolor, size) + # 计算字符宽度 + CharWidth: int = size / 2 + 1 # 简单估算字符宽度 + currentX += CharWidth + # 检查横向是否越界 + if currentX + CharWidth > fw: + # 自动换行 + currentX = x + currentY += size + 2 + if currentY + size > fh: break diff --git a/Test/Kernel/execrunner/elf.vp b/Test/Kernel/execrunner/elf.vp new file mode 100644 index 0000000..8e620ea --- /dev/null +++ b/Test/Kernel/execrunner/elf.vp @@ -0,0 +1,757 @@ +import drivers.serial.uart.serial as serial +import drivers.fs.fat32.fat32 as fat32 +import drivers.fs.fat32.fat32_types as fat32_types +import drivers.core.cpu.cpu as cpu +import mm.mm as mm +import paging.paging as paging +import sched.process as proc +import sched.sched as sched +import intr.gdt as gdt +# Do NOT import KERN_STACK_SIZE/USER_STACK_SIZE from process - CDefine cross-module import is broken +# Redefine them here to ensure correct values +KERN_STACK_SIZE: t.CDefine = 8192 +USER_STACK_SIZE: t.CDefine = 65536 +import viperlib +import string +import asm +import t, c + +ELFMAG0: t.CDefine = 0x7F +ELFMAG1: t.CDefine = 0x45 +ELFMAG2: t.CDefine = 0x4C +ELFMAG3: t.CDefine = 0x46 +ELFCLASS64: t.CDefine = 2 +ELFDATA2LSB: t.CDefine = 1 +ET_EXEC: t.CDefine = 2 +ET_DYN: t.CDefine = 3 +EM_X86_64: t.CDefine = 62 +PT_LOAD: t.CDefine = 1 +PT_DYNAMIC: t.CDefine = 2 +PF_X: t.CDefine = 1 +PF_W: t.CDefine = 2 +PF_R: t.CDefine = 4 +DT_NULL: t.CDefine = 0 +DT_HASH: t.CDefine = 4 +DT_STRTAB: t.CDefine = 5 +DT_SYMTAB: t.CDefine = 6 +DT_STRSZ: t.CDefine = 10 +DT_SYMENT: t.CDefine = 11 +DT_RELA: t.CDefine = 7 +DT_RELASZ: t.CDefine = 8 +DT_RELAENT: t.CDefine = 9 +DT_PLTRELSZ: t.CDefine = 2 +DT_JMPREL: t.CDefine = 23 +R_X86_64_64: t.CDefine = 1 +R_X86_64_GLOB_DAT: t.CDefine = 6 +R_X86_64_JUMP_SLOT: t.CDefine = 7 +R_X86_64_RELATIVE: t.CDefine = 8 +STB_GLOBAL: t.CDefine = 1 +STB_WEAK: t.CDefine = 2 + +@c.Attribute(t.attr.packed) +class Elf64_Ehdr: + e_ident: t.CArray[t.CUInt8T, 16] + e_type: t.CUInt16T + e_machine: t.CUInt16T + e_version: t.CUInt32T + e_entry: t.CUInt64T + e_phoff: t.CUInt64T + e_shoff: t.CUInt64T + e_flags: t.CUInt32T + e_ehsize: t.CUInt16T + e_phentsize: t.CUInt16T + e_phnum: t.CUInt16T + e_shentsize: t.CUInt16T + e_shnum: t.CUInt16T + e_shstrndx: t.CUInt16T + +@c.Attribute(t.attr.packed) +class Elf64_Phdr: + p_type: t.CUInt32T + p_flags: t.CUInt32T + p_offset: t.CUInt64T + p_vaddr: t.CUInt64T + p_paddr: t.CUInt64T + p_filesz: t.CUInt64T + p_memsz: t.CUInt64T + p_align: t.CUInt64T + +MAX_PHDRS: t.CDefine = 16 + +@c.Attribute(t.attr.packed) +class Elf64_Shdr: + sh_name: t.CUInt32T + sh_type: t.CUInt32T + sh_flags: t.CUInt64T + sh_addr: t.CUInt64T + sh_offset: t.CUInt64T + sh_size: t.CUInt64T + sh_link: t.CUInt32T + sh_info: t.CUInt32T + sh_addralign: t.CUInt64T + sh_entsize: t.CUInt64T + +@c.Attribute(t.attr.packed) +class Elf64_Sym: + st_name: t.CUInt32T + st_info: t.CUInt8T + st_other: t.CUInt8T + st_shndx: t.CUInt16T + st_value: t.CUInt64T + st_size: t.CUInt64T + +@c.Attribute(t.attr.packed) +class Elf64_Rela: + r_offset: t.CUInt64T + r_info: t.CUInt64T + r_addend: t.CInt64T + +@c.Attribute(t.attr.packed) +class Elf64_Dyn: + d_tag: t.CInt64T + d_val: t.CUInt64T + +MAX_SHDRS: t.CDefine = 64 +MAX_DYNS: t.CDefine = 64 +MAX_RELAS: t.CDefine = 256 + +def load_elf(path: t.CConst | str, do_map: t.CInt = 1) -> t.CVoid | t.CPtr: + fp: fat32_types.fileobj | t.CPtr = fat32.open(path, fat32_types.FA_READ) + if fp is None: + err: t.CUInt32T = fat32.last_error() + eb: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(eb), 64, "[elf] failed to open file err=%d\n", err) + serial.puts(eb) + return None + + ehdr_buf: t.CArray[t.CUInt8T, 64] + string.memset(c.Addr(ehdr_buf), 0, 64) + read_len: t.CUInt32T = fat32.read(fp, c.Addr(ehdr_buf), 64) + if read_len < 64: + serial.puts("[elf] failed to read ehdr\n") + fat32.close(fp) + return None + + ehdr: Elf64_Ehdr | t.CPtr = c.Addr(ehdr_buf) + + if ehdr.e_ident[0] != ELFMAG0 or ehdr.e_ident[1] != ELFMAG1 or ehdr.e_ident[2] != ELFMAG2 or ehdr.e_ident[3] != ELFMAG3: + serial.puts("[elf] bad magic\n") + fat32.close(fp) + return None + + if ehdr.e_ident[4] != ELFCLASS64: + serial.puts("[elf] not ELF64\n") + fat32.close(fp) + return None + + if ehdr.e_ident[5] != ELFDATA2LSB: + serial.puts("[elf] not little-endian\n") + fat32.close(fp) + return None + + if ehdr.e_type != ET_EXEC and ehdr.e_type != ET_DYN: + serial.puts("[elf] not ET_EXEC or ET_DYN\n") + fat32.close(fp) + return None + + if ehdr.e_machine != EM_X86_64: + serial.puts("[elf] not x86_64\n") + fat32.close(fp) + return None + + entry_point: t.CUInt64T = ehdr.e_entry + phoff: t.CUInt64T = ehdr.e_phoff + phentsize: t.CUInt16T = ehdr.e_phentsize + phnum: t.CUInt16T = ehdr.e_phnum + + if phentsize == 0 or phnum == 0 or phnum > MAX_PHDRS: + serial.puts("[elf] invalid phdr count\n") + fat32.close(fp) + return None + + cr: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(cr), 80, "[elf] entry=0x%lx phoff=%lu phentsize=%u phnum=%u\n", entry_point, phoff, phentsize, phnum) + serial.puts(cr) + + phdr_bufs: t.CArray[Elf64_Phdr, MAX_PHDRS] + string.memset(c.Addr(phdr_bufs), 0, MAX_PHDRS * 56) + + for pi in range(phnum): + phdr_off: t.CUInt64T = phoff + t.CUInt64T(pi) * t.CUInt64T(phentsize) + fat32.seek(fp, t.CUInt32T(phdr_off)) + fat32.read(fp, c.Addr(phdr_bufs[pi]), 56) + + found_load: t.CInt = 0 + lowest_vaddr: t.CUInt64T = 0 + highest_vaddr_end: t.CUInt64T = 0 + for pi in range(phnum): + if phdr_bufs[pi].p_type == PT_LOAD: + seg_end: t.CUInt64T = phdr_bufs[pi].p_vaddr + phdr_bufs[pi].p_memsz + if found_load == 0: + lowest_vaddr = phdr_bufs[pi].p_vaddr + highest_vaddr_end = seg_end + found_load = 1 + else: + if phdr_bufs[pi].p_vaddr < lowest_vaddr: + lowest_vaddr = phdr_bufs[pi].p_vaddr + if seg_end > highest_vaddr_end: + highest_vaddr_end = seg_end + + if found_load == 0: + serial.puts("[elf] no LOAD segments\n") + fat32.close(fp) + return None + + total_memsz: t.CUInt64T = highest_vaddr_end - lowest_vaddr + total_pages: t.CUInt64T = (total_memsz + 0xFFF) // 0x1000 + + cr2: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(cr2), 80, "[elf] vaddr 0x%lx-0x%lx pages=%lu\n", lowest_vaddr, highest_vaddr_end, total_pages) + serial.puts(cr2) + + raw_alloc: t.CVoid | t.CPtr = mm.malloc(total_pages * 0x1000 + 0x1000) + _db_ra: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(_db_ra), 80, "[elf] malloc ret raw_alloc=0x%lx\n", t.CUInt64T(raw_alloc)) + serial.puts(_db_ra) + if not raw_alloc: + serial.puts("[elf] malloc failed\n") + fat32.close(fp) + return None + + phys_base_aligned: t.CUInt64T = (t.CUInt64T(raw_alloc) + t.CUInt64T(0xFFF)) & ~t.CUInt64T(0xFFF) + phys_base: t.CVoid | t.CPtr = t.CVoid(phys_base_aligned, t.CPtr) + + string.memset(phys_base, 0, total_pages * 0x1000) + + for pi in range(phnum): + if phdr_bufs[pi].p_type == PT_LOAD: + vaddr: t.CUInt64T = phdr_bufs[pi].p_vaddr + file_off: t.CUInt64T = phdr_bufs[pi].p_offset + filesz: t.CUInt64T = phdr_bufs[pi].p_filesz + memsz: t.CUInt64T = phdr_bufs[pi].p_memsz + dest_off: t.CUInt64T = vaddr - lowest_vaddr + dest: t.CVoid | t.CPtr = t.CVoid(t.CUInt64T(phys_base) + dest_off, t.CPtr) + + if filesz > 0: + fat32.seek(fp, t.CUInt32T(file_off)) + fat32.read(fp, dest, t.CUInt32T(filesz)) + + if memsz > filesz: + bss_start: t.CVoid | t.CPtr = t.CVoid(t.CUInt64T(dest) + filesz, t.CPtr) + bss_len: t.CUInt64T = memsz - filesz + string.memset(bss_start, 0, bss_len) + + fat32.close(fp) + + virt_page_start: t.CUInt64T = lowest_vaddr & ~t.CUInt64T(0xFFF) + phys_page_start: t.CUInt64T = t.CUInt64T(phys_base) & ~t.CUInt64T(0xFFF) + map_end: t.CUInt64T = (highest_vaddr_end + 0xFFF) & ~t.CUInt64T(0xFFF) + num_map_pages: t.CUInt64T = (map_end - virt_page_start) // 0x1000 + + # Store mapping info for spawn_elf (used when do_map=0) + global _last_elf_phys_page_start, _last_elf_virt_page_start, _last_elf_num_map_pages + _last_elf_phys_page_start = phys_page_start + _last_elf_virt_page_start = virt_page_start + _last_elf_num_map_pages = num_map_pages + + if do_map != 0: + for mi in range(num_map_pages): + virt_addr: t.CUInt64T = virt_page_start + mi * 0x1000 + phys_addr: t.CUInt64T = phys_page_start + mi * 0x1000 + page_flags: t.CUInt64T = paging.PTE_PRESENT | paging.PTE_WRITABLE | paging.PTE_USER + paging.MapPage(virt_addr, phys_addr, page_flags) + + entry_addr: t.CVoid | t.CPtr = t.CVoid(entry_point, t.CPtr) + + return entry_addr + +def run_elf(path: t.CConst | str) -> t.CInt: + entry: t.CVoid | t.CPtr = load_elf(path) + if entry is None: + serial.puts("[elf] load failed\n") + return -1 + serial.puts("[elf] jumping to entry...\n") + c.Asm(f"""call {c.AsmInp(entry, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + serial.puts("[elf] returned from entry\n") + return 0 + +MAX_SPAWNED: t.CDefine = 8 +_elf_entries: t.CArray[t.CVoid | t.CPtr, MAX_SPAWNED] + +# User stack virtual address: top of 48-bit user space, 64KB below +USER_STACK_VTOP: t.CDefine = 0x7FFFFFE00000 + +# Globals for ELF mapping info (set by load_elf when do_map=0, used by spawn_elf +# to map ELF pages in the cloned PML4 instead of kernel PML4). +# ROOT CAUSE: previously load_elf mapped ELF vaddr (e.g. 0x400000) into the +# kernel PML4, overwriting the identity mapping of buddy system memory_block +# headers at 0x400000. This corrupted buddy metadata -> malloc failures, +# pid=0, and #GP in split_block. Fix: load_elf does NOT map; spawn_elf maps +# in the cloned PML4 after clone_for_process. +_last_elf_phys_page_start: t.CUInt64T = 0 +_last_elf_virt_page_start: t.CUInt64T = 0 +_last_elf_num_map_pages: t.CUInt64T = 0 + +def _elf_entry_wrapper(arg: t.CVoid | t.CPtr) -> t.CInt: + pid: t.CInt = t.CInt(t.CUInt64T(arg)) + _db1: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(_db1), 64, "[elf] wrapper pid=%d\n", pid) + serial.puts(_db1) + # Disable interrupts around switch_pid + MapPage + TSS setup: @pml4 is a global + # that switch_pid modifies. A timer interrupt mid-section would make the scheduler + # call switch_pid for another thread, corrupting @pml4 for our MapPage calls. + asm.cli() + proc.switch_pid(pid) + cur_p: proc.Process | t.CPtr = proc.ProcessManager.current() + entry_fn: t.CVoid | t.CPtr = cur_p.entry + if entry_fn is not None: + user_stack_vtop: t.CUInt64T = USER_STACK_VTOP + us_sz: t.CUInt64T = USER_STACK_SIZE + user_stack_vbottom: t.CUInt64T = USER_STACK_VTOP - us_sz + # Physical pages of the user stack (allocated by mm.malloc, identity-mapped) + us_size: t.CUInt64T = USER_STACK_SIZE + phys_bottom: t.CUInt64T = (cur_p.user_stack - us_size) & ~t.CUInt64T(0xFFF) + # Map each page of the user stack at the virtual address with PTE_USER + num_stack_pages: t.CUInt64T = 16 # USER_STACK_SIZE(65536) / PAGE_SIZE(4096) = 16 + si: t.CUInt64T + for si in range(num_stack_pages): + vaddr: t.CUInt64T = (user_stack_vbottom & ~t.CUInt64T(0xFFF)) + si * t.CUInt64T(0x1000) + paddr: t.CUInt64T = phys_bottom + si * t.CUInt64T(0x1000) + paging.MapPage(vaddr, paddr, paging.PTE_PRESENT | paging.PTE_WRITABLE | paging.PTE_USER) + # Set TSS RSP0 so interrupts from Ring 3 use kernel stack + gdt.set_tss_rsp0(cur_p.kern_stack) + # Set GS kernel_rsp0 for syscall entry from Ring 3 + cpu.set_kernel_rsp0(cur_p.kern_stack) + # Keep interrupts disabled until iretq: drop_to_user_mode's iretq + # will set RFLAGS.IF from the saved frame (0x202) for user mode. + # This prevents timer interrupt preemption between TSS setup and iretq. + # Drop to Ring 3 user mode via iretq + proc.drop_to_user_mode(entry_fn, user_stack_vtop, cur_p.kern_stack) + cur: proc.Process | t.CPtr = proc.ProcessManager.current() + cur.exit() + return 0 + +def spawn_elf(path: t.CConst | str) -> t.CInt: + fat32.lock() + name_start: t.CInt = 0 + si: t.CInt = 0 + while True: + ch: t.CChar = path[si] + if ch == 0: break + if ch == 47: + name_start = si + 1 + si += 1 + + lowest_vaddr: t.CUInt64T = 0 + highest_vaddr_end: t.CUInt64T = 0 + fp_scan: fat32_types.fileobj | t.CPtr = fat32.open(path, fat32_types.FA_READ) + if fp_scan is None: + serr: t.CUInt32T = fat32.last_error() + seb: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(seb), 64, "[elf] spawn scan open failed err=%d\n", serr) + serial.puts(seb) + fat32.unlock() + return -1 + if fp_scan is not None: + ehdr_buf_s: t.CArray[t.CUInt8T, 64] + string.memset(c.Addr(ehdr_buf_s), 0, 64) + fat32.read(fp_scan, c.Addr(ehdr_buf_s), 64) + ehdr_s: Elf64_Ehdr | t.CPtr = c.Addr(ehdr_buf_s) + if ehdr_s.e_type == ET_EXEC or ehdr_s.e_type == ET_DYN: + phoff_s: t.CUInt64T = ehdr_s.e_phoff + phentsize_s: t.CUInt16T = ehdr_s.e_phentsize + phnum_s: t.CUInt16T = ehdr_s.e_phnum + if phentsize_s > 0 and phnum_s > 0 and phnum_s <= MAX_PHDRS: + phdr_bufs_s: t.CArray[Elf64_Phdr, MAX_PHDRS] + string.memset(c.Addr(phdr_bufs_s), 0, MAX_PHDRS * 56) + found_load_s: t.CInt = 0 + for pi_s in range(phnum_s): + fat32.seek(fp_scan, t.CUInt32T(phoff_s + t.CUInt64T(pi_s) * t.CUInt64T(phentsize_s))) + fat32.read(fp_scan, c.Addr(phdr_bufs_s[pi_s]), 56) + if phdr_bufs_s[pi_s].p_type == PT_LOAD: + seg_end_s: t.CUInt64T = phdr_bufs_s[pi_s].p_vaddr + phdr_bufs_s[pi_s].p_memsz + if found_load_s == 0: + lowest_vaddr = phdr_bufs_s[pi_s].p_vaddr + highest_vaddr_end = seg_end_s + found_load_s = 1 + else: + if phdr_bufs_s[pi_s].p_vaddr < lowest_vaddr: + lowest_vaddr = phdr_bufs_s[pi_s].p_vaddr + if seg_end_s > highest_vaddr_end: + highest_vaddr_end = seg_end_s + fat32.close(fp_scan) + + isolate_va: t.CUInt64T = lowest_vaddr + if isolate_va == 0: + isolate_va = 0x400000 + + # Load ELF to physical memory WITHOUT mapping in kernel PML4. + # do_map=0: load_elf stores mapping info in globals for spawn_elf to use. + # ROOT CAUSE FIX: previously load_elf mapped ELF vaddr (e.g. 0x400000) into + # kernel PML4, overwriting identity mapping of buddy memory_block headers. + entry: t.CVoid | t.CPtr = load_elf(path, 0) + if entry is None: + serial.puts("[elf] spawn: load failed\n") + fat32.unlock() + return -1 + + # Clone kernel PML4 (identity mapping intact, no ELF mapping yet) + proc_pml4: t.CUInt64T = paging.clone_for_process(isolate_va) + slog1: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(slog1), 80, "[elf] spawn: clone pml4=0x%lx va=0x%lx\n", proc_pml4, isolate_va) + serial.puts(slog1) + if proc_pml4 == 0: + serial.puts("[elf] spawn: clone_for_process failed\n") + fat32.unlock() + return -1 + + # Map ELF pages in the CLONED PML4 (not kernel's). + # This prevents overwriting kernel identity mapping at 0x400000 which + # would corrupt buddy system memory_block headers. + # Must disable interrupts: @pml4 global is used by MapPage and a timer + # interrupt mid-section would call switch_pid, corrupting @pml4. + asm.cli() + _kernel_cr3: t.CUInt64T = 0 + c.Asm(f"""mov {c.AsmOut(_kernel_cr3, t.ASM_DESCR.OUTPUT_REG)}, cr3""", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + c.Asm(f"mov cr3, {c.AsmInp(proc_pml4, t.ASM_DESCR.REG_ANY)}", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + paging.set_active_pml4(proc_pml4) + mi: t.CUInt64T + for mi in range(_last_elf_num_map_pages): + _va: t.CUInt64T = _last_elf_virt_page_start + mi * 0x1000 + _pa: t.CUInt64T = _last_elf_phys_page_start + mi * 0x1000 + paging.MapPage(_va, _pa, paging.PTE_PRESENT | paging.PTE_WRITABLE | paging.PTE_USER) + c.Asm(f"mov cr3, {c.AsmInp(_kernel_cr3, t.ASM_DESCR.REG_ANY)}", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + paging.set_active_pml4(_kernel_cr3) + asm.sti() + + p: proc.Process | t.CPtr = proc.ProcessManager.create_process(path[name_start:], entry) + if p is None: + serial.puts("[elf] spawn: create_process failed\n") + fat32.unlock() + return -2 + p.elf_base = t.CUInt64T(entry) + p.pml4_root = proc_pml4 + if p.pid >= 0 and p.pid < MAX_SPAWNED: + _elf_entries[p.pid] = entry + + th: sched.Thread | t.CPtr = sched.Scheduler.create_thread(_elf_entry_wrapper, t.CVoid(t.CUInt64T(p.pid), t.CPtr), p.pid) + if th is None: + serial.puts("[elf] spawn: create_thread failed\n") + p.exit() + fat32.unlock() + return -3 + tid: t.CInt = th.tid + p.addThread(tid) + slog: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(slog), 80, "[elf] spawn: pid=%d tid=%d entry=0x%lx pml4=0x%lx\n", p.pid, tid, t.CUInt64T(entry), p.pml4_root) + serial.puts(slog) + fat32.unlock() + return p.pid + +def _resolve_symbol(name: t.CConst | t.CChar | t.CPtr) -> t.CVoid | t.CPtr: + nm: t.CInt = 0 + while c.Deref(name + nm) != 0: + nm += 1 + cmp_name: t.CConst | t.CChar | t.CPtr = name + cmp_len: t.CInt = nm + if nm > 9: + sha1_len2: t.CInt = 0 + for si2 in range(nm): + ch2: t.CChar = c.Deref(name + si2) + if ch2 == 46: + if sha1_len2 >= 8: + cmp_name = t.CConst(t.CUInt64T(name) + si2 + 1, t.CPtr) + cmp_len = nm - si2 - 1 + break + if ch2 == 0: + break + if (ch2 >= 48 and ch2 <= 57) or (ch2 >= 97 and ch2 <= 102): + sha1_len2 += 1 + else: + break + if cmp_len == 11: + match: t.CInt = 1 + for i in range(cmp_len): + if c.Deref(cmp_name + i) != c.Deref("serial_puts" + i): + match = 0 + if match: + return t.CVoid(c.Addr(serial.puts), t.CPtr) + return None + +_so_strtab: t.CVoid | t.CPtr +_so_symtab: t.CVoid | t.CPtr +_so_syment: t.CUInt64T +_so_sym_count: t.CInt + +def load_so(path: t.CConst | str) -> t.CVoid | t.CPtr: + fat32.lock() + fp: fat32_types.fileobj | t.CPtr = fat32.open(path, fat32_types.FA_READ) + if fp is None: + serial.puts("[so] failed to open file\n") + fat32.unlock() + return None + + ehdr_buf: t.CArray[t.CUInt8T, 64] + string.memset(c.Addr(ehdr_buf), 0, 64) + read_len: t.CUInt32T = fat32.read(fp, c.Addr(ehdr_buf), 64) + if read_len < 64: + serial.puts("[so] failed to read ehdr\n") + fat32.close(fp) + fat32.unlock() + return None + + ehdr: Elf64_Ehdr | t.CPtr = c.Addr(ehdr_buf) + if ehdr.e_ident[0] != ELFMAG0 or ehdr.e_ident[1] != ELFMAG1 or ehdr.e_ident[2] != ELFMAG2 or ehdr.e_ident[3] != ELFMAG3: + serial.puts("[so] bad magic\n") + fat32.close(fp) + fat32.unlock() + return None + if ehdr.e_ident[4] != ELFCLASS64: + serial.puts("[so] not ELF64\n") + fat32.close(fp) + fat32.unlock() + return None + if ehdr.e_type == ET_DYN: + pass + elif ehdr.e_type == ET_EXEC: + pass + else: + serial.puts("[so] not ET_DYN or ET_EXEC\n") + fat32.close(fp) + fat32.unlock() + return None + + phoff: t.CUInt64T = ehdr.e_phoff + phentsize: t.CUInt16T = ehdr.e_phentsize + phnum: t.CUInt16T = ehdr.e_phnum + + phdr_bufs: t.CArray[Elf64_Phdr, MAX_PHDRS] + string.memset(c.Addr(phdr_bufs), 0, MAX_PHDRS * 56) + for pi in range(phnum): + phdr_off: t.CUInt64T = phoff + t.CUInt64T(pi) * t.CUInt64T(phentsize) + fat32.seek(fp, t.CUInt32T(phdr_off)) + fat32.read(fp, c.Addr(phdr_bufs[pi]), 56) + + found_load: t.CInt = 0 + lowest_vaddr: t.CUInt64T = 0 + highest_vaddr_end: t.CUInt64T = 0 + for pi in range(phnum): + if phdr_bufs[pi].p_type == PT_LOAD: + seg_end: t.CUInt64T = phdr_bufs[pi].p_vaddr + phdr_bufs[pi].p_memsz + if found_load == 0: + lowest_vaddr = phdr_bufs[pi].p_vaddr + highest_vaddr_end = seg_end + found_load = 1 + else: + if phdr_bufs[pi].p_vaddr < lowest_vaddr: + lowest_vaddr = phdr_bufs[pi].p_vaddr + if seg_end > highest_vaddr_end: + highest_vaddr_end = seg_end + + if found_load == 0: + serial.puts("[so] no LOAD segments\n") + fat32.close(fp) + fat32.unlock() + return None + + total_memsz: t.CUInt64T = highest_vaddr_end - lowest_vaddr + total_pages: t.CUInt64T = (total_memsz + 0xFFF) // 0x1000 + + so_load_addr: t.CUInt64T = 0x600000 + raw_alloc: t.CVoid | t.CPtr = mm.malloc(total_pages * 0x1000 + 0x1000) + if not raw_alloc: + serial.puts("[so] malloc failed\n") + fat32.close(fp) + fat32.unlock() + return None + + phys_base_aligned: t.CUInt64T = (t.CUInt64T(raw_alloc) + 0xFFF) & ~t.CUInt64T(0xFFF) + phys_base: t.CVoid | t.CPtr = t.CVoid(phys_base_aligned, t.CPtr) + string.memset(phys_base, 0, total_pages * 0x1000) + + for pi in range(phnum): + if phdr_bufs[pi].p_type == PT_LOAD: + vaddr: t.CUInt64T = phdr_bufs[pi].p_vaddr + file_off: t.CUInt64T = phdr_bufs[pi].p_offset + filesz: t.CUInt64T = phdr_bufs[pi].p_filesz + memsz: t.CUInt64T = phdr_bufs[pi].p_memsz + dest_off: t.CUInt64T = vaddr - lowest_vaddr + dest: t.CVoid | t.CPtr = t.CVoid(t.CUInt64T(phys_base) + dest_off, t.CPtr) + if filesz > 0: + fat32.seek(fp, t.CUInt32T(file_off)) + fat32.read(fp, dest, t.CUInt32T(filesz)) + if memsz > filesz: + bss_start: t.CVoid | t.CPtr = t.CVoid(t.CUInt64T(dest) + filesz, t.CPtr) + bss_len: t.CUInt64T = memsz - filesz + string.memset(bss_start, 0, bss_len) + + virt_page_start: t.CUInt64T = (so_load_addr + lowest_vaddr) & ~t.CUInt64T(0xFFF) + phys_page_start: t.CUInt64T = t.CUInt64T(phys_base) & ~t.CUInt64T(0xFFF) + map_end: t.CUInt64T = (so_load_addr + highest_vaddr_end + 0xFFF) & ~t.CUInt64T(0xFFF) + num_map_pages: t.CUInt64T = (map_end - virt_page_start) // 0x1000 + + for mi in range(num_map_pages): + virt_addr: t.CUInt64T = virt_page_start + mi * 0x1000 + phys_addr: t.CUInt64T = phys_page_start + mi * 0x1000 + paging.MapPage(virt_addr, phys_addr, paging.PTE_PRESENT | paging.PTE_WRITABLE | paging.PTE_USER) + + base_vaddr: t.CUInt64T = so_load_addr + lowest_vaddr + + dyn_buf: t.CArray[Elf64_Dyn, MAX_DYNS] + string.memset(c.Addr(dyn_buf), 0, MAX_DYNS * 16) + dyn_count: t.CInt = 0 + for pi in range(phnum): + if phdr_bufs[pi].p_type == PT_DYNAMIC: + fat32.seek(fp, t.CUInt32T(phdr_bufs[pi].p_offset)) + dyn_read: t.CUInt32T = fat32.read(fp, c.Addr(dyn_buf), t.CUInt32T(phdr_bufs[pi].p_filesz)) + dyn_count = t.CInt(dyn_read) // 16 + + strtab_vaddr: t.CUInt64T = 0 + symtab_vaddr: t.CUInt64T = 0 + hash_vaddr: t.CUInt64T = 0 + syment: t.CUInt64T = 0 + rela_vaddr: t.CUInt64T = 0 + relasz: t.CUInt64T = 0 + jmprel_vaddr: t.CUInt64T = 0 + pltrelsz: t.CUInt64T = 0 + for di in range(dyn_count): + if dyn_buf[di].d_tag == DT_NULL: break + if dyn_buf[di].d_tag == DT_STRTAB: strtab_vaddr = dyn_buf[di].d_val + elif dyn_buf[di].d_tag == DT_SYMTAB: symtab_vaddr = dyn_buf[di].d_val + elif dyn_buf[di].d_tag == DT_HASH: hash_vaddr = dyn_buf[di].d_val + elif dyn_buf[di].d_tag == DT_SYMENT: syment = dyn_buf[di].d_val + elif dyn_buf[di].d_tag == DT_RELA: rela_vaddr = dyn_buf[di].d_val + elif dyn_buf[di].d_tag == DT_RELASZ: relasz = dyn_buf[di].d_val + elif dyn_buf[di].d_tag == DT_JMPREL: jmprel_vaddr = dyn_buf[di].d_val + elif dyn_buf[di].d_tag == DT_PLTRELSZ: pltrelsz = dyn_buf[di].d_val + + strtab_ptr: t.CVoid | t.CPtr = t.CVoid(strtab_vaddr + so_load_addr, t.CPtr) + symtab_ptr: t.CVoid | t.CPtr = t.CVoid(symtab_vaddr + so_load_addr, t.CPtr) + + if rela_vaddr != 0 and relasz > 0: + rela_count: t.CUInt64T = relasz // 24 + for ri in range(rela_count): + rela: Elf64_Rela | t.CPtr = t.CVoid(t.CUInt64T(rela_vaddr) + so_load_addr + ri * 24, t.CPtr) + r_type: t.CUInt32T = t.CUInt32T(rela.r_info & 0xFFFFFFFF) + r_sym: t.CUInt32T = t.CUInt32T(rela.r_info >> 32) + target_addr: t.CVoid | t.CPtr = t.CVoid(rela.r_offset + so_load_addr, t.CPtr) + if r_type == R_X86_64_RELATIVE: + val: t.CUInt64T = t.CUInt64T(rela.r_addend) + so_load_addr + string.memcpy(target_addr, c.Addr(val), 8) + elif r_type == R_X86_64_64 or r_type == R_X86_64_GLOB_DAT or r_type == R_X86_64_JUMP_SLOT: + sym: Elf64_Sym | t.CPtr = t.CVoid(t.CUInt64T(symtab_ptr) + t.CUInt64T(r_sym) * syment, t.CPtr) + sym_name: t.CConst | t.CChar | t.CPtr = t.CConst(t.CUInt64T(strtab_ptr) + sym.st_name, t.CPtr) + resolved: t.CVoid | t.CPtr = _resolve_symbol(sym_name) + if resolved is not None: + val2: t.CUInt64T = t.CUInt64T(resolved) + t.CUInt64T(rela.r_addend) + string.memcpy(target_addr, c.Addr(val2), 8) + elif sym.st_value != 0: + val3: t.CUInt64T = sym.st_value + so_load_addr + t.CUInt64T(rela.r_addend) + string.memcpy(target_addr, c.Addr(val3), 8) + + if jmprel_vaddr != 0 and pltrelsz > 0: + jmprel_count: t.CUInt64T = pltrelsz // 24 + for ji in range(jmprel_count): + rela2: Elf64_Rela | t.CPtr = t.CVoid(jmprel_vaddr + so_load_addr + ji * 24, t.CPtr) + r_type2: t.CUInt32T = t.CUInt32T(rela2.r_info & 0xFFFFFFFF) + r_sym2: t.CUInt32T = t.CUInt32T(rela2.r_info >> 32) + target2: t.CVoid | t.CPtr = t.CVoid(rela2.r_offset + so_load_addr, t.CPtr) + if r_type2 == R_X86_64_JUMP_SLOT or r_type2 == R_X86_64_GLOB_DAT: + sym2: Elf64_Sym | t.CPtr = t.CVoid(t.CUInt64T(symtab_ptr) + t.CUInt64T(r_sym2) * syment, t.CPtr) + sym_name2: t.CConst | t.CChar | t.CPtr = t.CConst(t.CUInt64T(strtab_ptr) + sym2.st_name, t.CPtr) + resolved2: t.CVoid | t.CPtr = _resolve_symbol(sym_name2) + if resolved2 is not None: + val4: t.CUInt64T = t.CUInt64T(resolved2) + t.CUInt64T(rela2.r_addend) + string.memcpy(target2, c.Addr(val4), 8) + elif sym2.st_value != 0: + val5: t.CUInt64T = sym2.st_value + so_load_addr + t.CUInt64T(rela2.r_addend) + string.memcpy(target2, c.Addr(val5), 8) + else: + cr3: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(cr3), 80, "[so] WARN: unresolved PLT sym offset=%lu\n", sym2.st_name) + serial.puts(cr3) + + fat32.close(fp) + + _so_strtab = strtab_ptr + _so_symtab = symtab_ptr + _so_syment = syment + _so_sym_count = 0 + if hash_vaddr != 0: + hash_ptr: t.CVoid | t.CPtr = t.CVoid(hash_vaddr + so_load_addr, t.CPtr) + nchain: t.CUInt32T = c.Deref(t.CVoid(t.CUInt64T(hash_ptr) + 4, t.CPtr)) + _so_sym_count = t.CInt(nchain) + elif syment > 0 and strtab_vaddr > symtab_vaddr and symtab_vaddr != 0: + sym_tab_size: t.CUInt64T = strtab_vaddr - symtab_vaddr + _so_sym_count = t.CInt(sym_tab_size // syment) + + cr: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(cr), 80, "[so] loaded at 0x%lx\n", base_vaddr) + serial.puts(cr) + + fat32.unlock() + return t.CVoid(base_vaddr, t.CPtr) + +def get_so_symbol(so_base: t.CVoid | t.CPtr, name: t.CConst | t.CChar | t.CPtr, so_path: t.CConst | t.CChar | t.CPtr) -> t.CVoid | t.CPtr: + if _so_symtab is None or _so_strtab is None or _so_syment == 0: + return None + if name is None: + return None + for symi in range(_so_sym_count): + sb2: Elf64_Sym | t.CPtr = t.CVoid(t.CUInt64T(_so_symtab) + t.CUInt64T(symi) * _so_syment, t.CPtr) + if sb2.st_value != 0 and sb2.st_shndx != 0: + sym_name_off2: t.CUInt32T = sb2.st_name + cmp_off2: t.CUInt32T = sym_name_off2 + match2: t.CInt = 0 + ni2: t.CInt = 0 + while True: + sc3: t.CChar = c.Deref(t.CVoid(t.CUInt64T(_so_strtab) + cmp_off2 + ni2, t.CPtr)) + nc3: t.CChar = c.Deref(name + ni2) + if sc3 != nc3: + break + if sc3 == 0: + match2 = 1 + break + ni2 += 1 + if match2 == 0: + dot_pos3: t.CUInt32T = sym_name_off2 + is_sha1_2: t.CInt = 0 + sha1_len_2: t.CUInt32T = 0 + while True: + dc4: t.CChar = c.Deref(t.CVoid(t.CUInt64T(_so_strtab) + dot_pos3, t.CPtr)) + if dc4 == 46: + if sha1_len_2 >= 8: + is_sha1_2 = 1 + break + if dc4 == 0: + break + if (dc4 >= 48 and dc4 <= 57) or (dc4 >= 97 and dc4 <= 102): + sha1_len_2 += 1 + else: + break + dot_pos3 += 1 + if is_sha1_2: + cmp_off2 = dot_pos3 + 1 + match2 = 1 + ni2 = 0 + while True: + sc4: t.CChar = c.Deref(t.CVoid(t.CUInt64T(_so_strtab) + cmp_off2 + ni2, t.CPtr)) + nc4: t.CChar = c.Deref(name + ni2) + if sc4 != nc4: + match2 = 0 + break + if sc4 == 0: + break + ni2 += 1 + if match2: + result_addr: t.CUInt64T = t.CUInt64T(so_base) + sb2.st_value + dbg2: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(dbg2), 80, "[so] found '%s' at 0x%lx\n", t.CVoid(t.CUInt64T(_so_strtab) + sym_name_off2, t.CPtr), result_addr) + serial.puts(dbg2) + return t.CVoid(result_addr, t.CPtr) + serial.puts("[so] symbol not found\n") + return None diff --git a/Test/Kernel/intr/__init__.vp b/Test/Kernel/intr/__init__.vp new file mode 100644 index 0000000..eede123 --- /dev/null +++ b/Test/Kernel/intr/__init__.vp @@ -0,0 +1,2 @@ +from . import gdt +from . import idt diff --git a/Test/Kernel/intr/gdt.vp b/Test/Kernel/intr/gdt.vp new file mode 100644 index 0000000..524573e --- /dev/null +++ b/Test/Kernel/intr/gdt.vp @@ -0,0 +1,142 @@ +import t, c + + +@c.Attribute(t.attr.packed) +class gdt_entry: + limit_low: t.CUInt16T + base_low: t.CUInt16T + base_middle: t.CUInt8T + access: t.CUInt8T + granularity: t.CUInt8T + base_high: t.CUInt8T + +@c.Attribute(t.attr.packed) +class gdt_entry64: + limit_low: t.CUInt16T + base_low: t.CUInt16T + base_middle: t.CUInt8T + access: t.CUInt8T + granularity: t.CUInt8T + base_high: t.CUInt8T + base_upper: t.CUInt32T + reserved: t.CUInt32T + +@c.Attribute(t.attr.packed) +class gdt_ptr: + limit: t.CUInt16T + base: t.CUInt64T + +gdt: t.CArray[gdt_entry, 7] = [] +gp: t.CArray[t.CUInt8T, 10] +# TSS buffer: 104 bytes, raw byte array to avoid packed struct issues +# x86_64 TSS layout: reserved0(4) rsp0(8) rsp1(8) rsp2(8) reserved1(8) ist1-ist7(56) reserved2(8) reserved3(2) iomap_base(2) +tss_buf: t.CArray[t.CUInt8T, 104] + +CODE_SEG: t.CDefine | t.CUInt16T = 0x08 +DATA_SEG: t.CDefine | t.CUInt16T = 0x10 +USER_CODE_SEG: t.CDefine | t.CUInt16T = 0x18 +USER_DATA_SEG: t.CDefine | t.CUInt16T = 0x20 +TSS_SEG: t.CDefine | t.CUInt16T = 0x28 + + +def init(): + global gp, gdt, tss_buf + gdt[0].limit_low = 0 + gdt[0].base_low = 0 + gdt[0].base_middle = 0 + gdt[0].access = 0 + gdt[0].granularity = 0 + gdt[0].base_high = 0 + gdt[1].limit_low = 0 + gdt[1].base_low = 0 + gdt[1].base_middle = 0 + gdt[1].access = 0x9A + gdt[1].granularity = 0x20 + gdt[1].base_high = 0 + gdt[2].limit_low = 0 + gdt[2].base_low = 0 + gdt[2].base_middle = 0 + gdt[2].access = 0x92 + gdt[2].granularity = 0xCF + gdt[2].base_high = 0 + gdt[3].limit_low = 0 + gdt[3].base_low = 0 + gdt[3].base_middle = 0 + gdt[3].access = 0xFA + gdt[3].granularity = 0x20 + gdt[3].base_high = 0 + gdt[4].limit_low = 0 + gdt[4].base_low = 0 + gdt[4].base_middle = 0 + gdt[4].access = 0xF2 + gdt[4].granularity = 0xCF + gdt[4].base_high = 0 + # Set up TSS descriptor in GDT entries 5-6 (selector 0x28) + setTSS64(5, t.CUInt64T(c.Addr(tss_buf)), 103) + c.Asm("""lea rax, [rip + gdt] + lea rcx, [rip + gp] + mov word ptr [rcx], 0x37 + mov qword ptr [rcx+2], rax""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX]) + c.Asm("sfence; mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + flush() + # Initialize TSS: set iomap_base = 104 (0x68) at offset 102 + tss_buf[102] = 0x68 + tss_buf[103] = 0x00 + # Load Task Register with TSS selector 0x28 + c.Asm("""mov ax, 0x28 + ltr ax""", + op=[t.ASM_DESCR.CLOBBER_RAX]) + +@c.Attribute(t.attr.naked) +def flush(): + c.Asm("""lea rax, [rip + gp] + lgdt [rax] + push 0x08 + lea rax, [rip+2f] + push rax + .byte 0x48, 0xcb + 2: + mov eax, 0x10 + mov ds, eax + mov es, eax + mov fs, eax + mov gs, eax + mov ss, eax + ret""", op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + +def set_tss_rsp0(rsp0: t.CUInt64T): + global tss_buf + # TSS RSP0 is at offset 4 (8 bytes) in x86_64 TSS layout + tss_buf[4] = t.CUInt8T(rsp0 & 0xFF) + tss_buf[5] = t.CUInt8T((rsp0 >> 8) & 0xFF) + tss_buf[6] = t.CUInt8T((rsp0 >> 16) & 0xFF) + tss_buf[7] = t.CUInt8T((rsp0 >> 24) & 0xFF) + tss_buf[8] = t.CUInt8T((rsp0 >> 32) & 0xFF) + tss_buf[9] = t.CUInt8T((rsp0 >> 40) & 0xFF) + tss_buf[10] = t.CUInt8T((rsp0 >> 48) & 0xFF) + tss_buf[11] = t.CUInt8T((rsp0 >> 56) & 0xFF) + +def setGate(num: int, base: t.CUInt64T, limit: t.CUInt32T, access: t.CUInt8T, gran: t.CUInt8T): + global gdt + gdt[num].limit_low = (limit & 0xFFFF) + gdt[num].base_low = (base & 0xFFFF) + gdt[num].base_middle = (base >> 16) & 0xFF + gdt[num].base_high = (base >> 24) & 0xFF + gdt[num].granularity = ((limit >> 16) & 0x0F) | (gran & 0xF0) + gdt[num].access = access + +def setTSS64(num: int, base: t.CUInt64T, limit: t.CUInt32T): + global gdt + gdt[num].limit_low = limit & 0xFFFF + gdt[num].base_low = base & 0xFFFF + gdt[num].base_middle = (base >> 16) & 0xFF + gdt[num].access = 0x89 + gdt[num].granularity = 0x00 + gdt[num].base_high = (base >> 24) & 0xFF + gdt[num + 1].limit_low = (base >> 32) & 0xFFFF + gdt[num + 1].base_low = (base >> 48) & 0xFFFF + gdt[num + 1].base_middle = 0 + gdt[num + 1].access = 0 + gdt[num + 1].granularity = 0 + gdt[num + 1].base_high = 0 diff --git a/Test/Kernel/intr/idt.vp b/Test/Kernel/intr/idt.vp new file mode 100644 index 0000000..416bca4 --- /dev/null +++ b/Test/Kernel/intr/idt.vp @@ -0,0 +1,415 @@ +import platform.pch.pic as pic +import platform.pch.timer as timer +import sched.sched as sched +import drivers.serial.uart.serial as serial +import viperlib +import asm +import t, c + +CODE_SEG: t.CDefine | t.CUInt16T = 0x08 + +@c.Attribute(t.attr.packed) +class idt_entry: + base_low: t.CUInt16T + selector: t.CUInt16T + ist_attr: t.CUInt8T + type_attr: t.CUInt8T + base_middle: t.CUInt16T + base_high: t.CUInt32T + reserved1: t.CUInt32T +idt: t.CArray[idt_entry, 256] = [] + +irq_handler_t: t.CTypedef = t.Callable[[], t.CInt] + +def isr0() -> t.State: pass +def isr1() -> t.State: pass +def isr2() -> t.State: pass +def isr3() -> t.State: pass +def isr4() -> t.State: pass +def isr5() -> t.State: pass +def isr6() -> t.State: pass +def isr7() -> t.State: pass +def isr8() -> t.State: pass +def isr9() -> t.State: pass +def isr10() -> t.State: pass +def isr11() -> t.State: pass +def isr12() -> t.State: pass +def isr13() -> t.State: pass +def isr14() -> t.State: pass +def isr15() -> t.State: pass +def isr16() -> t.State: pass +def isr17() -> t.State: pass +def isr18() -> t.State: pass +def isr19() -> t.State: pass +def isr20() -> t.State: pass +def isr21() -> t.State: pass +def isr22() -> t.State: pass +def isr23() -> t.State: pass +def isr24() -> t.State: pass +def isr25() -> t.State: pass +def isr26() -> t.State: pass +def isr27() -> t.State: pass +def isr28() -> t.State: pass +def isr29() -> t.State: pass +def isr30() -> t.State: pass +def isr31() -> t.State: pass +def isr32() -> t.State: pass +def isr33() -> t.State: pass +def isr34() -> t.State: pass +def isr35() -> t.State: pass +def isr36() -> t.State: pass +def isr37() -> t.State: pass +def isr38() -> t.State: pass +def isr39() -> t.State: pass +def isr40() -> t.State: pass +def isr41() -> t.State: pass +def isr42() -> t.State: pass +def isr43() -> t.State: pass +def isr44() -> t.State: pass +def isr45() -> t.State: pass +def isr46() -> t.State: pass +def isr47() -> t.State: pass + +def isr80() -> t.State: pass + +def isr_default() -> t.State: pass + +def setGate(num: int, base: t.CUInt64T, sel: t.CUInt16T, flags: t.CUInt8T): + global idt + idt[num].base_low = (base & 0xFFFF) + idt[num].base_middle = (base >> 16) & 0xFFFF + idt[num].base_high = (base >> 32) & 0xFFFFFFFF + idt[num].selector = sel + idt[num].ist_attr = 0 + idt[num].type_attr = flags + idt[num].reserved1 = 0 + +def isrCommonhandler(interrupt: t.CInt): + c.Asm(f"""mov dx, 0x3F8 + mov al, 91 + out dx, al + mov ecx, {c.AsmInp(interrupt, t.ASM_DESCR.REG_ANY)} + mov rax, rcx + shr rax, 4 + and al, 15 + add al, 48 + cmp al, 57 + jle 1f + add al, 7 + 1: + out dx, al + mov rax, rcx + and al, 15 + add al, 48 + cmp al, 57 + jle 2f + add al, 7 + 2: + out dx, al + mov al, 93 + out dx, al""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX]) + # Print CR2 for page faults (ISR 14) + if interrupt == 14: + cr2: t.CUInt64T = 0 + c.Asm(f"""mov {c.AsmOut(cr2, t.ASM_DESCR.OUTPUT_REG)}, cr2""", + op=[t.ASM_DESCR.CLOBBER_RAX]) + fault_rip: t.CUInt64T = 0 + fault_err: t.CUInt64T = 0 + c.Asm(f"""mov {c.AsmOut(fault_rip, t.ASM_DESCR.OUTPUT_REG)}, [_fault_rip] + mov {c.AsmOut(fault_err, t.ASM_DESCR.OUTPUT_REG)}, [_fault_err]""", + op=[t.ASM_DESCR.CLOBBER_RAX]) + buf: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(buf), 80, "[PF] cr2=0x%lx rip=0x%lx err=0x%lx\n", cr2, fault_rip, fault_err) + serial.puts(buf) + elif interrupt == 13: + gp_rip: t.CUInt64T = 0 + gp_err: t.CUInt64T = 0 + c.Asm(f"""mov {c.AsmOut(gp_rip, t.ASM_DESCR.OUTPUT_REG)}, [_fault_rip] + mov {c.AsmOut(gp_err, t.ASM_DESCR.OUTPUT_REG)}, [_fault_err]""", + op=[t.ASM_DESCR.CLOBBER_RAX]) + gp_buf: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(gp_buf), 80, "[GP] rip=0x%lx err=0x%lx\n", gp_rip, gp_err) + serial.puts(gp_buf) + s: sched.Scheduler | t.CPtr = sched._sched_ptr + # 如果调度器未初始化,直接进入安全停机状态 + if s == 0: + serial.puts(" KERNEL PANIC (sched not init)\n") + while True: + asm.sti() + asm.hlt() + tid: t.CInt = s.current_tid + if tid == 0: + serial.puts(" KERNEL PANIC\n") + while True: + asm.sti() + asm.hlt() + buf2: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(buf2), 64, " exc in tid=%d, terminating\n", tid) + serial.puts(buf2) + s.threads[tid].state = 3 + # Restore GS to kernel-normal state before _yield(). + # ISR entry does swapgs for user-mode exceptions (GS_BASE=&_per_cpu). + # Since _yield() switches to another thread and never returns via ISR exit, + # the swapgs at ISR exit is never executed. We must swap back here. + # Check IA32_GS_BASE (MSR 0xC0000101): if non-zero, swapgs was done at entry. + c.Asm(f"""mov ecx, 0xC0000101 + rdmsr + shl rdx, 32 + or rax, rdx + test rax, rax + jz 1f + swapgs + 1:""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX]) + sched.Scheduler._yield() + while True: + asm.sti() + asm.hlt() + +def isr0_handler() -> t.CExport | t.CVoid: isrCommonhandler(0) +def isr1_handler() -> t.CExport | t.CVoid: isrCommonhandler(1) +def isr2_handler() -> t.CExport | t.CVoid: isrCommonhandler(2) +def isr3_handler() -> t.CExport | t.CVoid: isrCommonhandler(3) +def isr4_handler() -> t.CExport | t.CVoid: isrCommonhandler(4) +def isr5_handler() -> t.CExport | t.CVoid: isrCommonhandler(5) +def isr6_handler() -> t.CExport | t.CVoid: isrCommonhandler(6) +def isr7_handler() -> t.CExport | t.CVoid: isrCommonhandler(7) +def isr8_handler() -> t.CExport | t.CVoid: isrCommonhandler(8) +def isr9_handler() -> t.CExport | t.CVoid: isrCommonhandler(9) +def isr10_handler() -> t.CExport | t.CVoid: isrCommonhandler(10) +def isr11_handler() -> t.CExport | t.CVoid: isrCommonhandler(11) +def isr12_handler() -> t.CExport | t.CVoid: isrCommonhandler(12) +def isr13_handler() -> t.CExport | t.CVoid: + isrCommonhandler(13) +def isr14_handler() -> t.CExport | t.CVoid: isrCommonhandler(14) +def isr15_handler() -> t.CExport | t.CVoid: isrCommonhandler(15) +def isr16_handler() -> t.CExport | t.CVoid: isrCommonhandler(16) +def isr17_handler() -> t.CExport | t.CVoid: isrCommonhandler(17) +def isr18_handler() -> t.CExport | t.CVoid: isrCommonhandler(18) +def isr19_handler() -> t.CExport | t.CVoid: isrCommonhandler(19) +def isr20_handler() -> t.CExport | t.CVoid: isrCommonhandler(20) +def isr21_handler() -> t.CExport | t.CVoid: isrCommonhandler(21) +def isr22_handler() -> t.CExport | t.CVoid: isrCommonhandler(22) +def isr23_handler() -> t.CExport | t.CVoid: isrCommonhandler(23) +def isr24_handler() -> t.CExport | t.CVoid: isrCommonhandler(24) +def isr25_handler() -> t.CExport | t.CVoid: isrCommonhandler(25) +def isr26_handler() -> t.CExport | t.CVoid: isrCommonhandler(26) +def isr27_handler() -> t.CExport | t.CVoid: isrCommonhandler(27) +def isr28_handler() -> t.CExport | t.CVoid: isrCommonhandler(28) +def isr29_handler() -> t.CExport | t.CVoid: isrCommonhandler(29) +def isr30_handler() -> t.CExport | t.CVoid: isrCommonhandler(30) +def isr31_handler() -> t.CExport | t.CVoid: isrCommonhandler(31) +def isr32_handler() -> t.CExport | t.CVoid: + timer.timer_handler() + +def isr33_handler() -> t.CExport | t.CVoid: + handler: irq_handler_t = irqGetHandler(1) + if handler: + c.Asm(f"""call {c.AsmInp(handler, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(1) + +def isr34_handler() -> t.CExport | t.CVoid: + handler2: irq_handler_t = irqGetHandler(2) + if handler2: + c.Asm(f"""call {c.AsmInp(handler2, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(2) + +def isr35_handler() -> t.CExport | t.CVoid: + handler3: irq_handler_t = irqGetHandler(3) + if handler3: + c.Asm(f"""call {c.AsmInp(handler3, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(3) + +def isr36_handler() -> t.CExport | t.CVoid: + handler4: irq_handler_t = irqGetHandler(4) + if handler4: + c.Asm(f"""call {c.AsmInp(handler4, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(4) + +def isr37_handler() -> t.CExport | t.CVoid: + handler5: irq_handler_t = irqGetHandler(5) + if handler5: + c.Asm(f"""call {c.AsmInp(handler5, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(5) + +def isr38_handler() -> t.CExport | t.CVoid: + handler6: irq_handler_t = irqGetHandler(6) + if handler6: + c.Asm(f"""call {c.AsmInp(handler6, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(6) + +def isr39_handler() -> t.CExport | t.CVoid: + if pic.isSpurious(7): + return + handler7: irq_handler_t = irqGetHandler(7) + if handler7: + c.Asm(f"""call {c.AsmInp(handler7, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(7) + +def isr40_handler() -> t.CExport | t.CVoid: + handler8: irq_handler_t = irqGetHandler(8) + if handler8: + c.Asm(f"""call {c.AsmInp(handler8, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(8) + +def isr41_handler() -> t.CExport | t.CVoid: + handler9: irq_handler_t = irqGetHandler(9) + if handler9: + c.Asm(f"""call {c.AsmInp(handler9, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(9) + +def isr42_handler() -> t.CExport | t.CVoid: + handler10: irq_handler_t = irqGetHandler(10) + if handler10: + c.Asm(f"""call {c.AsmInp(handler10, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(10) + +def isr43_handler() -> t.CExport | t.CVoid: + handler11: irq_handler_t = irqGetHandler(11) + if handler11: + c.Asm(f"""call {c.AsmInp(handler11, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(11) +def isr44_handler() -> t.CExport | t.CVoid: + handler: irq_handler_t = irqGetHandler(12) + if handler: + c.Asm(f"""call {c.AsmInp(handler, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + pic.eoi(12) + +def isr45_handler() -> t.CExport | t.CVoid: pic.eoi(13) +def isr46_handler() -> t.CExport | t.CVoid: pic.eoi(14) + +def isr47_handler() -> t.CExport | t.CVoid: + if pic.isSpurious(15): + return + pic.eoi(15) + +def init_exceptions(): + setGate(0, t.CUInt64T(isr0), CODE_SEG, 0x8E) + setGate(1, t.CUInt64T(isr1), CODE_SEG, 0x8E) + setGate(2, t.CUInt64T(isr2), CODE_SEG, 0x8E) + setGate(3, t.CUInt64T(isr3), CODE_SEG, 0x8E) + setGate(4, t.CUInt64T(isr4), CODE_SEG, 0x8E) + setGate(5, t.CUInt64T(isr5), CODE_SEG, 0x8E) + setGate(6, t.CUInt64T(isr6), CODE_SEG, 0x8E) + setGate(7, t.CUInt64T(isr7), CODE_SEG, 0x8E) + setGate(8, t.CUInt64T(isr8), CODE_SEG, 0x8E) + setGate(9, t.CUInt64T(isr9), CODE_SEG, 0x8E) + setGate(10, t.CUInt64T(isr10), CODE_SEG, 0x8E) + setGate(11, t.CUInt64T(isr11), CODE_SEG, 0x8E) + setGate(12, t.CUInt64T(isr12), CODE_SEG, 0x8E) + setGate(13, t.CUInt64T(isr13), CODE_SEG, 0x8E) + setGate(14, t.CUInt64T(isr14), CODE_SEG, 0x8E) + setGate(15, t.CUInt64T(isr15), CODE_SEG, 0x8E) + setGate(16, t.CUInt64T(isr16), CODE_SEG, 0x8E) + setGate(17, t.CUInt64T(isr17), CODE_SEG, 0x8E) + setGate(18, t.CUInt64T(isr18), CODE_SEG, 0x8E) + setGate(19, t.CUInt64T(isr19), CODE_SEG, 0x8E) + setGate(20, t.CUInt64T(isr20), CODE_SEG, 0x8E) + setGate(21, t.CUInt64T(isr21), CODE_SEG, 0x8E) + setGate(22, t.CUInt64T(isr22), CODE_SEG, 0x8E) + setGate(23, t.CUInt64T(isr23), CODE_SEG, 0x8E) + setGate(24, t.CUInt64T(isr24), CODE_SEG, 0x8E) + setGate(25, t.CUInt64T(isr25), CODE_SEG, 0x8E) + setGate(26, t.CUInt64T(isr26), CODE_SEG, 0x8E) + setGate(27, t.CUInt64T(isr27), CODE_SEG, 0x8E) + setGate(28, t.CUInt64T(isr28), CODE_SEG, 0x8E) + setGate(29, t.CUInt64T(isr29), CODE_SEG, 0x8E) + setGate(30, t.CUInt64T(isr30), CODE_SEG, 0x8E) + setGate(31, t.CUInt64T(isr31), CODE_SEG, 0x8E) + +def init_irqs(): + setGate(32, t.CUInt64T(isr32), CODE_SEG, 0x8E) + setGate(33, t.CUInt64T(isr33), CODE_SEG, 0x8E) + setGate(34, t.CUInt64T(isr34), CODE_SEG, 0x8E) + setGate(35, t.CUInt64T(isr35), CODE_SEG, 0x8E) + setGate(36, t.CUInt64T(isr36), CODE_SEG, 0x8E) + setGate(37, t.CUInt64T(isr37), CODE_SEG, 0x8E) + setGate(38, t.CUInt64T(isr38), CODE_SEG, 0x8E) + setGate(39, t.CUInt64T(isr39), CODE_SEG, 0x8E) + setGate(40, t.CUInt64T(isr40), CODE_SEG, 0x8E) + setGate(41, t.CUInt64T(isr41), CODE_SEG, 0x8E) + setGate(42, t.CUInt64T(isr42), CODE_SEG, 0x8E) + setGate(43, t.CUInt64T(isr43), CODE_SEG, 0x8E) + setGate(44, t.CUInt64T(isr44), CODE_SEG, 0x8E) + setGate(45, t.CUInt64T(isr45), CODE_SEG, 0x8E) + setGate(46, t.CUInt64T(isr46), CODE_SEG, 0x8E) + setGate(47, t.CUInt64T(isr47), CODE_SEG, 0x8E) + +irq_handlers: t.CStatic | t.CArray[irq_handler_t, 16] = [None] + +def irqInstallHandler(irq: t.CInt, handler: irq_handler_t, name: str) -> t.CInt: + global irq_handlers + if irq < 0 or irq > 15: return -1 + irq_handlers[irq] = handler + return 0 + +def irqGetHandler(irq: t.CInt) -> irq_handler_t: + if irq < 0 or irq > 15: return None + return irq_handlers[irq] + +def init(): + global idt + for i in range(256): + setGate(i, t.CUInt64T(isr_default), CODE_SEG, 0x8E) + pic.init() + init_exceptions() + init_irqs() + # Register ISR 0x80 for int 0x80 syscall interface (user-mode ELF apps) + setGate(0x80, t.CUInt64T(isr80), CODE_SEG, 0xEE) # DPL=3 allows Ring 3 to call int 0x80 + # Build idt_ptr on stack and load directly in one asm block + c.Asm("""lea rax, [rip + idt] + sub rsp, 16 + mov word ptr [rsp], 0x0fff + mov qword ptr [rsp+2], rax + lidt [rsp] + add rsp, 16""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) diff --git a/Test/Kernel/intr/isr.s b/Test/Kernel/intr/isr.s new file mode 100644 index 0000000..c03757f --- /dev/null +++ b/Test/Kernel/intr/isr.s @@ -0,0 +1,595 @@ +.section .bss +.comm _per_cpu, 32, 8 +.comm _proc_mgr, 8192, 16 +.comm _proc_mgr_ptr, 8, 8 +.comm _saved_cr3, 8, 8 +.comm _yield_cnt, 4, 4 +.comm _yield_lock, 4, 4 +.comm _fs_lock, 4, 4 +.comm _fault_rip, 8, 8 +.comm _fault_err, 8, 8 + +.section .text +.intel_syntax noprefix + +.globl isr_default +isr_default: + push rax + push rdx + mov al, 0x20 + out 0xA0, al + out 0x20, al + pop rdx + pop rax + iretq + +# ============================================================================= +# ISR macros with Ring 3 support +# +# When CPU takes interrupt/exception: +# From Ring 0: pushes RFLAGS, CS, RIP (3 qwords) +# From Ring 3: pushes SS, RSP, RFLAGS, CS, RIP (5 qwords) +# CPU also switches to TSS RSP0 stack when coming from Ring 3. +# +# Strategy: +# 1. Check CS RPL to determine if from Ring 3 +# 2. If from Ring 3: swapgs (make gs: point to per_cpu), save user RSP +# 3. Save full interrupt frame into registers +# 4. Re-push in uniform format with is_user flag +# 5. Call handler +# 6. On return, rebuild correct iretq frame based on is_user +# 7. If returning to Ring 3: swapgs back +# ============================================================================= + +.macro ISR_NOERR num +.globl isr\num +isr\num: + # Check CS RPL to determine if from Ring 3 + mov rax, [rsp + 8] # CS from interrupt frame + test al, 3 # RPL bits: 0 = Ring 0, 3 = Ring 3 + jnz isr\num\()_from_user + +isr\num\()_from_kernel: + # From Ring 0: no swapgs needed, already on kernel stack + mov r8, [rsp] # RIP + mov r9, [rsp + 8] # CS + mov r10, [rsp + 16] # RFLAGS + xor r11, r11 # SS = 0 + xor rax, rax # RSP = 0 + add rsp, 24 # remove the 3 CPU-pushed qwords + jmp isr\num\()_frame_ready + +isr\num\()_from_user: + # From Ring 3: swapgs to make gs: accessible, CPU already switched to TSS RSP0 + swapgs + # Save user RSP to per_cpu.user_rsp (gs:[0x0]) + # Note: CPU has already switched RSP to TSS RSP0, so the user RSP is on this stack + mov r8, [rsp] # RIP + mov r9, [rsp + 8] # CS + mov r10, [rsp + 16] # RFLAGS + mov rax, [rsp + 24] # RSP (user) + mov r11, [rsp + 32] # SS (user) + # Save user RSP to per_cpu for potential later use + mov gs:[0x0], rax + add rsp, 40 # remove the 5 CPU-pushed qwords + +isr\num\()_frame_ready: + # r8=RIP, r9=CS, r10=RFLAGS, rax=RSP(0 if kernel), r11=SS(0 if kernel) + # Build uniform frame on stack for iretq later + push r11 # SS + push rax # RSP + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + + # Push is_user flag (1 if from Ring 3, 0 if from Ring 0) + xor ecx, ecx + test r9b, 3 # test CS RPL + setnz cl # cl = 1 if from Ring 3 + push rcx # is_user + + # Push all general-purpose registers + push rax + push rbx + push rdx + push rsi + push rdi + push rbp + push r8 + push r9 + push r10 + push r11 + push r12 + push r13 + push r14 + push r15 + # Save faulting RIP and error code for debug + mov [_fault_rip], r8 + mov [_fault_err], rdx + call isr\num\()_handler + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + pop rbp + pop rdi + pop rsi + pop rdx + pop rbx + pop rax + + # Pop is_user flag + pop rcx # is_user + + # Pop the uniform frame into registers + pop r8 # RIP + pop r9 # CS + pop r10 # RFLAGS + pop rax # RSP (user) + pop r11 # SS (user) + + test rcx, rcx + jnz isr\num\()_ret_user + +isr\num\()_ret_kernel: + # Return to Ring 0: push RFLAGS, CS, RIP only + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + iretq + +isr\num\()_ret_user: + # Return to Ring 3: swapgs back, then push SS, RSP, RFLAGS, CS, RIP + swapgs + # DIAG+FIX: if RFLAGS.NT (bit 14) is set, iretq performs hardware task-return + # which loads TSS selector 0x28 -> #GP(err=0x28). Detect and clear it. + test r10, 0x4000 + jz 1f + btr r10, 14 + mov dx, 0x3F8 + mov al, 0x4E # 'N' marker = NT was set (now cleared) + out dx, al +1: + cmp r9, 0x1B + jne 8f + cmp r11, 0x23 + jne 8f + push r11 # SS + push rax # RSP + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + iretq +8: + mov dx, 0x3F8 + mov al, 0x42 # 'B' = bad CS/SS + out dx, al + mov al, 0x20 # space + out dx, al + # Output CS (r9) low byte as 2 hex digits + mov rcx, r9 + mov rax, rcx + shr rax, 4 + and rax, 0xF + add al, 0x30 + cmp al, 0x39 + jle 2f + add al, 7 +2: + out dx, al + mov rax, rcx + and rax, 0xF + add al, 0x30 + cmp al, 0x39 + jle 3f + add al, 7 +3: + out dx, al + mov al, 0x20 # space + out dx, al + # Output SS (r11) low byte as 2 hex digits + mov rcx, r11 + mov rax, rcx + shr rax, 4 + and rax, 0xF + add al, 0x30 + cmp al, 0x39 + jle 4f + add al, 7 +4: + out dx, al + mov rax, rcx + and rax, 0xF + add al, 0x30 + cmp al, 0x39 + jle 5f + add al, 7 +5: + out dx, al + mov al, 0x0A # newline + out dx, al + cli +7: + hlt + jmp 7b +.endm + +.macro ISR_ERR num +.globl isr\num +isr\num: + # Stack at entry (with error code): + # From Ring 0: [rsp]=error_code, [rsp+8]=RIP, [rsp+16]=CS, [rsp+24]=RFLAGS + # From Ring 3: [rsp]=error_code, [rsp+8]=RIP, [rsp+16]=CS, [rsp+24]=RFLAGS, [rsp+32]=RSP, [rsp+40]=SS + + # Check CS RPL + mov rax, [rsp + 16] # CS from interrupt frame + test al, 3 + jnz isr\num\()_from_user + +isr\num\()_from_kernel: + # From Ring 0: no swapgs needed + mov rdx, [rsp] # error_code + mov r8, [rsp + 8] # RIP + mov r9, [rsp + 16] # CS + mov r10, [rsp + 24] # RFLAGS + xor r11, r11 # SS = 0 + xor rax, rax # RSP = 0 + add rsp, 32 # remove 4 CPU-pushed qwords (error + 3 frame) + jmp isr\num\()_frame_ready + +isr\num\()_from_user: + # From Ring 3: swapgs, CPU already on TSS RSP0 + swapgs + mov rdx, [rsp] # error_code + mov r8, [rsp + 8] # RIP + mov r9, [rsp + 16] # CS + mov r10, [rsp + 24] # RFLAGS + mov rax, [rsp + 32] # RSP (user) + mov r11, [rsp + 40] # SS (user) + mov gs:[0x0], rax # save user RSP + add rsp, 48 # remove 6 CPU-pushed qwords (error + 5 frame) + +isr\num\()_frame_ready: + # rdx=error_code, r8=RIP, r9=CS, r10=RFLAGS, rax=RSP, r11=SS + # Build uniform frame on stack + push r11 # SS + push rax # RSP + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + push rdx # error_code + + # Push is_user flag + xor ecx, ecx + test r9b, 3 + setnz cl + push rcx # is_user + + # Push all general-purpose registers + push rax + push rbx + push rsi + push rdi + push rbp + push r8 + push r9 + push r10 + push r11 + push r12 + push r13 + push r14 + push r15 + # Save faulting RIP and error code for debug + mov [_fault_rip], r8 + mov [_fault_err], rdx + call isr\num\()_handler + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + pop rbp + pop rdi + pop rsi + pop rbx + pop rax + + # Pop is_user flag + pop rcx # is_user + add rsp, 8 # skip error_code (handler already consumed it) + pop r8 # RIP + pop r9 # CS + pop r10 # RFLAGS + pop rax # RSP (user) + pop r11 # SS (user) + + test rcx, rcx + jnz isr\num\()_ret_user + +isr\num\()_ret_kernel: + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + iretq + +isr\num\()_ret_user: + swapgs + push r11 # SS + push rax # RSP + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + iretq +.endm + +ISR_NOERR 0 +ISR_NOERR 1 +ISR_NOERR 2 +ISR_NOERR 3 +ISR_NOERR 4 +ISR_NOERR 5 +ISR_NOERR 6 +ISR_NOERR 7 +ISR_ERR 8 +ISR_NOERR 9 +ISR_ERR 10 +ISR_ERR 11 +ISR_ERR 12 +ISR_ERR 13 +ISR_ERR 14 +ISR_NOERR 15 +ISR_NOERR 16 +ISR_ERR 17 +ISR_NOERR 18 +ISR_NOERR 19 +ISR_NOERR 20 +ISR_NOERR 21 +ISR_NOERR 22 +ISR_NOERR 23 +ISR_NOERR 24 +ISR_NOERR 25 +ISR_NOERR 26 +ISR_NOERR 27 +ISR_NOERR 28 +ISR_NOERR 29 +ISR_NOERR 30 +ISR_NOERR 31 +ISR_NOERR 32 +ISR_NOERR 33 +ISR_NOERR 34 +ISR_NOERR 35 +ISR_NOERR 36 +ISR_NOERR 37 +ISR_NOERR 38 +ISR_NOERR 39 +ISR_NOERR 40 +ISR_NOERR 41 +ISR_NOERR 42 +ISR_NOERR 43 +ISR_NOERR 44 +ISR_NOERR 45 +ISR_NOERR 46 +ISR_NOERR 47 + +.globl syscall_entry +syscall_entry: + mov rax, rsp + shr rax, 47 + test rax, rax + jnz syscall_from_kernel +syscall_from_user: + swapgs + mov gs:[0x0], rsp + mov rsp, gs:[0x8] + jmp syscall_common +syscall_from_kernel: +syscall_common: + push rcx + push r11 + push rbx + push rdx + push rsi + push rdi + push rbp + push r8 + push r9 + push r10 + push r12 + push r13 + push r14 + push r15 + mov rbp, rsp + and rsp, ~15 + push r9 + mov r9, r8 + mov r8, r10 + mov rcx, rdx + mov rdx, rsi + mov rsi, rdi + mov rdi, rax + call syscall_handler + add rsp, 8 + mov rsp, rbp + pop r15 + pop r14 + pop r13 + pop r12 + pop r10 + pop r9 + pop r8 + pop rbp + pop rdi + pop rsi + pop rdx + pop rbx + pop r11 + pop rcx + mov rax, rcx + shr rax, 47 + test rax, rax + jnz syscall_ret_kernel +syscall_ret_user: + mov rsp, gs:[0x0] + swapgs + push r11 + popfq + sysretq +syscall_ret_kernel: + push r11 + popfq + jmp rcx + +# ============================================================================= +# ISR 0x80 - int 0x80 syscall handler for user-mode ELF apps +# +# int 0x80 calling convention (ViperOS): +# rax = syscall number +# rbx = arg1 +# rcx = arg2 +# rdx = arg3 +# r10 = arg4 +# +# Translated to syscall_handler calling convention: +# rdi = n (syscall number) +# rsi = arg1 +# rdx = arg2 +# rcx = arg3 +# r8 = arg4 +# r9 = arg5 (0) +# stack = arg6 (0) +# +# Return value in rax. +# ============================================================================= +.globl isr80 +isr80: + # Check CS RPL to determine if from Ring 3 + mov rax, [rsp + 8] # CS from interrupt frame + test al, 3 + jnz isr80_from_user + +isr80_from_kernel: + mov r8, [rsp] # RIP + mov r9, [rsp + 8] # CS + mov r10, [rsp + 16] # RFLAGS + xor r11, r11 # SS = 0 + xor rax, rax # RSP = 0 + add rsp, 24 + jmp isr80_frame_ready + +isr80_from_user: + swapgs + mov r8, [rsp] # RIP + mov r9, [rsp + 8] # CS + mov r10, [rsp + 16] # RFLAGS + mov rax, [rsp + 24] # RSP (user) + mov r11, [rsp + 32] # SS (user) + mov gs:[0x0], rax + add rsp, 40 + +isr80_frame_ready: + # Build uniform frame on stack + push r11 # SS + push rax # RSP + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + + # Save ALL registers FIRST (including original rcx = arg2) + # Order: rax, rbx, rcx, rdx, rsi, rdi, rbp, r8, r9, r10, r11, r12, r13, r14, r15 + push rax # [rsp+112] rax (syscall number) + push rbx # [rsp+104] rbx (arg1) + push rcx # [rsp+96] rcx (arg2) + push rdx # [rsp+88] rdx (arg3) + push rsi # [rsp+80] + push rdi # [rsp+72] + push rbp # [rsp+64] + push r8 # [rsp+56] + push r9 # [rsp+48] + push r10 # [rsp+40] r10 (arg4) + push r11 # [rsp+32] + push r12 # [rsp+24] + push r13 # [rsp+16] + push r14 # [rsp+8] + push r15 # [rsp+0] + + # Calculate is_user from saved CS on stack + # CS is at [rsp + 15*8 + 16] = [rsp + 136] + mov rax, [rsp + 136] # CS from frame + xor ecx, ecx + test al, 3 + setnz cl + push rcx # is_user (pushed AFTER all registers) + + # Stack layout now: + # [rsp+0] = is_user + # [rsp+8] = r15 [rsp+16] = r14 [rsp+24] = r13 [rsp+32] = r12 + # [rsp+40] = r11 [rsp+48] = r10 [rsp+56] = r9 [rsp+64] = r8 + # [rsp+72] = rbp [rsp+80] = rdi [rsp+88] = rsi [rsp+96] = rdx + # [rsp+104] = rcx [rsp+112] = rbx [rsp+120] = rax + + # Translate int 0x80 calling convention to syscall_handler convention + mov rdi, [rsp + 120] # original rax = syscall number -> rdi + mov rsi, [rsp + 112] # original rbx = arg1 -> rsi + mov rdx, [rsp + 104] # original rcx = arg2 -> rdx + mov rcx, [rsp + 96] # original rdx = arg3 -> rcx + mov r8, [rsp + 48] # original r10 = arg4 -> r8 + xor r9, r9 # arg5 = 0 + push 0 # arg6 = 0 (on stack) + + call syscall_handler + + add rsp, 8 # remove arg6 + # Save return value by overwriting saved rax on stack + mov [rsp + 120], rax + + # Pop is_user flag + pop rcx # is_user + + # Restore registers + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + pop rbp + pop rdi + pop rsi + pop rdx + pop rcx # restore original rcx (arg2) + pop rbx + pop rax # now has the return value + + # Pop frame + pop r8 # RIP + pop r9 # CS + pop r10 # RFLAGS + pop rax # RSP (user) + pop r11 # SS (user) + + test rcx, rcx + jnz isr80_ret_user + +isr80_ret_kernel: + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + iretq + +isr80_ret_user: + swapgs + push r11 # SS + push rax # RSP + push r10 # RFLAGS + push r9 # CS + push r8 # RIP + iretq diff --git a/Test/Kernel/intr/syscall.vp b/Test/Kernel/intr/syscall.vp new file mode 100644 index 0000000..d77cd3f --- /dev/null +++ b/Test/Kernel/intr/syscall.vp @@ -0,0 +1,470 @@ +import drivers.serial.uart.serial as serial +import services.desktop as desktop +import drivers.fs.fat32.fat32 as fat32 +import drivers.fs.fat32.fat32_types as fat32_types +import sched.sched as sched +import sched.process as process +import viperlib +import string +import mm.mm as mm +import paging.paging as paging +import execrunner.elf as elf +import t, c + +CREATE_WINDOW: t.CDefine = 1 +DRAW_TEXT: t.CDefine = 2 +EXIT: t.CDefine = 3 +OPEN: t.CDefine = 4 +CLOSE: t.CDefine = 5 +READ: t.CDefine = 6 +WRITE: t.CDefine = 7 +SEEK: t.CDefine = 8 +TELL: t.CDefine = 9 +SIZE: t.CDefine = 10 +MKDIR: t.CDefine = 11 +REMOVE: t.CDefine = 12 +OPENDIR: t.CDefine = 13 +READDIR: t.CDefine = 14 +CLOSEDIR: t.CDefine = 15 +STAT: t.CDefine = 16 +WAIT_WINDOW: t.CDefine = 17 +SERIAL_PUTS: t.CDefine = 18 +LOAD_SO: t.CDefine = 19 +SO_CALL1: t.CDefine = 20 +GET_WINBUF: t.CDefine = 21 +WIN_FLUSH: t.CDefine = 22 +POLL_EVENT: t.CDefine = 23 +SET_CURSOR: t.CDefine = 24 +YIELD: t.CDefine = 25 +SET_TITLE: t.CDefine = 26 +SET_GEOMETRY: t.CDefine = 27 +SPAWN: t.CDefine = 28 +MMAP: t.CDefine = 29 +MUNMAP: t.CDefine = 30 +SET_RESIZABLE: t.CDefine = 31 +GET_WIN_SIZE: t.CDefine = 32 +THREAD_CREATE: t.CDefine = 33 + +IA32_EFER: t.CDefine = 0xC0000080 +IA32_STAR: t.CDefine = 0xC0000081 +IA32_LSTAR: t.CDefine = 0xC0000082 +IA32_FMASK: t.CDefine = 0xC0000084 + +def wrmsr(msr: t.CUInt32T, val: t.CUInt64T): + lo: t.CUInt32T = t.CUInt32T(val & 0xFFFFFFFF) + hi: t.CUInt32T = t.CUInt32T(val >> 32) + c.Asm(f"""mov ecx, {c.AsmInp(msr, t.ASM_DESCR.REG_ANY)} + mov eax, {c.AsmInp(lo, t.ASM_DESCR.REG_ANY)} + mov edx, {c.AsmInp(hi, t.ASM_DESCR.REG_ANY)} + wrmsr""", + op=[t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RDX]) + +def rdmsr(msr: t.CUInt32T) -> t.CUInt64T: + lo: t.CUInt32T + hi: t.CUInt32T + c.Asm(f"""mov ecx, {c.AsmInp(msr, t.ASM_DESCR.REG_ANY)} + rdmsr""", + out=[c.AsmOut(lo, t.ASM_DESCR.OUTPUT_REG), c.AsmOut(hi, t.ASM_DESCR.OUTPUT_REG)], + op=[t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_RDX]) + return t.CUInt64T(lo) | (t.CUInt64T(hi) << 32) + +def _current_proc() -> process.Process | t.CPtr: + return process.ProcessManager.current() + +def _fd_alloc(p: process.Process | t.CPtr) -> t.CInt: + for i in range(process.PROC_MAX_FDS): + if not p.fd_used[i]: + p.fd_used[i] = 1 + return i + return -1 + +def _fd_free(p: process.Process | t.CPtr, fd: t.CInt): + if fd >= 0 and fd < process.PROC_MAX_FDS: + p.fd_used[fd] = 0 + p.fd_table[fd] = t.CVoid(0, t.CPtr) + +def _dir_alloc(p: process.Process | t.CPtr) -> t.CInt: + for i in range(process.PROC_MAX_DIRS): + if not p.dir_used[i]: + p.dir_used[i] = 1 + return i + return -1 + +def _dir_free(p: process.Process | t.CPtr, dd: t.CInt): + if dd >= 0 and dd < process.PROC_MAX_DIRS: + p.dir_used[dd] = 0 + p.dir_table[dd] = t.CVoid(0, t.CPtr) + +def CREATE_WINDOW(x: t.CInt, y: t.CInt, w: t.CInt, h: t.CInt, title: t.CConst | t.CChar | t.CPtr, style: t.CInt) -> t.CInt: + desktop.set_app_pid(process.current()) + return desktop.create(x, y, w, h, title, style) + +def DRAW_TEXT(win_id: t.CInt, x: t.CInt, y: t.CInt, text: t.CConst | t.CChar | t.CPtr, color: t.CUInt32T) -> t.CInt: + return desktop.draw_text(win_id, x, y, text, color) + +def EXIT(code: t.CInt) -> t.CInt: + serial.puts("[syscall] exit called\n") + desktop.destroy_by_pid(process.current()) + return 0 + +def WAIT_WINDOW(win_id: t.CInt) -> t.CInt: + while desktop.is_active(win_id): + sched.Scheduler.try_reschedule() + return 0 + +def SERIAL_PUTS(str_ptr: t.CVoid | t.CPtr) -> t.CInt: + s: t.CConst | t.CChar | t.CPtr = t.CVoid(str_ptr, t.CPtr) + serial.puts(s) + return 0 + +_loaded_so_base: t.CVoid | t.CPtr = None +_loaded_so_path: t.CArray[t.CChar, 64] + +def LOAD_SO(path_ptr: t.CVoid | t.CPtr) -> t.CUInt64T: + global _loaded_so_base + path: t.CConst | t.CChar | t.CPtr = t.CVoid(path_ptr, t.CPtr) + serial.puts("[so] loading: ") + serial.puts(path) + serial.puts("\n") + base: t.CVoid | t.CPtr = elf.load_so(path) + if base is not None: + _loaded_so_base = base + for i in range(63): + ch: t.CChar = c.Deref(path + i) + _loaded_so_path[i] = ch + if ch == 0: break + _loaded_so_path[63] = 0 + return t.CUInt64T(base) + return 0 + +def SO_CALL1(sym_name_ptr: t.CVoid | t.CPtr, arg1: t.CVoid | t.CPtr) -> t.CInt: + if _loaded_so_base is None: return -1 + sym_name: t.CConst | t.CChar | t.CPtr = t.CVoid(sym_name_ptr, t.CPtr) + fn: t.CVoid | t.CPtr = elf.get_so_symbol(_loaded_so_base, sym_name, c.Addr(_loaded_so_path[0])) + if fn is None: + serial.puts("[so] symbol not found\n") + return -2 + c.Asm(f"""mov rdi, {c.AsmInp(arg1, t.ASM_DESCR.REG_ANY)} + call {c.AsmInp(fn, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_RDI, t.ASM_DESCR.CLOBBER_RSI, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + serial.puts("[so] call returned\n") + return 0 + +def GET_WINBUF(win_id: t.CInt) -> t.CUInt64T: + buf: t.CVoid | t.CPtr = desktop.get_fb(win_id) + if buf is None: + return 0 + return t.CUInt64T(buf) + +def WIN_FLUSH(win_id: t.CInt) -> t.CInt: + desktop.flush(win_id) + return 0 + +def SET_CURSOR(win_id: t.CInt, cursor_t: t.CInt) -> t.CInt: + desktop.set_cursor_type(win_id, cursor_t) + return 0 + +def OPEN(path_ptr: t.CVoid | t.CPtr, mode: t.CUInt32T) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + path: t.CConst | t.CChar | t.CPtr = t.CVoid(path_ptr, t.CPtr) + fat32.lock() + fp: t.CVoid | t.CPtr = fat32.open(path, t.CUInt8T(mode)) + if not fp: + fat32.unlock() + return -1 + fd: t.CInt = _fd_alloc(p) + if fd < 0: + fat32.close(fp) + fat32.unlock() + return -1 + p.fd_table[fd] = fp + fat32.unlock() + return fd + +def CLOSE(fd: t.CInt) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + if fd < 0 or fd >= process.PROC_MAX_FDS: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + fp: t.CVoid | t.CPtr = p.fd_table[fd] + if not fp: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + fat32.lock() + res: t.CInt = t.CInt(fat32.close(fp)) + fat32.unlock() + _fd_free(p, fd) + return res + +def READ(fd: t.CInt, buf_ptr: t.CVoid | t.CPtr, count: t.CUInt32T) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + if fd < 0 or fd >= process.PROC_MAX_FDS: + return -1 + fp: t.CVoid | t.CPtr = p.fd_table[fd] + if not fp: + return -1 + fat32.lock() + br: t.CUInt32T = fat32.read(fp, buf_ptr, count) + fat32.unlock() + return t.CInt(br) + +def WRITE(fd: t.CInt, buf_ptr: t.CVoid | t.CPtr, count: t.CUInt32T) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + if fd < 0 or fd >= process.PROC_MAX_FDS: + return -1 + fp: t.CVoid | t.CPtr = p.fd_table[fd] + if not fp: + return -1 + fat32.lock() + bw: t.CUInt32T = fat32.write(fp, buf_ptr, count) + fat32.unlock() + return t.CInt(bw) + +def SEEK(fd: t.CInt, offset: t.CUInt32T) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + if fd < 0 or fd >= process.PROC_MAX_FDS: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + fp: t.CVoid | t.CPtr = p.fd_table[fd] + if not fp: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + fat32.lock() + r: t.CInt = t.CInt(fat32.seek(fp, offset)) + fat32.unlock() + return r + +def TELL(fd: t.CInt) -> t.CUInt32T: + p: process.Process | t.CPtr = _current_proc() + if fd < 0 or fd >= process.PROC_MAX_FDS: + return 0 + fp: t.CVoid | t.CPtr = p.fd_table[fd] + if not fp: + return 0 + fat32.lock() + pos: t.CUInt32T = fat32.tell(fp) + fat32.unlock() + return pos + +def fsize(fd: t.CInt) -> t.CUInt32T: + p: process.Process | t.CPtr = _current_proc() + if fd < 0 or fd >= process.PROC_MAX_FDS: + return 0 + fp: t.CVoid | t.CPtr = p.fd_table[fd] + if not fp: + return 0 + fat32.lock() + sz: t.CUInt32T = fat32.size(fp) + fat32.unlock() + return sz + +def MKDIR(path_ptr: t.CVoid | t.CPtr) -> t.CInt: + path: t.CConst | t.CChar | t.CPtr = t.CVoid(path_ptr, t.CPtr) + fat32.lock() + r: t.CInt = t.CInt(fat32.mkdir(path)) + fat32.unlock() + return r + +def REMOVE(path_ptr: t.CVoid | t.CPtr) -> t.CInt: + path: t.CConst | t.CChar | t.CPtr = t.CVoid(path_ptr, t.CPtr) + fat32.lock() + r: t.CInt = t.CInt(fat32.remove(path)) + fat32.unlock() + return r + +def OPENdir(path_ptr: t.CVoid | t.CPtr) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + path: t.CConst | t.CChar | t.CPtr = t.CVoid(path_ptr, t.CPtr) + dd: t.CInt = _dir_alloc(p) + if dd < 0: + return -1 + dp: fat32_types.dirobj | t.CPtr = c.Addr(p.dir_pool[dd]) + fat32.lock() + res: t.CInt = t.CInt(fat32.opendir(path, dp)) + fat32.unlock() + if res != 0: + _dir_free(p, dd) + return -1 + p.dir_table[dd] = t.CVoid(t.CUInt64T(dp), t.CPtr) + return dd + +def READdir(dd: t.CInt, info_ptr: t.CVoid | t.CPtr) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + if dd < 0 or dd >= process.PROC_MAX_DIRS: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + dp: t.CVoid | t.CPtr = p.dir_table[dd] + if not dp: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + info: fat32_types.fileinfo | t.CPtr = info_ptr + fat32.lock() + r: t.CInt = t.CInt(fat32.readdir(dp, info)) + fat32.unlock() + return r + +def CLOSEdir(dd: t.CInt) -> t.CInt: + p: process.Process | t.CPtr = _current_proc() + if dd < 0 or dd >= process.PROC_MAX_DIRS: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + dp: t.CVoid | t.CPtr = p.dir_table[dd] + if not dp: + return t.CInt(fat32_types.FRESULT.FR_INVALID_OBJECT) + fat32.lock() + fat32.closedir(dp) + fat32.unlock() + _dir_free(p, dd) + return 0 + +def STAT(path_ptr: t.CVoid | t.CPtr, info_ptr: t.CVoid | t.CPtr) -> t.CInt: + path: t.CConst | t.CChar | t.CPtr = t.CVoid(path_ptr, t.CPtr) + info: fat32_types.fileinfo | t.CPtr = info_ptr + fat32.lock() + r: t.CInt = t.CInt(fat32.stat(path, info)) + fat32.unlock() + return r + +def SPAWN(path_ptr: t.CVoid | t.CPtr, blocking: t.CInt) -> t.CInt: + path: t.CConst | t.CChar | t.CPtr = t.CVoid(path_ptr, t.CPtr) + pid: t.CInt = elf.spawn_elf(path) + if pid < 0: + return pid + if blocking: + p: process.Process | t.CPtr = process.ProcessManager.get_process(pid) + if p: + while p.state != process.PROC_DONE: + sched.Scheduler.try_reschedule() + return pid + +USER_HEAP_BASE: t.CDefine = 0x20000000 + +def MMAP(size: t.CUInt64T) -> t.CUInt64T: + p: process.Process | t.CPtr = _current_proc() + if size == 0: return 0 + aligned_size: t.CUInt64T = (size + 4095) & ~t.CUInt64T(4095) + if p.heap_start == 0: + p.heap_start = USER_HEAP_BASE + heap_end: t.CUInt64T = p.heap_start + p.heap_size + new_end: t.CUInt64T = heap_end + aligned_size + for va in range(heap_end, new_end, 4096): + phys_page: t.CVoid | t.CPtr = mm.malloc(4096) + if phys_page is None: return 0 + paging.MapPage(va, t.CUInt64T(phys_page), paging.PTE_PRESENT | paging.PTE_WRITABLE | paging.PTE_USER) + p.heap_size = p.heap_size + aligned_size + return heap_end + +def MUNMAP(ptr: t.CUInt64T, size: t.CUInt64T) -> t.CInt: + return 0 + +def syscall_entry() -> t.CExtern | t.CVoid | t.State: pass + +def syscall_handler(num: t.CUInt64T, arg1: t.CUInt64T, arg2: t.CUInt64T, arg3: t.CUInt64T, arg4: t.CUInt64T, arg5: t.CUInt64T, arg6: t.CUInt64T) -> t.CExport | t.CUInt64T: + n: t.CInt = t.CInt(num) + if n == CREATE_WINDOW: + title_ptr: t.CVoid | t.CPtr = t.CVoid(arg5, t.CPtr) + return t.CUInt64T(CREATE_WINDOW(t.CInt(arg1), t.CInt(arg2), t.CInt(arg3), t.CInt(arg4), title_ptr, t.CInt(arg6))) + elif n == DRAW_TEXT: + text_ptr: t.CVoid | t.CPtr = t.CVoid(arg4, t.CPtr) + return t.CUInt64T(DRAW_TEXT(t.CInt(arg1), t.CInt(arg2), t.CInt(arg3), text_ptr, t.CUInt32T(arg5))) + elif n == EXIT: + return t.CUInt64T(EXIT(t.CInt(arg1))) + elif n == OPEN: + path_ptr: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return t.CUInt64T(OPEN(path_ptr, t.CUInt32T(arg2))) + elif n == CLOSE: + return t.CUInt64T(CLOSE(t.CInt(arg1))) + elif n == READ: + buf_ptr: t.CVoid | t.CPtr = t.CVoid(arg2, t.CPtr) + return t.CUInt64T(READ(t.CInt(arg1), buf_ptr, t.CUInt32T(arg3))) + elif n == WRITE: + buf_ptr: t.CVoid | t.CPtr = t.CVoid(arg2, t.CPtr) + return t.CUInt64T(WRITE(t.CInt(arg1), buf_ptr, t.CUInt32T(arg3))) + elif n == SEEK: + return t.CUInt64T(SEEK(t.CInt(arg1), t.CUInt32T(arg2))) + elif n == TELL: + return t.CUInt64T(TELL(t.CInt(arg1))) + elif n == SIZE: + return t.CUInt64T(fsize(t.CInt(arg1))) + elif n == MKDIR: + path_ptr: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return t.CUInt64T(MKDIR(path_ptr)) + elif n == REMOVE: + path_ptr: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return t.CUInt64T(REMOVE(path_ptr)) + elif n == OPENDIR: + path_ptr: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return t.CUInt64T(OPENdir(path_ptr)) + elif n == READDIR: + info_ptr: t.CVoid | t.CPtr = t.CVoid(arg2, t.CPtr) + return t.CUInt64T(READdir(t.CInt(arg1), info_ptr)) + elif n == CLOSEDIR: + return t.CUInt64T(CLOSEdir(t.CInt(arg1))) + elif n == STAT: + path_ptr: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + info_ptr: t.CVoid | t.CPtr = t.CVoid(arg2, t.CPtr) + return t.CUInt64T(STAT(path_ptr, info_ptr)) + elif n == WAIT_WINDOW: + if t.CInt(arg2) == 1: + return t.CUInt64T(desktop.is_active(t.CInt(arg1))) + elif t.CInt(arg2) == 2: + sched.Scheduler.try_reschedule() + return 0 + return t.CUInt64T(WAIT_WINDOW(t.CInt(arg1))) + elif n == SERIAL_PUTS: + str_ptr_sp: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return t.CUInt64T(SERIAL_PUTS(str_ptr_sp)) + elif n == LOAD_SO: + path_ptr_so: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return LOAD_SO(path_ptr_so) + elif n == SO_CALL1: + sym_ptr: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return t.CUInt64T(SO_CALL1(sym_ptr, arg2)) + elif n == GET_WINBUF: + return GET_WINBUF(t.CInt(arg1)) + elif n == WIN_FLUSH: + return t.CUInt64T(WIN_FLUSH(t.CInt(arg1))) + elif n == POLL_EVENT: + buf_ptr_ev: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + caller_pid_ev: t.CInt = process.current() + return t.CUInt64T(desktop.poll_event(buf_ptr_ev, caller_pid_ev)) + elif n == SET_CURSOR: + desktop.set_cursor_type(t.CInt(arg1), t.CInt(arg2)) + return 0 + elif n == YIELD: + sched.Scheduler.try_reschedule() + return 0 + elif n == SET_TITLE: + title_ptr_st: t.CVoid | t.CPtr = t.CVoid(arg2, t.CPtr) + return t.CUInt64T(desktop.set_title(t.CInt(arg1), title_ptr_st)) + elif n == SET_GEOMETRY: + return t.CUInt64T(desktop.set_geometry(t.CInt(arg1), t.CInt(arg2), t.CInt(arg3), t.CInt(arg4), t.CInt(arg5))) + elif n == SET_RESIZABLE: + return t.CUInt64T(desktop.set_resizable(t.CInt(arg1), t.CInt(arg2), t.CInt(arg3))) + elif n == GET_WIN_SIZE: + return t.CUInt64T(desktop.get_size(t.CInt(arg1))) + elif n == SPAWN: + path_ptr_sp: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + return t.CUInt64T(SPAWN(path_ptr_sp, t.CInt(arg2))) + elif n == MMAP: + return MMAP(arg1) + elif n == MUNMAP: + return t.CUInt64T(MUNMAP(arg1, arg2)) + elif n == THREAD_CREATE: + func_ptr: t.CVoid | t.CPtr = t.CVoid(arg1, t.CPtr) + arg_ptr: t.CVoid | t.CPtr = t.CVoid(arg2, t.CPtr) + cur_pid: t.CInt = process.current() + th: sched.Thread | t.CPtr = sched.Scheduler.create_thread(func_ptr, arg_ptr, cur_pid) + if th is None: return t.CUInt64T(0xFFFFFFFFFFFFFFFF) + p: process.Process | t.CPtr = process.ProcessManager.get_process(cur_pid) + if p: + p.addThread(th.tid) + return t.CUInt64T(th.tid) + return 0 + +def init(): + efer: t.CUInt64T = rdmsr(IA32_EFER) + efer = efer | 1 + wrmsr(IA32_EFER, efer) + star_val: t.CUInt64T = (t.CUInt64T(0x08) << 32) | (t.CUInt64T(0x1B) << 48) + wrmsr(IA32_STAR, star_val) + wrmsr(IA32_LSTAR, t.CUInt64T(syscall_entry)) + wrmsr(IA32_FMASK, 0x200) + serial.puts("[syscall] MSR init done\n") diff --git a/Test/Kernel/main.vp b/Test/Kernel/main.vp new file mode 100644 index 0000000..5391149 --- /dev/null +++ b/Test/Kernel/main.vp @@ -0,0 +1,346 @@ +from stdint import * +import bootinfo +import intr +import platform.pch as pch +import platform.pch.timer as timer +import platform.pch.rtc as rtc +import drivers.serial.uart.su8250 as su8250 +import drivers.serial.uart.serial as serial +import drivers.devfs.devfs as devfs +import paging.paging as paging +import drivers.video.vesafb.vga as vga +import drivers.video.vesafb.gfx as gfx +import drivers.storage.ide.ide as ide +import drivers.fs.fat32.fat32 as fat32 +import drivers.fs.fat32.fat32_types as fat32_types +import mm.mm as mm +import string +import sched.sched as sched +import sched.process as proc +import drivers.input.keyboard.keyboard as keyboard +import drivers.input.mouse.mouse as mouse +import drivers.usb.usb as usb +import drivers.core.cpu.cpu as cpu +import drivers.core.cpu.apic as apic +import viperlib +import services.keyboard as kbd_svc +import services.mouse as mse_svc +import services.desktop as desktop +import intr.syscall as syscall +import execrunner.elf as elf +import t, c +import asm + +kbd_tid: t.CInt = -1 +mse_tid: t.CInt = -1 + +BootInfo: bootinfo.bootinfo | t.CPtr + +@t.Object +# @t.CVTable +class ViperKernel: + BootInfo: bootinfo.bootinfo | t.CPtr + VGA: vga._VGAScreenDriver | t.CPtr + VGA_drv: vga._VGAScreenDriver + + def __init__(self): + global BootInfo + self.BootInfo = BootInfo + BootInfo: bootinfo.bootinfo | t.CPtr = self.BootInfo + serial.init() + serial.puts("===== ViperOS VKernel Test\n =====") + serial.puts("V2.3.8\n") + + intr.gdt.init() + # Set IA32_KERNEL_GS_BASE = &_per_cpu so swapgs in ISR/syscall works. + # _CPUObject is never instantiated, so __init_tss__ never runs; + # without this, GS base stays 0 and gs:[0] writes hit null -> triple fault. + cpu.msr_write(cpu.IA32_KERNEL_GS_BASE, t.CUInt64T(c.Addr(cpu._per_cpu))) + serial.puts("[main] gdt init done\n") + intr.idt.init() + syscall.init() + serial.puts("[main] syscall init done\n") + + # 必须在 sti() 之前初始化调度器,否则中断触发时 _sched_ptr 为 NULL 会导致三重故障 + sched.Scheduler() + serial.puts("[main] sched init done\n") + + timer.timer_init() + serial.puts("[main] timer init done\n") + + #mouse.init() + #serial.puts("[main] mouse init done\n") + + #apic.early_init() + #serial.puts("[main] apic init done\n") + + asm.sti() + serial.puts("[main] sti done\n") + + timer.timer_msleep(100) + serial.puts("[main] msleep done\n") + rtc.rtc_init() + serial.puts("[main] rtc init done\n") + ncpu: t.CUInt32T = apic.get_cpu_count() + ncpu_cr: t.CArray[t.CChar, 32] + viperlib.snprintf(c.Addr(ncpu_cr), 32, "[main] cpu_count=%u\n", ncpu) + serial.puts(ncpu_cr) + if ncpu > 1: + apic.start_aps() + serial.puts("[main] kernel init done\n") + + fb: t.CVoid | t.CPtr = BootInfo.framebuffer_addr + width: t.CUInt64T = BootInfo.framebuffer_width + height: t.CUInt64T = BootInfo.framebuffer_height + pitch: t.CUInt64T = BootInfo.framebuffer_pitch + fb_format: t.CUInt64T = BootInfo.framebuffer_format + fb_size: t.CUInt64T = BootInfo.framebuffer_size + if BootInfo is not None: + paging.init(BootInfo.MemmapAddr, BootInfo.MemmapSize) + fb_pages: t.CUInt64T = (fb_size + t.CUInt64T(0xFFF)) >> t.CUInt64T(12) + fpi: t.CUInt64T = 0 + while fpi < fb_pages: + fva: t.CUInt64T = t.CUInt64T(fb) + fpi * t.CUInt64T(0x1000) + paging.MapPage(fva, fva, paging.PTE_WRITABLE | paging.PTE_PCD) + fpi += 1 + mm.init(BootInfo.MemmapAddr, BootInfo.MemmapSize, BootInfo.MemmapDescSize, BootInfo.framebuffer_addr, fb_size) + pt_pool_buf: t.CVoid | t.CPtr = mm.malloc(t.CUInt64T(513) * t.CUInt64T(4096)) + paging.init_pool(pt_pool_buf, t.CUInt64T(513) * t.CUInt64T(4096)) + else: + paging.init(0, 0) + mm.init(0, 0, 0, 0, 0) + pt_pool_buf2: t.CVoid | t.CPtr = mm.malloc(t.CUInt64T(513) * t.CUInt64T(4096)) + paging.init_pool(pt_pool_buf2, t.CUInt64T(513) * t.CUInt64T(4096)) + serial.puts("[main] paging and mm init done\n") + + proc.ProcessManager() + serial.puts("[main] process manager init done\n") + + ide.init() + serial.puts("[main] ide init done\n") + + serial.puts("[main] initializing FAT32 filesystem\n") + scan_res: t.CInt = fat32.scan_drives() + ndrives: t.CInt = fat32.get_drive_count() + ndrives_cr: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(ndrives_cr), 64, "[fat32] scan_res=%d found %d drives\n", scan_res, ndrives) + serial.puts(ndrives_cr) + + if ndrives > 0: + mount_res: t.CInt = fat32.mount() + if mount_res == 0: + dp: fat32_types.dirobj + res: t.CInt = fat32.opendir("/", c.Addr(dp)) + if res == 0: + serial.puts("[fat32] listing 0:/\n") + count: t.CInt = 0 + while count < 20: + info: fat32_types.fileinfo + res2: t.CInt = fat32.readdir(c.Addr(dp), c.Addr(info)) + if res2 != 0: break + if info.fname[0] == 0: break + is_dir: t.CInt = 1 if (info.attr & fat32_types.AM_DIR) else 0 + entry_cr: t.CArray[t.CChar, 300] + viperlib.snprintf(c.Addr(entry_cr), 300, " %s size=%lu dir=%d\n", c.Addr(info.fname[0]), info.file_size, is_dir) + serial.puts(entry_cr) + count = count + 1 + fat32.closedir(c.Addr(dp)) + serial.puts("[fat32] directory listing done\n") + else: + serial.puts("[fat32] failed to open root directory\n") + + # Load ELF apps BEFORE running destructive FAT32 tests + serial.puts("[main] loading ELF apps...\n") + dp_apps: fat32_types.dirobj + apps_res: t.CInt = fat32.opendir("/APPS", c.Addr(dp_apps)) + if apps_res == 0: + serial.puts("[main] APPS dir listing:\n") + ac: t.CInt = 0 + while ac < 20: + ai: fat32_types.fileinfo + ar: t.CInt = fat32.readdir(c.Addr(dp_apps), c.Addr(ai)) + if ar != 0: break + if ai.fname[0] == 0: break + ae: t.CArray[t.CChar, 300] + viperlib.snprintf(c.Addr(ae), 300, " %s size=%lu\n", c.Addr(ai.fname[0]), ai.file_size) + serial.puts(ae) + ac = ac + 1 + fat32.closedir(c.Addr(dp_apps)) + else: + serial.puts("[main] APPS dir not found\n") + + sched.Scheduler.disable() + hello_pid: t.CInt = elf.spawn_elf("/APPS/hello.elf") + if hello_pid < 0: + serial.puts("[main] Hello spawn failed\n") + else: + slog: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(slog), 64, "[main] Hello spawned as pid=%d\n", hello_pid) + serial.puts(slog) + term_pid: t.CInt = elf.spawn_elf("/APPS/terminal.elf") + if term_pid < 0: + serial.puts("[main] Terminal spawn failed\n") + else: + tlog: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(tlog), 64, "[main] Terminal spawned as pid=%d\n", term_pid) + serial.puts(tlog) + + garg_pid: t.CInt = elf.spawn_elf("/APPS/gargantua.elf") + if garg_pid < 0: + serial.puts("[main] Gargantua spawn failed\n") + else: + glog: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(glog), 64, "[main] Gargantua spawned as pid=%d\n", garg_pid) + serial.puts(glog) + + s3d_pid: t.CInt = elf.spawn_elf("/APPS/scene3d.elf") + if s3d_pid < 0: + serial.puts("[main] Scene3D spawn failed\n") + else: + s3d_log: t.CArray[t.CChar, 64] + viperlib.snprintf(c.Addr(s3d_log), 64, "[main] Scene3D spawned as pid=%d\n", s3d_pid) + serial.puts(s3d_log) + + so_base: t.CVoid | t.CPtr = elf.load_so("/LIBS/SLOG.SO") + if so_base is not None: + serial.puts("[main] slog.so loaded, calling log_info...\n") + log_info_fn: t.CVoid | t.CPtr = elf.get_so_symbol(so_base, "log_info", "/LIBS/SLOG.SO") + if log_info_fn is not None: + msg: t.CConst | t.CChar | t.CPtr = "Hello from shared library!" + c.Asm(f"""mov rdi, {c.AsmInp(msg, t.ASM_DESCR.REG_ANY)} + call {c.AsmInp(log_info_fn, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_RDI, t.ASM_DESCR.CLOBBER_RSI, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + else: + serial.puts("[main] log_info symbol not found\n") + else: + serial.puts("[main] failed to load slog.so\n") + sched.Scheduler.enable() + + # FAT32 destructive tests removed to prevent disk.img corruption + # (write/rename/delete/mkdir/rmdir permanently modify the disk image) + + fat32.unmount() + serial.puts("[fat32] unmounted\n") + else: + serial.puts("[fat32] mount failed\n") + else: + serial.puts("[fat32] no drives found\n") + + devfs.devfs_init() + devfs.devfs_register_serial0() + devfs.devfs_register_serial1() + devfs.devfs_register_keyboard() + devfs.devfs_register_mouse() + + serial.puts("[main] sched started\n") + + fd: t.CInt = devfs.devfs_open("/dev/serial0", 0) + buf: t.CArray[t.CChar, 64] + string.memset(c.Addr(buf), 0, 64) + devfs.devfs_write(fd, "hello from devfs!", 17) + devfs.devfs_read(fd, c.Addr(buf), 64) + devfs.devfs_close(fd) + + cr: t.CArray[t.CChar, 30] + string.memset(c.Addr(cr), 0, 30) + viperlib.snprintf(c.Addr(cr), 30, "hello %d %.2f", 42, float(0.24)) + serial.puts(cr) + serial.puts("\n") + + bootinfo_cr: t.CArray[t.CChar, 256] + string.memset(c.Addr(bootinfo_cr), 0, 256) + viperlib.snprintf(c.Addr(bootinfo_cr), 256, "Bootinfo 0x%016lx %lu %lu %lu %lu %lu map 0x%lx+%lu descsize=%lu", + BootInfo.framebuffer_addr, + BootInfo.framebuffer_format, + BootInfo.framebuffer_width, + BootInfo.framebuffer_height, + BootInfo.framebuffer_pitch, + BootInfo.framebuffer_size, + BootInfo.MemmapAddr, + BootInfo.MemmapSize, + BootInfo.MemmapDescSize) + serial.puts(bootinfo_cr) + serial.puts("\n") + + a: t.CConst | str = "Hello" + serial.putchar(a[4]) # o + serial.puts("\n") + d: t.CConst | int = 42 + b: t.CConst | int | t.CPtr = c.Addr(d) + string.memset(c.Addr(cr), 0, 4) + viperlib.snprintf(c.Addr(cr), 30, "%d", b[0]) # 42 + serial.puts(cr) + serial.puts("\n") + + # paging and mm already initialized before FAT32 + + usb.init() + + serial.puts("[main] starting keyboard service\n") + kbd_svc.start() + serial.puts("[main] starting mouse service\n") + mse_svc.start() + serial.puts("[main] services started\n") + + self.VGA_drv = vga._VGAScreenDriver(fb, width, height, pitch, fb_format) + self.VGA = c.Addr(self.VGA_drv) + self.VGA.Print(100, 100, "ViperOS VKernel Test") + serial.puts("你好\n") + + serial.puts("[main] starting desktop\n") + desktop.start(fb, width, height, pitch) + serial.puts("[main] desktop started\n") + + # ELF apps already loaded before FAT32 tests + + serial.puts("[main] entering main loop\n") + # sched.sched_dump() + last_sec: t.CUInt32T = 0 + loop_cnt: t.CUInt32T = 0 + while True: + cur_sec: t.CUInt32T = timer.timer_get_seconds() + if cur_sec != last_sec: + last_sec = cur_sec + #if cur_sec % 5 == 0: + # sched.sched_dump() + loop_cnt += 1 + sched.Scheduler._yield() + #while True: + # cube.RenderScene(back_fb, cube.SCREEN_W, cube.SCREEN_H, time) + # string.memcpy(fb, back_fb, width * height * 4) + # serial.puts("time") + # time += float(0.1) + + # circle(width / 2, height / 2, 180, fb) + # circle(640, 400, 180, 0xFFFFFFFF) + + # X 字符串遍历 + # c.Cast 更换 + # 时钟 + # PCI + # SHA1 它者文件更新 + # assets + # X attributes语法和谐 + # 合成式类型转换 + + +VKP: ViperKernel | t.CPtr +@c.Attribute(t.attr.section(".text.startup"), t.attr.aligned(16)) +def _start() -> t.CInt: + global VKP, BootInfo + saved_rdi: t.CUnsignedLong + c.Asm(f"mov {c.AsmOut(saved_rdi, t.ASM_DESCR.OUTPUT_REG)}, rdi", + op = [t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RDI]) + asm.BSSClean() + BootInfo = saved_rdi # 隐式转为 bootinfo* + VKP = c.Addr(ViperKernel()) + while True: + asm.sti() + asm.hlt() + sched.Scheduler._yield() + return 0 + diff --git a/Test/Kernel/mm/mm.vp b/Test/Kernel/mm/mm.vp new file mode 100644 index 0000000..c6c1109 --- /dev/null +++ b/Test/Kernel/mm/mm.vp @@ -0,0 +1,764 @@ +import bootinfo +import paging.paging as paging +import viperstring as string +import viperlib +import t, c + + +# 伙伴系统常量定义 +MIN_BLOCK_SIZE: t.CDefine = 4096 # 最小块大小(4KB) +MAX_BLOCK_SIZE: t.CDefine = 268435456 # 最大块大小(256MB) +MAX_ORDER: t.CDefine = 18 # 最大阶数(2^18 = 262144) + +# 内存块状态 +BLOCK_FREE: t.CDefine = 0 # 空闲 +BLOCK_USED: t.CDefine = 1 # 已使用 + +# 内存类型定义 +MEMORY_TYPE_AVAILABLE: t.CUInt64T = 7 +MEMORY_TYPE_RESERVED: t.CUInt64T = 0 +MEMORY_TYPE_LOADER_CODE: t.CUInt64T = 1 +MEMORY_TYPE_LOADER_DATA: t.CUInt64T = 2 +MEMORY_TYPE_BOOT_SERVICES_CODE: t.CUInt64T = 3 +MEMORY_TYPE_BOOT_SERVICES_DATA: t.CUInt64T = 4 +MEMORY_TYPE_RUNTIME_SERVICES_CODE: t.CUInt64T = 5 +MEMORY_TYPE_RUNTIME_SERVICES_DATA: t.CUInt64T = 6 +MEMORY_TYPE_ACPI_RECLAIMABLE: t.CUInt64T = 9 +MEMORY_TYPE_ACPI_NVS: t.CUInt64T = 10 +MEMORY_TYPE_BAD_MEMORY: t.CUInt64T = 8 + +# 内存区域结构 +class memory_region(t.CStruct): + start: t.CUInt64T + end: t.CUInt64T + size: t.CUInt64T + type: t.CUInt32T + next: 'memory_region' | t.CPtr + +# 全局内存区域链表 +memory_regions: t.CStatic | memory_region | t.CPtr = None + +# 内存块结构 +class memory_block(t.CStruct): + size: t.CUInt64T # 块大小 + state: t.CUInt8T # 块状态 + order: t.CUInt8T # 块阶数 + next: 'memory_block' | t.CPtr # 下一个块 + prev: 'memory_block' | t.CPtr # 上一个块 + +# 伙伴系统结构 +class __buddy_system(t.CStruct): + free_lists: t.CArray[memory_block | t.CPtr, MAX_ORDER + 1] + total_memory: t.CUInt64T # 总内存大小 + used_memory: t.CUInt64T # 已使用内存大小 + free_memory: t.CUInt64T # 空闲内存大小 + start_addr: t.CVoid | t.CPtr # 内存起始地址 + end_addr: t.CVoid | t.CPtr # 内存结束地址 + + +SLAB_MAGIC: t.CDefine = 0x534C4142 +SLAB_NUM_SIZES: t.CDefine = 6 +SLAB_THRESHOLD: t.CDefine = 1024 + +class slab_page(t.CStruct): + magic: t.CUInt32T + obj_size: t.CUInt16T + free_count: t.CUInt16T + data_offset: t.CUInt16T + total_objs: t.CUInt16T + free_head: t.CVoid | t.CPtr + block_ptr: memory_block | t.CPtr + next: 'slab_page' | t.CPtr + prev: 'slab_page' | t.CPtr + + +# 4K对齐函数 +def align_4k(addr: t.CUInt64T) -> t.CUInt64T: + return (addr + 0xFFF) & ~0xFFF + +# 计算阶数 +def get_order(size: t.CUInt64T) -> t.CStatic | t.CInt: + order: t.CInt = 0 + while size > MIN_BLOCK_SIZE: + size >>= 1 + order += 1 + return order + +# 计算块大小 +def get_block_size(order: t.CInt) -> t.CStatic | t.CUInt64T: + return MIN_BLOCK_SIZE << order + + +@t.Object +class _BuddySystemObject: + # 全局伙伴系统实例 + buddy: __buddy_system + # 初始化伙伴系统 + def __init__(self, start_addr: t.CVoid | t.CPtr, size: t.CUInt64T): + for i in range(MAX_ORDER + 1): + self.buddy.free_lists[i] = None + self.buddy.total_memory = size + self.buddy.used_memory = 0 + self.buddy.free_memory = size + self.buddy.start_addr = start_addr + self.buddy.end_addr = t.CVoid(t.CUInt64T(start_addr) + size, t.CPtr) + remaining: t.CUInt64T = size + cur_addr: t.CUInt64T = t.CUInt64T(start_addr) + while remaining >= MIN_BLOCK_SIZE: + order: t.CInt = 0 + tmp: t.CUInt64T = remaining + while tmp > MIN_BLOCK_SIZE: + tmp >>= 1 + order += 1 + block_size: t.CUInt64T = get_block_size(order) + while block_size > remaining and order > 0: + order -= 1 + block_size = get_block_size(order) + if block_size > remaining: break + block: memory_block | t.CPtr = cur_addr + block.size = block_size + block.state = BLOCK_FREE + block.order = order + block.next = None + block.prev = None + if order <= MAX_ORDER: + if self.buddy.free_lists[order]: + block.next = self.buddy.free_lists[order] + self.buddy.free_lists[order].prev = block + self.buddy.free_lists[order] = block + cur_addr += block_size + remaining -= block_size + # DEBUG: print free_lists status after init + import drivers.serial.uart.serial as serial + _dmsg: t.CArray[t.CChar, 40] + serial.puts("[mm] buddy init:") + _di: t.CInt = 0 + while _di <= MAX_ORDER: + if self.buddy.free_lists[_di]: + viperlib.snprintf(c.Addr(_dmsg), 40, " [%d]=0x%lx", _di, t.CUInt64T(self.buddy.free_lists[_di])) + serial.puts(_dmsg) + _di += 1 + serial.puts("\n") + + # 分割内存块 + def split_block(self, block: memory_block | t.CPtr, target_order: t.CInt) -> memory_block | t.CPtr: + current_order: t.CInt = block.order + # 从当前阶数向下分割,直到达到目标阶数 + while current_order > target_order: + current_order -= 1 + new_block_size: t.CUInt64T = get_block_size(current_order) + # 创建新块 + new_block: memory_block | t.CPtr = t.CUInt64T(block) + new_block_size + new_block.size = new_block_size + new_block.state = BLOCK_FREE + new_block.order = current_order + new_block.next = None + new_block.prev = None + # 更新原块大小和阶数 + block.size = new_block_size + block.order = current_order + # 将新块添加到对应阶数的空闲链表 + if current_order <= MAX_ORDER: + new_block.next = self.buddy.free_lists[current_order] + if self.buddy.free_lists[current_order]: + self.buddy.free_lists[current_order].prev = new_block + self.buddy.free_lists[current_order] = new_block + return block + + # 合并内存块 + def merge_blocks(self, block: memory_block | t.CPtr) -> t.CStatic | memory_block | t.CPtr: + order: t.CInt = block.order + while order < MAX_ORDER: + block_size: t.CUInt64T = get_block_size(order) + block_addr: t.CUInt64T = t.CUInt64T(block) - t.CUInt64T(self.buddy.start_addr) + buddy_addr: t.CUInt64T = block_addr ^ block_size + # 计算伙伴块地址 + buddy: memory_block | t.CPtr = t.CUInt64T(self.buddy.start_addr) + buddy_addr + # 检查伙伴块是否存在且空闲 + if buddy >= (memory_block | t.CPtr)(self.buddy.end_addr): + break # 伙伴块超出内存范围 + if buddy.state != BLOCK_FREE or buddy.order != order: + break # 伙伴块不空闲或阶数不匹配 + # 从空闲链表中移除伙伴块 + if buddy.prev: buddy.prev.next = buddy.next + else: self.buddy.free_lists[order] = buddy.next + if buddy.next: + buddy.next.prev = buddy.prev + # 合并块 + merged_block: memory_block | t.CPtr = block if block < buddy else buddy + merged_block.size = get_block_size(order + 1) + merged_block.order = order + 1 + block = merged_block + order += 1 + return block + + # 分配内存块 + def allocate_block(self, size: t.CUInt64T) -> t.CStatic | memory_block | t.CPtr: + # 计算所需阶数 + order: t.CInt = get_order(size) + if order > MAX_ORDER: return None # 所需块大小超过最大限制 + # 查找合适的空闲块 + found_order: t.CInt = -1 + for i in range(order, MAX_ORDER + 1): + if self.buddy.free_lists[i]: + found_order = i + break + # DEBUG: trace allocate_block + import drivers.serial.uart.serial as serial + _dba: t.CArray[t.CChar, 120] + if found_order == -1: + viperlib.snprintf(c.Addr(_dba), 120, "[mm] alloc FAIL size=%lu order=%d\n", size, order) + serial.puts(_dba) + _dbf: t.CArray[t.CChar, 200] + _fi: t.CInt = 0 + _fo: t.CInt = 0 + while _fi <= MAX_ORDER: + if self.buddy.free_lists[_fi]: + _fs: t.CInt = viperlib.snprintf(c.Addr(_dbf) + _fo, 200 - _fo, "[%d]=0x%lx ", _fi, t.CUInt64T(self.buddy.free_lists[_fi])) + _fo = _fo + _fs + _fi += 1 + if _fo == 0: + serial.puts("[mm] all free_lists EMPTY\n") + else: + serial.puts(_dbf) + serial.puts("\n") + return None + if found_order == -1: return None # 没有合适的空闲块 + # 取出空闲块 + block: memory_block | t.CPtr = self.buddy.free_lists[found_order] + # 从空闲链表中移除块 + if block.next: block.next.prev = None + self.buddy.free_lists[found_order] = block.next + # 如果块大小大于所需大小,分割块 + if found_order > order: + block = self.split_block(block, order) + # 标记块为已使用 + block.state = BLOCK_USED + # 更新内存统计 + self.buddy.used_memory += block.size + self.buddy.free_memory -= block.size + viperlib.snprintf(c.Addr(_dba), 120, "[mm] alloc OK size=%lu order=%d found=%d block=0x%lx\n", size, order, found_order, t.CUInt64T(block)) + serial.puts(_dba) + return block + + # 释放内存块 + def free_block(self, block: memory_block | t.CPtr) -> t.CStatic | t.CVoid: + # 标记块为空闲 + block.state = BLOCK_FREE + # 更新内存统计 + self.buddy.used_memory -= block.size + self.buddy.free_memory += block.size + # 尝试合并块 + block = self.merge_blocks(block) + # 将块添加到对应阶数的空闲链表 + order: t.CInt = block.order + if order <= MAX_ORDER: + block.next = self.buddy.free_lists[order] + block.prev = None + if self.buddy.free_lists[order]: + self.buddy.free_lists[order].prev = block + self.buddy.free_lists[order] = block +BuddySystemObject: _BuddySystemObject + + +def _slab_obj_size(size_class: t.CInt) -> t.CUInt16T: + if size_class == 0: return 32 + if size_class == 1: return 64 + if size_class == 2: return 128 + if size_class == 3: return 256 + if size_class == 4: return 512 + return 1024 + +def _slab_size_class(size: t.CUInt64T) -> t.CInt: + if size <= 32: return 0 + if size <= 64: return 1 + if size <= 128: return 2 + if size <= 256: return 3 + if size <= 512: return 4 + if size <= 1024: return 5 + return -1 + +def _slab_read_ptr(addr: t.CVoid | t.CPtr) -> t.CVoid | t.CPtr: + result: t.CVoid | t.CPtr + c.Asm(f"""mov rax, [{c.AsmInp(addr, t.ASM_DESCR.REG_ANY)}] + mov {c.AsmOut(result, t.ASM_DESCR.OUTPUT_REG)}, rax""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + return result + +def _slab_write_ptr(addr: t.CVoid | t.CPtr, val: t.CVoid | t.CPtr): + c.Asm(f"""mov rax, {c.AsmInp(val, t.ASM_DESCR.REG_ANY)} + mov [{c.AsmInp(addr, t.ASM_DESCR.REG_ANY)}], rax""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_MEMORY]) + +def _slab_find_page(ptr: t.CVoid | t.CPtr) -> slab_page | t.CPtr: + if ptr is None: return None + hdr_off: t.CUInt64T = memory_block.__sizeof__() + page_addr: t.CUInt64T = t.CUInt64T(ptr) & ~t.CUInt64T(0xFFF) + page: slab_page | t.CPtr = page_addr + hdr_off + if page.magic == SLAB_MAGIC: + os: t.CUInt16T = page.obj_size + if os == 32 or os == 64 or os == 128 or os == 256 or os == 512 or os == 1024: + return page + page_addr2: t.CUInt64T = page_addr - 4096 + page2: slab_page | t.CPtr = page_addr2 + hdr_off + if page2.magic == SLAB_MAGIC: + os2: t.CUInt16T = page2.obj_size + if os2 == 32 or os2 == 64 or os2 == 128 or os2 == 256 or os2 == 512 or os2 == 1024: + return page2 + return None + +@t.Object +class _SlabAllocator: + caches: t.CArray[slab_page | t.CPtr, SLAB_NUM_SIZES] + + def __init__(self): + for i in range(SLAB_NUM_SIZES): + self.caches[i] = None + + def _create_page(self, size_class: t.CInt) -> slab_page | t.CPtr: + obj_size: t.CUInt16T = _slab_obj_size(size_class) + aligned_size: t.CUInt16T = t.CUInt16T((obj_size + 15) & ~15) + block: memory_block | t.CPtr = BuddySystemObject.allocate_block(4096 + memory_block.__sizeof__()) + if not block: return None + hdr_off: t.CUInt64T = memory_block.__sizeof__() + page: slab_page | t.CPtr = t.CUInt64T(block) + hdr_off + page.magic = SLAB_MAGIC + page.obj_size = aligned_size + d_off: t.CUInt16T = t.CUInt16T((hdr_off + slab_page.__sizeof__() + 15) & ~15) + page.data_offset = d_off + total: t.CUInt16T = t.CUInt16T((block.size - d_off) / aligned_size) + page.total_objs = total + page.free_count = total + page.block_ptr = block + page.next = None + page.prev = None + data_start: t.CUInt64T = t.CUInt64T(block) + d_off + page.free_head = t.CVoid(data_start, t.CPtr) + for i in range(1, total): + cur: t.CVoid | t.CPtr = t.CVoid(data_start + t.CUInt64T(i - 1) * aligned_size, t.CPtr) + nxt: t.CVoid | t.CPtr = t.CVoid(data_start + t.CUInt64T(i) * aligned_size, t.CPtr) + _slab_write_ptr(cur, nxt) + last: t.CVoid | t.CPtr = t.CVoid(data_start + t.CUInt64T(total - 1) * aligned_size, t.CPtr) + _slab_write_ptr(last, t.CVoid(0, t.CPtr)) + return page + + def alloc(self, size_class: t.CInt) -> t.CVoid | t.CPtr: + page: slab_page | t.CPtr = self.caches[size_class] + while page: + if page.free_count > 0: break + page = page.next + if not page: + page = self._create_page(size_class) + if not page: return None + page.next = self.caches[size_class] + if self.caches[size_class]: + self.caches[size_class].prev = page + self.caches[size_class] = page + obj: t.CVoid | t.CPtr = page.free_head + page.free_head = _slab_read_ptr(obj) + page.free_count -= 1 + return obj + + def free_obj(self, ptr: t.CVoid | t.CPtr, page: slab_page | t.CPtr): + _slab_write_ptr(ptr, page.free_head) + page.free_head = ptr + page.free_count += 1 + if page.free_count == page.total_objs: + if page.prev: + page.prev.next = page.next + else: + sc: t.CInt = _slab_size_class(page.obj_size) + if sc >= 0: + self.caches[sc] = page.next + if page.next: + page.next.prev = page.prev + page.magic = 0 + BuddySystemObject.free_block(page.block_ptr) + +SlabAllocator: _SlabAllocator + + +# 内存分配函数 +def malloc(size: t.CUInt64T) -> t.CVoid | t.CPtr | t.CExport: + if size == 0: return None + if size <= SLAB_THRESHOLD: + sc: t.CInt = _slab_size_class(size) + if sc >= 0: + result: t.CVoid | t.CPtr = SlabAllocator.alloc(sc) + return result + hdr: t.CUInt64T = memory_block.__sizeof__() + if size >= 4096: + total: t.CUInt64T = size + 4096 + total = align_4k(total) + order: t.CInt = get_order(total) + if order > MAX_ORDER: return None + block: memory_block | t.CPtr = BuddySystemObject.allocate_block(total) + import drivers.serial.uart.serial as serial + _dbm: t.CArray[t.CChar, 120] + viperlib.snprintf(c.Addr(_dbm), 120, "[mm] malloc buddy size=%lu block=0x%lx\n", size, t.CUInt64T(block)) + serial.puts(_dbm) + if not block: return None + user_ptr: t.CUInt64T = (t.CUInt64T(block) + hdr + 4095) & ~t.CUInt64T(4095) + real_hdr: t.CUInt64T = user_ptr - 8 + c.Asm(f"""mov rax, {c.AsmInp(block, t.ASM_DESCR.REG_ANY)} + mov [{c.AsmInp(t.CVoid(real_hdr, t.CPtr), t.ASM_DESCR.REG_ANY)}], rax""", + op=[t.ASM_DESCR.CLOBBER_RAX, t.ASM_DESCR.CLOBBER_MEMORY]) + viperlib.snprintf(c.Addr(_dbm), 120, "[mm] malloc ret user_ptr=0x%lx\n", user_ptr) + serial.puts(_dbm) + return t.CVoid(user_ptr, t.CPtr) + total2: t.CUInt64T = size + hdr + total2 = align_4k(total2) + order2: t.CInt = get_order(total2) + if order2 > MAX_ORDER: return None + block2: memory_block | t.CPtr = BuddySystemObject.allocate_block(total2) + if not block2: return None + return t.CVoid(t.CUInt64T(block2) + hdr, t.CPtr) + + +def malloc_direct(size: t.CUInt64T) -> t.CVoid | t.CPtr | t.CExport: + if size == 0: return None + hdr: t.CUInt64T = memory_block.__sizeof__() + total: t.CUInt64T = size + hdr + total = align_4k(total) + order: t.CInt = get_order(total) + if order > MAX_ORDER: return None + block: memory_block | t.CPtr = BuddySystemObject.allocate_block(total) + if not block: return None + return t.CVoid(t.CUInt64T(block) + hdr, t.CPtr) + + +def free(ptr: t.CVoid | t.CPtr) -> t.CExport: + if ptr is None: return + sp: slab_page | t.CPtr = _slab_find_page(ptr) + if sp: + SlabAllocator.free_obj(ptr, sp) + return + if (t.CUInt64T(ptr) & 0xFFF) == 0: + real_hdr: t.CUInt64T = t.CUInt64T(ptr) - 8 + block: memory_block | t.CPtr + c.Asm(f"""mov rax, [{c.AsmInp(t.CVoid(real_hdr, t.CPtr), t.ASM_DESCR.REG_ANY)}] + mov {c.AsmOut(block, t.ASM_DESCR.OUTPUT_REG)}, rax""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + BuddySystemObject.free_block(block) + return + block2: memory_block | t.CPtr = t.CUInt64T(ptr) - memory_block.__sizeof__() + BuddySystemObject.free_block(block2) + +def calloc(nmemb: t.CUInt64T, size: t.CUInt64T) -> t.CVoid | t.CPtr | t.CExport: + total_size: t.CUInt64T = nmemb * size + ptr: t.CVoid | t.CPtr = malloc(total_size) + if ptr: + string.memset(ptr, 0, total_size) + return ptr + +def realloc(ptr: t.CVoid | t.CPtr, size: t.CUInt64T) -> t.CVoid | t.CPtr | t.CExport: + if ptr is None: return malloc(size) + if size == 0: + free(ptr) + return None + new_ptr: t.CVoid | t.CPtr = malloc(size) + if not new_ptr: return None + sp: slab_page | t.CPtr = _slab_find_page(ptr) + if sp: + old_size: t.CUInt64T = sp.obj_size + elif (t.CUInt64T(ptr) & 0xFFF) == 0: + real_hdr_r: t.CUInt64T = t.CUInt64T(ptr) - 8 + block_r: memory_block | t.CPtr + c.Asm(f"""mov rax, [{c.AsmInp(t.CVoid(real_hdr_r, t.CPtr), t.ASM_DESCR.REG_ANY)}] + mov {c.AsmOut(block_r, t.ASM_DESCR.OUTPUT_REG)}, rax""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + old_size = block_r.size - 4096 + else: + block2: memory_block | t.CPtr = t.CUInt64T(ptr) - memory_block.__sizeof__() + old_size = block2.size - memory_block.__sizeof__() + copy_size: t.CUInt64T = old_size if old_size < size else size + string.memcpy(new_ptr, ptr, copy_size) + free(ptr) + return new_ptr + + +# 回收内存区域链表 +def free_memory_regions() -> t.CStatic | t.CVoid: + global memory_regions + current: memory_region | t.CPtr = memory_regions + while current: + next_region: memory_region | t.CPtr = current.next + free(current) + current = next_region + memory_regions = None + +# 初始化内存管理系统 +def init(MemmapAddr: t.CUInt64T, MemmapSize: t.CUInt64T, MemmapDescSize: t.CUInt64T, FbAddr: t.CUInt64T = 0, FbSize: t.CUInt64T = 0): + global BuddySystemObject + import drivers.serial.uart.serial as serial + start_addr: t.CVoid | t.CPtr = None + size: t.CUInt64T = 0 + if MemmapAddr != 0: + if MemmapSize > 0: + if MemmapDescSize > 0: + num_entries: t.CUInt64T = MemmapSize / MemmapDescSize + max_memory: t.CUInt64T = 0 + best_start: t.CUInt64T = 0 + best_avail_size: t.CUInt64T = 0 + best_avail_start: t.CUInt64T = 0 + best_bs_size: t.CUInt64T = 0 + best_bs_start: t.CUInt64T = 0 + best_ld_size: t.CUInt64T = 0 + best_ld_start: t.CUInt64T = 0 + i: t.CUInt64T + for i in range(num_entries): + entry: bootinfo.memory_map_entry | t.CPtr = t.CVoid(MemmapAddr + i * MemmapDescSize, t.CPtr) + etype: t.CUInt64T = entry.type + start: t.CUInt64T = align_4k(entry.physical_start) + np: t.CUInt64T = entry.num_pages + end: t.CUInt64T = entry.physical_start + np * 4096 + end = align_4k(end - 1) + region_size: t.CUInt64T = end - start + if FbAddr != 0 and FbSize != 0: + fb_end: t.CUInt64T = FbAddr + FbSize + if start < fb_end and end > FbAddr: + continue + if etype == MEMORY_TYPE_AVAILABLE: + if region_size > best_avail_size: + best_avail_size = region_size + best_avail_start = start + if etype == MEMORY_TYPE_BOOT_SERVICES_DATA: + if region_size > best_bs_size: + best_bs_size = region_size + best_bs_start = start + if etype == MEMORY_TYPE_LOADER_DATA: + if region_size > best_ld_size: + best_ld_size = region_size + best_ld_start = start + min_blk: t.CUInt64T = MIN_BLOCK_SIZE + if best_avail_size >= min_blk: + best_start = best_avail_start + max_memory = best_avail_size + elif best_bs_size >= min_blk: + best_start = best_bs_start + max_memory = best_bs_size + elif best_ld_size >= min_blk: + best_start = best_ld_start + max_memory = best_ld_size + cr4: t.CArray[t.CChar, 128] + string.memset(c.Addr(cr4), 0, 128) + viperlib.snprintf(c.Addr(cr4), 128, "mm: best=0x%lx max=%lu entries=%lu avail=%lu bs=%lu ld=%lu\n", + best_start, max_memory, num_entries, best_avail_size, best_bs_size, best_ld_size) + serial.puts(cr4) + if best_start != 0: + if max_memory >= min_blk: + start_addr = t.CVoid(best_start, t.CPtr) + size = max_memory + if start_addr is None: + size = detect_memory_size() + size = align_4k(size) + # 起始地址 4MB(内核之后),避免超出物理 RAM + # 旧值 0x10000000 在 256MB QEMU 中超出物理 RAM 边界 + start_addr = t.CVoid(align_4k(0x400000), t.CPtr) + if size > 0x400000: + size = size - 0x400000 + size = align_4k(size) + min_blk2: t.CUInt64T = MIN_BLOCK_SIZE + if size < min_blk2: + size = 33554432 + cr2: t.CArray[t.CChar, 128] + string.memset(c.Addr(cr2), 0, 128) + viperlib.snprintf(c.Addr(cr2), 128, "mm.init: start=0x%lx size=%lu bytes\n", + t.CUInt64T(start_addr), size) + serial.puts(cr2) + BuddySystemObject.__init__(start_addr, size) + SlabAllocator.__init__() + + +# 虚拟内存映射结构 +class vm_area(t.CStruct): + VirtAddr: t.CUInt64T + PhysAddr: t.CUInt64T + size: t.CUInt64T + flags: t.CUInt32T + next: 'vm_area' | t.CPtr + +# 全局虚拟内存区域链表 +vm_areas: vm_area | t.CPtr = None + +# 博弈机制参数 +ALLOCATION_RETRIES: t.CDefine = 5 # 分配重试次数 +FRAGMENTATION_THRESHOLD: t.CDefine = 0.7 # 碎片率阈值 + +# 获取内存使用统计 +@c.CReturn(t.CUInt64T, t.CUInt64T, t.CUInt64T) +def GetMemoryStats(): + return (BuddySystemObject.buddy.total_memory, BuddySystemObject.buddy.used_memory, BuddySystemObject.buddy.free_memory) + +# 计算内存碎片率 +def calculate_fragmentation() -> t.CDouble: + # 计算空闲块的数量和总大小 + free_blocks: t.CInt = 0 + free_size: t.CUInt64T = 0 + + for i in range(MAX_ORDER + 1): + block: memory_block | t.CPtr = BuddySystemObject.buddy.free_lists[i] + while block: + free_blocks += 1 + free_size += block.size + block = block.next + + # 如果没有空闲内存,返回0 + if free_size == 0: + return 0.0 + + # 计算碎片率 + # 碎片率 = 1 - (最大空闲块大小 / 总空闲内存大小) + max_free_block: t.CUInt64T = 0 + for i in range(MAX_ORDER, -1, -1): + if BuddySystemObject.buddy.free_lists[i]: + max_free_block = get_block_size(i) + break + + if max_free_block == 0: + return 1.0 + + return 1.0 - (t.CDouble(max_free_block) / t.CDouble(free_size)) + +# 内存整理函数 +def compact_memory() -> t.CStatic | t.CInt: + freed_pages: t.CInt = 0 + for sc in range(SLAB_NUM_SIZES): + page: slab_page | t.CPtr = SlabAllocator.caches[sc] + while page: + next_page: slab_page | t.CPtr = page.next + if page.free_count == page.total_objs: + if page.prev: + page.prev.next = page.next + else: + SlabAllocator.caches[sc] = page.next + if page.next: + page.next.prev = page.prev + page.magic = 0 + BuddySystemObject.free_block(page.block_ptr) + freed_pages += 1 + page = next_page + return freed_pages + +# 虚拟内存分配函数 +def vm_alloc(size: t.CUInt64T, flags: t.CUInt32T) -> t.CUInt64T: + global vm_areas + # 4K对齐 + size = align_4k(size) + + # 尝试分配物理内存,使用博弈机制 + PhysAddr: t.CVoid | t.CPtr = None + retries: t.CInt = 0 + + while retries < ALLOCATION_RETRIES: + PhysAddr = malloc(size) + if PhysAddr: + break + + # 内存不足,尝试进行内存整理 + if calculate_fragmentation() > FRAGMENTATION_THRESHOLD: + compact_memory() + + retries += 1 + + if not PhysAddr: + return 0 + + # 分配虚拟地址 + # 简单的虚拟地址分配策略:从0x100000000开始 + VirtAddr: t.CUInt64T = 0x100000000 + current: vm_area | t.CPtr = vm_areas + + # 寻找合适的虚拟地址空间 + while current: + if VirtAddr + size <= current.VirtAddr: + break + VirtAddr = current.VirtAddr + current.size + current = current.next + + # 创建虚拟内存区域 + area: vm_area | t.CPtr = malloc(vm_area.__sizeof__()) + if area: + area.VirtAddr = VirtAddr + area.PhysAddr = t.CUInt64T(PhysAddr) + area.size = size + area.flags = flags + area.next = vm_areas + vm_areas = area + + # 映射虚拟地址到物理地址 + # 计算需要映射的页数 + pages: t.CUInt64T = size / 4096 + i: t.CUInt64T + for i in range(pages): + page_virt: t.CUInt64T = VirtAddr + (i * 4096) + page_phys: t.CUInt64T = t.CUInt64T(PhysAddr) + (i * 4096) + # 调用paging模块的映射函数 + paging.MapPage(page_virt, page_phys, flags) + + return VirtAddr + +# 虚拟内存释放函数 +def vm_free(VirtAddr: t.CUInt64T): + global vm_areas + # 查找虚拟内存区域 + current: vm_area | t.CPtr = vm_areas + prev: vm_area | t.CPtr = None + + while current: + if current.VirtAddr == VirtAddr: + # 取消虚拟地址映射 + pages: t.CUInt64T = current.size / 4096 + i: t.CUInt64T + for i in range(pages): + page_virt: t.CUInt64T = current.VirtAddr + (i * 4096) + paging.UnMapPage(page_virt) + + # 释放物理内存 + free(t.CVoid(current.PhysAddr, t.CPtr)) + if prev: + prev.next = current.next + else: + vm_areas = current.next + free(current) + return + prev = current + current = current.next + +# CMOS读取函数 +def cmos_read(reg: t.CUInt8T) -> t.CUInt8T: + c.Asm(f"mov al, {c.AsmInp(reg)}\nout 0x70, al") + val: t.CUInt8T + c.Asm(f"in al, 0x71\nmov {c.AsmOut(val)}, al") + return val + +# 内存大小测试函数 +def detect_memory_size() -> t.CUInt64T: + # 读取 1MB-16MB 扩展内存(KB 单位) + low: t.CUInt8T = cmos_read(0x15) + high: t.CUInt8T = cmos_read(0x16) + mem_kb: t.CUInt32T = (t.CUInt32T(high) << 8) | low + + # 读取 16MB 以上扩展内存(64KB 块为单位) + low2: t.CUInt8T = cmos_read(0x17) + high2: t.CUInt8T = cmos_read(0x18) + mem_above_16mb: t.CUInt32T = (t.CUInt32T(high2) << 8) | low2 + + # 两个寄存器都为 0 时使用默认值 + if mem_kb == 0 and mem_above_16mb == 0: + return 0x10000000 # 256MB + + # 计算总内存:1MB 基础 + 1MB-16MB + 16MB 以上 + total_size: t.CUInt64T = 1048576 # 前 1MB + if mem_kb > 0: + total_size = total_size + t.CUInt64T(mem_kb) * 1024 + if mem_above_16mb > 0: + total_size = total_size + t.CUInt64T(mem_above_16mb) * 65536 + + total_size = align_4k(total_size) + + # 确保内存大小至少为32MB + if total_size < 33554432: # 32MB + total_size = 33554432 + + return total_size diff --git a/Test/Kernel/paging/paging.vp b/Test/Kernel/paging/paging.vp new file mode 100644 index 0000000..267a431 --- /dev/null +++ b/Test/Kernel/paging/paging.vp @@ -0,0 +1,296 @@ +import drivers.serial.uart.serial as serial +import viperlib +import t, c + + +PTE_PRESENT: t.CDefine = (1 << 0) +PTE_WRITABLE: t.CDefine = (1 << 1) +PTE_USER: t.CDefine = (1 << 2) +PTE_PWT: t.CDefine = (1 << 3) +PTE_PCD: t.CDefine = (1 << 4) +PTE_ACCESSED: t.CDefine = (1 << 5) +PTE_DIRTY: t.CDefine = (1 << 6) +PTE_PS: t.CDefine = (1 << 7) +PTE_GLOBAL: t.CDefine = (1 << 8) + +class _p: + entries: t.CArray[t.CUInt64T, 512] + +PT_POOL_PAGES: t.CDefine = 512 +pt_pool_raw: t.CVoid | t.CPtr = None +pt_pool_start: t.CUInt64T = 0 +pt_pool_used: t.CUInt64T = 0 + +AllocatedPages: t.CUInt64T = 0 +pml4: _p | t.CPtr = None +pdp: _p | t.CPtr +pd: _p | t.CPtr +pt: _p | t.CPtr + +def init(MemmapAddr: t.CUInt64T, MemmapSize: t.CUInt64T): + global pml4 + pml4 = GetCurrentPml4() + c.Asm(f""" + mov rax, cr0 + and rax, ~0x10000 + mov cr0, rax + """) + +def init_pool(buf: t.CVoid | t.CPtr, buf_size: t.CUInt64T): + global pt_pool_raw, pt_pool_start, pt_pool_used + pt_pool_raw = buf + if buf is None: return + raw_addr: t.CUInt64T = t.CUInt64T(buf) + aligned_addr: t.CUInt64T = (raw_addr + t.CUInt64T(0xFFF)) & ~t.CUInt64T(0xFFF) + pt_pool_start = aligned_addr + pt_pool_used = 0 + +def AllocPage() -> t.CVoid | t.CPtr: + global AllocatedPages, pt_pool_used, pml4, pdp, pd, pt + if pt_pool_raw is None: return None + if pt_pool_used >= t.CUInt64T(PT_POOL_PAGES): return None + page: t.CVoid | t.CPtr = t.CVoid(pt_pool_start + pt_pool_used * t.CUInt64T(4096), t.CPtr) + pt_pool_used = pt_pool_used + t.CUInt64T(1) + c.Asm(f"""mov al, 0 + mov ecx, 4096 + mov rdi, {c.AsmInp(page, t.ASM_DESCR.REG_ANY)} + rep stosb""", + op = [t.ASM_DESCR.CLOBBER_AL, t.ASM_DESCR.CLOBBER_ECX, t.ASM_DESCR.CLOBBER_RDI]) + AllocatedPages = AllocatedPages + t.CUInt64T(1) + return page + +def FreePage(page: t.CVoid | t.CPtr): + global AllocatedPages, pml4, pdp, pd, pt + if page is None: return + if AllocatedPages > t.CUInt64T(0): AllocatedPages = AllocatedPages - t.CUInt64T(1) + +def MapPage(VirtAddr: t.CUInt64T, PhysAddr: t.CUInt64T, flags: t.CUInt64T): + global pml4, pdp, pd, pt + if VirtAddr == 0 or PhysAddr == 0: return + VirtAddr = VirtAddr & ~t.CUInt64T(0xFFF) + PhysAddr = PhysAddr & ~t.CUInt64T(0xFFF) + Pml4Index: t.CUInt64T = (VirtAddr >> 39) & 0x1FF + PdpIndex: t.CUInt64T = (VirtAddr >> 30) & 0x1FF + PdIndex: t.CUInt64T = (VirtAddr >> 21) & 0x1FF + PtIndex: t.CUInt64T = (VirtAddr >> 12) & 0x1FF + + if not pml4: + pml4 = AllocPage() + if not pml4: return + + if not (pml4.entries[Pml4Index] & PTE_PRESENT): + pdp: _p | t.CPtr = AllocPage() + if not pdp: return + pml4.entries[Pml4Index] = (t.CUInt64T(pdp) & ~t.CUInt64T(0xFFF)) | PTE_PRESENT | PTE_WRITABLE | (flags & PTE_USER) + else: + if (flags & PTE_USER) and not (pml4.entries[Pml4Index] & PTE_USER): + pml4.entries[Pml4Index] = pml4.entries[Pml4Index] | PTE_USER + pdp: _p | t.CPtr = t.CType(pml4.entries[Pml4Index] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + + if not (pdp.entries[PdpIndex] & PTE_PRESENT): + pd: _p | t.CPtr = AllocPage() + if not pd: return + pdp.entries[PdpIndex] = (t.CUInt64T(pd) & ~t.CUInt64T(0xFFF)) | PTE_PRESENT | PTE_WRITABLE | (flags & PTE_USER) + else: + if (flags & PTE_USER) and not (pdp.entries[PdpIndex] & PTE_USER): + pdp.entries[PdpIndex] = pdp.entries[PdpIndex] | PTE_USER + pd: _p | t.CPtr = t.CType(pdp.entries[PdpIndex] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + + if pd.entries[PdIndex] & 1: + if pd.entries[PdIndex] & 0x80: + big_phys: t.CUInt64T = pd.entries[PdIndex] & ~t.CUInt64T(0x1FFFFF) + inherit_flags: t.CUInt64T = pd.entries[PdIndex] & (PTE_PCD | PTE_PWT) + pt: _p | t.CPtr = AllocPage() + if not pt: return + split_i: t.CInt = 0 + while split_i < 512: + pt.entries[split_i] = (big_phys + t.CUInt64T(split_i) * 0x1000) | PTE_PRESENT | PTE_WRITABLE | inherit_flags + split_i += 1 + pd.entries[PdIndex] = (t.CUInt64T(pt) & ~t.CUInt64T(0xFFF)) | PTE_PRESENT | PTE_WRITABLE | (flags & PTE_USER) + else: + # PD entry exists as a regular PT (e.g. cloned identity mapping). + # Must propagate PTE_USER to the PD entry so user-mode access is + # allowed at all paging levels, otherwise #PF err=0x5. + if (flags & PTE_USER) and not (pd.entries[PdIndex] & PTE_USER): + pd.entries[PdIndex] = pd.entries[PdIndex] | PTE_USER + else: + pt: _p | t.CPtr = AllocPage() + if not pt: return + pd.entries[PdIndex] = (t.CUInt64T(pt) & ~t.CUInt64T(0xFFF)) | PTE_PRESENT | PTE_WRITABLE | (flags & PTE_USER) + pt: _p | t.CPtr = t.CType(pd.entries[PdIndex] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + + pt.entries[PtIndex] = PhysAddr | flags | PTE_PRESENT + c.Asm(f"invlpg [{c.AsmInp(VirtAddr, t.ASM_DESCR.REG_ANY)}]") + +def MapLargePage(VirtAddr: t.CUInt64T, PhysAddr: t.CUInt64T, flags: t.CUInt64T) -> t.CVoid: + global pml4, pdp, pd, pt + VirtAddr = VirtAddr & ~t.CUInt64T(0x1FFFFF) + PhysAddr = PhysAddr & ~t.CUInt64T(0x1FFFFF) + Pml4Index: t.CUInt64T = (VirtAddr >> 39) & 0x1FF + PdpIndex: t.CUInt64T = (VirtAddr >> 30) & 0x1FF + PdIndex: t.CUInt64T = (VirtAddr >> 21) & 0x1FF + + if not pml4: + pml4 = AllocPage() + if not pml4: return + + if not pml4.entries[Pml4Index] & PTE_PRESENT: + pdp: _p | t.CPtr = AllocPage() + if not pdp: return + pml4.entries[Pml4Index] = (t.CUInt64T(pdp) & ~t.CUInt64T(0xFFF)) | PTE_PRESENT | PTE_WRITABLE + pdp: _p | t.CPtr = t.CType(pml4.entries[Pml4Index] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + + if not (pdp.entries[PdpIndex] & PTE_PRESENT): + pd: _p | t.CPtr = AllocPage() + if not pd: return + pdp.entries[PdpIndex] = (t.CUInt64T(pd) & ~t.CUInt64T(0xFFF)) | PTE_PRESENT | PTE_WRITABLE + pd: _p | t.CPtr = t.CType(pdp.entries[PdpIndex] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + + pd.entries[PdIndex] = PhysAddr | flags | PTE_PRESENT | PTE_PS + c.Asm(f"invlpg [{c.AsmInp(VirtAddr, t.ASM_DESCR.REG_ANY)}]") + +def UnMapPage(VirtAddr: t.CUInt64T): + global pml4, pdp, pd, pt + if VirtAddr == 0: return + if not pml4: return + Pml4Index: t.CUInt64T = (VirtAddr >> 39) & 0x1FF + PdpIndex: t.CUInt64T = (VirtAddr >> 30) & 0x1FF + PdIndex: t.CUInt64T = (VirtAddr >> 21) & 0x1FF + PtIndex: t.CUInt64T = (VirtAddr >> 12) & 0x1FF + + if not pml4.entries[Pml4Index] & PTE_PRESENT: return + + pdp: _p | t.CPtr = t.CType(pml4.entries[Pml4Index] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + if not pdp.entries[PdpIndex] & PTE_PRESENT: return + + pd: _p | t.CPtr = t.CType(pdp.entries[PdpIndex] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + + if not pd.entries[PdIndex] & PTE_PRESENT: return + + if pd.entries[PdIndex] & PTE_PS: + pd.entries[PdIndex] = 0 + else: + pt: _p | t.CPtr = t.CType(pd.entries[PdIndex] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + pt.entries[PtIndex] = 0 + + c.Asm(f"invlpg [{c.AsmInp(VirtAddr, t.ASM_DESCR.REG_ANY)}]") + +def EnablePaging(): + global pml4, pdp, pd, pt + c.Asm(f"mov cr3, {c.AsmInp(t.CUInt64T(pml4), t.ASM_DESCR.REG_ANY)}") + +def GetCurrentPml4() -> _p | t.CPtr: + global pml4, pdp, pd, pt + cr3: t.CUInt64T + c.Asm(f"mov {c.AsmOut(cr3, t.ASM_DESCR.OUTPUT_REG)}, cr3") + return (_p | t.CPtr)(cr3 & ~t.CUInt64T(0xFFF)) + +def create_process_page_table() -> t.CUInt64T: + global pml4 + if not pml4: return 0 + new_pml4: _p | t.CPtr = AllocPage() + if not new_pml4: return 0 + i: t.CUInt64T + for i in range(512): + entry: t.CUInt64T = pml4.entries[i] + if entry & PTE_PRESENT: + new_pml4.entries[i] = entry + return t.CUInt64T(new_pml4) + +def clone_for_process(isolate_vaddr: t.CUInt64T) -> t.CUInt64T: + global pml4 + _dbg: t.CArray[t.CChar, 120] + viperlib.snprintf(c.Addr(_dbg), 120, "[clone] pml4=0x%lx pool_used=%lu iso_va=0x%lx\n", t.CUInt64T(pml4), pt_pool_used, isolate_vaddr) + serial.puts(_dbg) + if not pml4: return 0 + new_pml4_page: _p | t.CPtr = AllocPage() + if not new_pml4_page: + serial.puts("[clone] AllocPage pml4 failed\n") + return 0 + _dbg2: t.CArray[t.CChar, 120] + viperlib.snprintf(c.Addr(_dbg2), 120, "[clone] new_pml4=0x%lx\n", t.CUInt64T(new_pml4_page)) + serial.puts(_dbg2) + i: t.CUInt64T + for i in range(512): + new_pml4_page.entries[i] = pml4.entries[i] + pml4_idx: t.CUInt64T = (isolate_vaddr >> 39) & 0x1FF + _dbg3: t.CArray[t.CChar, 120] + viperlib.snprintf(c.Addr(_dbg3), 120, "[clone] pml4_idx=%lu entry0=0x%lx\n", pml4_idx, pml4.entries[pml4_idx]) + serial.puts(_dbg3) + if not (pml4.entries[pml4_idx] & PTE_PRESENT): return t.CUInt64T(new_pml4_page) + kernel_pdp: _p | t.CPtr = t.CType(pml4.entries[pml4_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + new_pdp_page: _p | t.CPtr = AllocPage() + if not new_pdp_page: return t.CUInt64T(new_pml4_page) + for i in range(512): + new_pdp_page.entries[i] = kernel_pdp.entries[i] + new_pml4_page.entries[pml4_idx] = (t.CUInt64T(new_pdp_page) & ~t.CUInt64T(0xFFF)) | (pml4.entries[pml4_idx] & t.CUInt64T(0xFFF)) + pdp_idx: t.CUInt64T = (isolate_vaddr >> 30) & 0x1FF + if not (kernel_pdp.entries[pdp_idx] & PTE_PRESENT): return t.CUInt64T(new_pml4_page) + kernel_pd: _p | t.CPtr = t.CType(kernel_pdp.entries[pdp_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + new_pd_page: _p | t.CPtr = AllocPage() + if not new_pd_page: return t.CUInt64T(new_pml4_page) + for i in range(512): + new_pd_page.entries[i] = kernel_pd.entries[i] + new_pdp_page.entries[pdp_idx] = (t.CUInt64T(new_pd_page) & ~t.CUInt64T(0xFFF)) | (kernel_pdp.entries[pdp_idx] & t.CUInt64T(0xFFF)) + pd_idx: t.CUInt64T = (isolate_vaddr >> 21) & 0x1FF + if not (kernel_pd.entries[pd_idx] & PTE_PRESENT): return t.CUInt64T(new_pml4_page) + if kernel_pd.entries[pd_idx] & PTE_PS: return t.CUInt64T(new_pml4_page) + kernel_pt: _p | t.CPtr = t.CType(kernel_pd.entries[pd_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + new_pt_page: _p | t.CPtr = AllocPage() + if not new_pt_page: return t.CUInt64T(new_pml4_page) + for i in range(512): + new_pt_page.entries[i] = kernel_pt.entries[i] + new_pd_page.entries[pd_idx] = (t.CUInt64T(new_pt_page) & ~t.CUInt64T(0xFFF)) | (kernel_pd.entries[pd_idx] & t.CUInt64T(0xFFF)) + return t.CUInt64T(new_pml4_page) + +def save_pt_range(vaddr_start: t.CUInt64T, vaddr_end: t.CUInt64T, save_buf: t.CUInt64T | t.CPtr, save_count: t.CUInt32T | t.CPtr) -> t.CInt: + global pml4 + if not pml4: return -1 + c.Set(save_count, t.CUInt32T(0)) + va: t.CUInt64T = vaddr_start & ~t.CUInt64T(0xFFF) + while va < vaddr_end: + pml4_idx: t.CUInt64T = (va >> 39) & 0x1FF + if not (pml4.entries[pml4_idx] & PTE_PRESENT): va += 0x1000; continue + pdp_: _p | t.CPtr = t.CType(pml4.entries[pml4_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + pdp_idx: t.CUInt64T = (va >> 30) & 0x1FF + if not (pdp_.entries[pdp_idx] & PTE_PRESENT): va += 0x1000; continue + pd_: _p | t.CPtr = t.CType(pdp_.entries[pdp_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + pd_idx: t.CUInt64T = (va >> 21) & 0x1FF + if not (pd_.entries[pd_idx] & PTE_PRESENT): va += 0x1000; continue + if pd_.entries[pd_idx] & PTE_PS: va += 0x200000; continue + pt_: _p | t.CPtr = t.CType(pd_.entries[pd_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + pt_idx: t.CUInt64T = (va >> 12) & 0x1FF + saved: t.CUInt32T = c.DerefAs(save_count) # 此处操作意义存疑? + entry_ptr: t.CUInt64T | t.CPtr = save_buf + t.CUInt64T(saved) * 16 + c.DerefAs(entry_ptr, va) + c.DerefAs(entry_ptr + 8, pt_.entries[pt_idx]) + c.Set(save_count, t.CUInt32T(saved + 1)) + va += 0x1000 + return 0 + +def restore_pt_range(save_buf: t.CUInt64T | t.CPtr, save_count: t.CUInt32T): + global pml4 + if not pml4: return + i: t.CUInt32T = 0 + while i < save_count: + entry_ptr: t.CUInt64T | t.CPtr = save_buf + t.CUInt64T(i) * 16 + va: t.CUInt64T = c.DerefAs(entry_ptr) + orig_pte: t.CUInt64T = c.DerefAs(entry_ptr + 8) + pml4_idx: t.CUInt64T = (va >> 39) & 0x1FF + if not (pml4.entries[pml4_idx] & PTE_PRESENT): i += 1; continue + pdp_: _p | t.CPtr = t.CType(pml4.entries[pml4_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + pdp_idx: t.CUInt64T = (va >> 30) & 0x1FF + if not (pdp_.entries[pdp_idx] & PTE_PRESENT): i += 1; continue + pd_: _p | t.CPtr = t.CType(pdp_.entries[pdp_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + pd_idx: t.CUInt64T = (va >> 21) & 0x1FF + if not (pd_.entries[pd_idx] & PTE_PRESENT): i += 1; continue + if pd_.entries[pd_idx] & PTE_PS: i += 1; continue + pt_: _p | t.CPtr = t.CType(pd_.entries[pd_idx] & ~t.CUInt64T(0xFFF), _p, t.CPtr) + pt_idx: t.CUInt64T = (va >> 12) & 0x1FF + pt_.entries[pt_idx] = orig_pte + c.Asm(f"invlpg [{c.AsmInp(va, t.ASM_DESCR.REG_ANY)}]", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + i += 1 + +def set_active_pml4(cr3_val: t.CUInt64T): + global pml4 + pml4 = t.CType(cr3_val & ~t.CUInt64T(0xFFF), _p, t.CPtr) diff --git a/Test/Kernel/platform/pch/__init__.vp b/Test/Kernel/platform/pch/__init__.vp new file mode 100644 index 0000000..e1581f9 --- /dev/null +++ b/Test/Kernel/platform/pch/__init__.vp @@ -0,0 +1,4 @@ +from . import pic +from . import pit +from . import timer +from . import rtc diff --git a/Test/Kernel/platform/pch/pic.vp b/Test/Kernel/platform/pch/pic.vp new file mode 100644 index 0000000..239fd69 --- /dev/null +++ b/Test/Kernel/platform/pch/pic.vp @@ -0,0 +1,120 @@ +import asm +import t, c + + +# PIC端口定义 +PIC1_COMMAND: t.CDefine = 0x20 +PIC1_DATA: t.CDefine = 0x21 +PIC2_COMMAND: t.CDefine = 0xA0 +PIC2_DATA: t.CDefine = 0xA1 + +# ICW1 - 初始化命令字1 +ICW1_ICW4: t.CDefine = 0x01 # 需要ICW4 +ICW1_SINGLE: t.CDefine = 0x02 # 单级模式 +ICW1_INTERVAL4: t.CDefine = 0x04 # 间隔4字节 +ICW1_LEVEL: t.CDefine = 0x08 # 电平触发模式 +ICW1_INIT: t.CDefine = 0x10 # 初始化 + +# ICW4 - 初始化命令字4 +ICW4_8086: t.CDefine = 0x01 # 8086/88模式 +ICW4_AUTO: t.CDefine = 0x02 # 自动EOI +ICW4_BUF_SLAVE: t.CDefine = 0x08 # 缓冲模式(从片) +ICW4_BUF_MASTER: t.CDefine = 0x0C # 缓冲模式(主片) +ICW4_SFNM: t.CDefine = 0x10 # 特殊全嵌套模式 + +# OCW2 - 操作命令字2 +OCW2_EOI: t.CDefine = 0x20 # 结束中断 + +# OCW3 - 操作命令字3 +OCW3_READ_ISR: t.CDefine = 0x0B # 读取中断服务寄存器(ISR) + +# 初始化PIC +def init(): + # 发送ICW1:开始初始化,需要ICW4 + asm.outb(PIC1_COMMAND, ICW1_INIT | ICW1_ICW4) + asm.io_wait() + asm.outb(PIC2_COMMAND, ICW1_INIT | ICW1_ICW4) + asm.io_wait() + + # 发送ICW2:中断向量偏移 + asm.outb(PIC1_DATA, 0x20) # IRQ0-7映射到0x20-0x27 + asm.io_wait() + asm.outb(PIC2_DATA, 0x28) # IRQ8-15映射到0x28-0x2F + asm.io_wait() + + # 发送ICW3:级联信息 + asm.outb(PIC1_DATA, 0x04) # 主PIC的IRQ2连接从PIC + asm.io_wait() + asm.outb(PIC2_DATA, 0x02) # 从PIC连接到主PIC的IRQ2 + asm.io_wait() + + # 发送ICW4:8086模式 + asm.outb(PIC1_DATA, ICW4_8086) + asm.io_wait() + asm.outb(PIC2_DATA, ICW4_8086) + asm.io_wait() + + # 设置初始屏蔽字:只启用IRQ0(定时器)、IRQ1(键盘)、IRQ2(级联) + # 主PIC: 屏蔽所有除了IRQ0, IRQ1, IRQ2 (0xF8 = 11111000) + # 从PIC: 屏蔽所有 (0xFF = 11111111),鼠标中断由驱动程序自己启用 + asm.outb(PIC1_DATA, 0xF8) # 启用IRQ0, IRQ1, IRQ2 + asm.io_wait() + asm.outb(PIC2_DATA, 0xFF) # 屏蔽所有从PIC中断 + asm.io_wait() + +# 发送EOI信号 +def eoi(irq: t.CUInt8T): + if irq >= 8: asm.outb(PIC2_COMMAND, OCW2_EOI) + asm.outb(PIC1_COMMAND, OCW2_EOI) + + +# 检查是否是虚假中断(spurious interrupt) +# 返回 1 表示是虚假中断,0 表示是真实中断 +def isSpurious(irq: t.CInt) -> t.CInt: + # 边界检查 + if irq < 0 or irq > 15: return 0 + isr: t.CUInt8T + if irq < 8: + # 发送OCW3,读取ISR(Interrupt Service Register) + asm.outb(PIC1_COMMAND, OCW3_READ_ISR) + asm.io_wait() + isr = asm.inb(PIC1_COMMAND) + # 如果ISR中对应位为0,说明是虚假中断 + return not (isr & (1 << irq)) + else: + # 发送OCW3,读取从PIC的ISR + asm.outb(PIC2_COMMAND, OCW3_READ_ISR) + asm.io_wait() + isr = asm.inb(PIC2_COMMAND) + # 如果ISR中对应位为0,说明是虚假中断 + return not (isr & (1 << (irq - 8))) + +# 设置IRQ屏蔽 +def setMask(irq: t.CUInt8T): + # 边界检查 + if irq > 15: return + port: t.CUInt16T + value: t.CUInt8T + if irq < 8: + port = PIC1_DATA + else: + port = PIC2_DATA + irq -= 8 + value = asm.inb(port) | (1 << irq) + asm.outb(port, value) + asm.io_wait() # 确保命令生效 + +# 清除IRQ屏蔽 +def clearMask(irq: t.CUInt8T): + # 边界检查 + if irq > 15: return + port: t.CUInt16T + value: t.CUInt8T + if irq < 8: + port = PIC1_DATA + else: + port = PIC2_DATA + irq -= 8 + value = asm.inb(port) & ~(1 << irq) + asm.outb(port, value) + asm.io_wait() # 确保命令生效 diff --git a/Test/Kernel/platform/pch/pit.vp b/Test/Kernel/platform/pch/pit.vp new file mode 100644 index 0000000..f4a76a3 --- /dev/null +++ b/Test/Kernel/platform/pch/pit.vp @@ -0,0 +1,26 @@ +import asm +import t, c + +PIT_CHANNEL0: t.CDefine = 0x40 +PIT_CHANNEL1: t.CDefine = 0x41 +PIT_CHANNEL2: t.CDefine = 0x42 +PIT_COMMAND: t.CDefine = 0x43 + +def pit_init(frequency: t.CInt): + # 参数验证:确保频率为正数 + if frequency <= 0: return + + # 计算除数,使用16位无符号整数 + divisor: t.CUInt32T = 1193180 / frequency + + # 发送命令字:通道0,先低后高,模式3(方波),二进制计数 + asm.outb(PIT_COMMAND, 0x36) + asm.io_wait() + + # 写入低字节 + asm.outb(PIT_CHANNEL0, divisor & 0xFF) + asm.io_wait() + + # 写入高字节 + asm.outb(PIT_CHANNEL0, (divisor >> 8) & 0xFF) + asm.io_wait() diff --git a/Test/Kernel/platform/pch/rtc.vp b/Test/Kernel/platform/pch/rtc.vp new file mode 100644 index 0000000..52d9850 --- /dev/null +++ b/Test/Kernel/platform/pch/rtc.vp @@ -0,0 +1,97 @@ +from stdint import * +import t, c +import asm + + +RTC_CMOS_ADDR: t.CUInt16T = 0x70 +RTC_CMOS_DATA: t.CUInt16T = 0x71 + +RTC_REG_SECONDS: t.CDefine = 0x00 +RTC_REG_MINUTES: t.CDefine = 0x02 +RTC_REG_HOURS: t.CDefine = 0x04 +RTC_REG_DAY: t.CDefine = 0x07 +RTC_REG_MONTH: t.CDefine = 0x08 +RTC_REG_YEAR: t.CDefine = 0x09 +RTC_REG_STATUS_A: t.CDefine = 0x0A +RTC_REG_STATUS_B: t.CDefine = 0x0B + +RTC_TZ_OFFSET: t.CDefine = 8 + +rtc_seconds: t.CStatic | t.CVolatile | t.CUInt8T = 0 +rtc_minutes: t.CStatic | t.CVolatile | t.CUInt8T = 0 +rtc_hours: t.CStatic | t.CVolatile | t.CUInt8T = 0 +rtc_day: t.CStatic | t.CVolatile | t.CUInt8T = 0 +rtc_month: t.CStatic | t.CVolatile | t.CUInt8T = 0 +rtc_year: t.CStatic | t.CVolatile | t.CUInt16T = 0 + +def cmos_read(reg: t.CUInt8T) -> t.CUInt8T: + asm.outb(RTC_CMOS_ADDR, reg) + return asm.inb(RTC_CMOS_DATA) + +def bcd_to_bin(bcd: t.CUInt8T) -> t.CUInt8T: + return (bcd >> 4) * 10 + (bcd & 0x0F) + +def rtc_read_time(): + while cmos_read(RTC_REG_STATUS_A) & 0x80: pass + sec: t.CUInt8T = cmos_read(RTC_REG_SECONDS) + min_: t.CUInt8T = cmos_read(RTC_REG_MINUTES) + hour: t.CUInt8T = cmos_read(RTC_REG_HOURS) + day: t.CUInt8T = cmos_read(RTC_REG_DAY) + mon: t.CUInt8T = cmos_read(RTC_REG_MONTH) + year: t.CUInt8T = cmos_read(RTC_REG_YEAR) + reg_b: t.CUInt8T = cmos_read(RTC_REG_STATUS_B) + if not (reg_b & 0x04): + sec = bcd_to_bin(sec) + min_ = bcd_to_bin(min_) + hour = bcd_to_bin(hour) + day = bcd_to_bin(day) + mon = bcd_to_bin(mon) + year = bcd_to_bin(year) + if not (reg_b & 0x02) and (hour & 0x80): + hour = ((hour & 0x7F) + 12) % 24 + hour = hour + RTC_TZ_OFFSET + if hour >= 24: + hour = hour - 24 + day = day + 1 + max_day: t.CUInt8T = 31 + if mon == 4 or mon == 6 or mon == 9 or mon == 11: + max_day = 30 + elif mon == 2: + max_day = 28 + y4: t.CUInt16T = t.CUInt16T(year) + 2000 + if (y4 % 4 == 0 and y4 % 100 != 0) or (y4 % 400 == 0): + max_day = 29 + if day > max_day: + day = 1 + mon = mon + 1 + if mon > 12: + mon = 1 + year = year + 1 + global rtc_seconds, rtc_minutes, rtc_hours, rtc_day, rtc_month, rtc_year + rtc_seconds = sec + rtc_minutes = min_ + rtc_hours = hour + rtc_day = day + rtc_month = mon + rtc_year = t.CUInt16T(year) + 2000 + +def rtc_init(): + rtc_read_time() + +def rtc_get_hours() -> t.CUInt8T: + return rtc_hours + +def rtc_get_minutes() -> t.CUInt8T: + return rtc_minutes + +def rtc_get_seconds() -> t.CUInt8T: + return rtc_seconds + +def rtc_get_day() -> t.CUInt8T: + return rtc_day + +def rtc_get_month() -> t.CUInt8T: + return rtc_month + +def rtc_get_year() -> t.CUInt16T: + return rtc_year diff --git a/Test/Kernel/platform/pch/timer.vp b/Test/Kernel/platform/pch/timer.vp new file mode 100644 index 0000000..9b45895 --- /dev/null +++ b/Test/Kernel/platform/pch/timer.vp @@ -0,0 +1,102 @@ +import platform.pch.pic as pic +import platform.pch.pit as pit +import sched.sched as sched +import asm +import t, c + +TIMER_FREQUENCY: t.CDefine = 1000 +TICKS_PER_SECOND: t.CDefine = TIMER_FREQUENCY +MILLISECONDS_PER_TICK: t.CDefine = (1000 / TIMER_FREQUENCY) + +ticks: t.CStatic | t.CVolatile | t.CUInt64T = 0 +seconds: t.CStatic | t.CVolatile | t.CUInt32T = 0 +milliseconds: t.CStatic | t.CVolatile | t.CUInt32T = 0 +timer_running: t.CStatic | t.CVolatile | bool = False + +def timer_init(): + global ticks, seconds, milliseconds, timer_running + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + ticks = 0 + seconds = 0 + milliseconds = 0 + timer_running = True + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + pit.pit_init(TIMER_FREQUENCY) + +def timer_handler(): + global ticks, seconds, milliseconds, timer_running + if not timer_running: + pic.eoi(0) + return + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + ticks = ticks + 1 + milliseconds = milliseconds + MILLISECONDS_PER_TICK + if milliseconds >= 1000: + seconds = seconds + 1 + milliseconds = milliseconds - 1000 + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + sched.Scheduler.sched_tick() + pic.eoi(0) + +def timer_start(): + global timer_running + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + timer_running = True + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + +def timer_stop(): + global timer_running + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + timer_running = False + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + +def timer_reset(): + global ticks, seconds, milliseconds + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + ticks = 0 + seconds = 0 + milliseconds = 0 + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + +def timer_get_ticks() -> t.CUInt64T: + current_ticks: t.CUInt64T + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + current_ticks = ticks + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + return current_ticks + +def timer_get_seconds() -> t.CUInt32T: + current_seconds: t.CUInt32T + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + current_seconds = seconds + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + return current_seconds + +def timer_get_milliseconds() -> t.CUInt32T: + current_milliseconds: t.CUInt32T + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + current_milliseconds = milliseconds + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + return current_milliseconds + +def timer_get_time(out_seconds: t.CUInt32T | t.CPtr, out_milliseconds: t.CUInt32T | t.CPtr): + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + if out_seconds: + c.Set(c.Deref(out_seconds), seconds) + if out_milliseconds: + c.Set(c.Deref(out_milliseconds), milliseconds) + c.Asm("mfence", op=[t.ASM_DESCR.CLOBBER_MEMORY]) + +def timer_msleep(ms: t.CUInt32T): + target: t.CUInt64T = ticks + (ms + MILLISECONDS_PER_TICK - 1) / MILLISECONDS_PER_TICK + while ticks < target: + asm.sti() + asm.hlt() + sched.Scheduler._yield() + +def timer_sleep(sec: t.CUInt32T): + target: t.CUInt64T = ticks + sec * TICKS_PER_SECOND + while ticks < target: + asm.sti() + asm.hlt() + sched.Scheduler._yield() diff --git a/Test/Kernel/sched/coroutine.vp b/Test/Kernel/sched/coroutine.vp new file mode 100644 index 0000000..506e6a8 --- /dev/null +++ b/Test/Kernel/sched/coroutine.vp @@ -0,0 +1,202 @@ +import mm +import drivers.serial.uart.serial as serial +import asm +import t, c + +CORO_READY: t.CDefine = 0 +CORO_RUNNING: t.CDefine = 1 +CORO_YIELDED: t.CDefine = 2 +CORO_DONE: t.CDefine = 3 +MAX_COROUTINES: t.CDefine = 32 +CORO_STACK_SIZE: t.CDefine = 8192 + + +@t.Object +class Coroutine: + rsp: t.CUInt64T + stack: t.CVoid | t.CPtr + stack_size: t.CUInt64T + func: t.CVoid | t.CPtr + arg: t.CVoid | t.CPtr + state: t.CInt + cid: t.CInt + caller_rsp: t.CUInt64T + ret_val: t.CInt + + def resume(self) -> t.CInt: + global _coro_old_rsp, _coro_new_rsp + m: CoroutineManager | t.CPtr = _coro_mgr_ptr + if self.state == CORO_DONE: return self.ret_val + if self.state != CORO_READY and self.state != CORO_YIELDED: return -1 + prev_cid: t.CInt = m.current_cid + m.current_cid = self.cid + self.state = CORO_RUNNING + _coro_old_rsp = c.Addr(m.coroutines[prev_cid].rsp) + _coro_new_rsp = c.Addr(self.rsp) + self.caller_rsp = t.CUInt64T(_coro_old_rsp) + _coro_switch() + if self.state == CORO_DONE: + return self.ret_val + return 0 + + @staticmethod + def _yield(): + global _coro_old_rsp, _coro_new_rsp + m: CoroutineManager | t.CPtr = _coro_mgr_ptr + cid: t.CInt = m.current_cid + if cid < 0: return + m.coroutines[cid].state = CORO_YIELDED + prev_cid: t.CInt = -1 + i: t.CInt + for i in range(m.count): + if m.coroutines[i].state == CORO_RUNNING and m.coroutines[i].caller_rsp != 0: + prev_cid = i + break + if prev_cid < 0: return + m.current_cid = prev_cid + _coro_old_rsp = c.Addr(m.coroutines[cid].rsp) + _coro_new_rsp = c.Addr(m.coroutines[prev_cid].rsp) + _coro_switch() + + @property + def is_done(self) -> t.CInt: + if self.state == CORO_DONE: + return 1 + return 0 + + @property + def is_yielded(self) -> t.CInt: + if self.state == CORO_YIELDED: + return 1 + return 0 + + @property + def retval(self) -> t.CInt: + return self.ret_val + + +@t.Object +class CoroutineManager: + coroutines: t.CArray[Coroutine, MAX_COROUTINES] + current_cid: t.CInt + count: t.CInt + + def __init__(): + global _coro_mgr_ptr + _coro_mgr_ptr = c.Addr(_coro_mgr) + m: CoroutineManager | t.CPtr = _coro_mgr_ptr + m.current_cid = 0 + m.count = 1 + m.coroutines[0].state = CORO_RUNNING + m.coroutines[0].cid = 0 + m.coroutines[0].caller_rsp = 0 + m.coroutines[0].ret_val = 0 + m.coroutines[0].rsp = 0 + m.coroutines[0].stack = None + m.coroutines[0].stack_size = 0 + m.coroutines[0].func = None + m.coroutines[0].arg = None + main_rsp_ptr: t.CVoid | t.CPtr = c.Addr(m.coroutines[0].rsp) + c.Asm(f"""mov qword ptr [{c.AsmInp(main_rsp_ptr, t.ASM_DESCR.REG_ANY)}], rsp""", + op=[t.ASM_DESCR.CLOBBER_MEMORY]) + + @staticmethod + def current() -> Coroutine | t.CPtr: + m: CoroutineManager | t.CPtr = _coro_mgr_ptr + return c.Addr(m.coroutines[m.current_cid]) + + @staticmethod + def get_coroutine(cid: t.CInt) -> Coroutine | t.CPtr: + m: CoroutineManager | t.CPtr = _coro_mgr_ptr + if cid < 0 or cid >= m.count: return None + return c.Addr(m.coroutines[cid]) + + @staticmethod + def create(func: t.CVoid | t.CPtr, arg: t.CVoid | t.CPtr) -> Coroutine | t.CPtr: + m: CoroutineManager | t.CPtr = _coro_mgr_ptr + if m.count >= MAX_COROUTINES: return None + cid: t.CInt = m.count + m.count += 1 + co: Coroutine | t.CPtr = c.Addr(m.coroutines[cid]) + co.state = CORO_READY + co.cid = cid + co.func = func + co.arg = arg + co.caller_rsp = 0 + co.ret_val = 0 + stack_ptr: t.CVoid | t.CPtr = mm.malloc(CORO_STACK_SIZE) + if not stack_ptr: return None + co.stack = stack_ptr + co.stack_size = CORO_STACK_SIZE + stack_top: t.CUInt64T = t.CUInt64T(stack_ptr) + CORO_STACK_SIZE - 16 + stack_top = stack_top & ~t.CUInt64T(0xF) + entry_addr: t.CUInt64T = t.CUInt64T(c.Addr(_coro_entry)) + sp: t.CPtr = t.CPtr(stack_top) + c.Asm(f"""mov rax, {c.AsmInp(sp, t.ASM_DESCR.REG_ANY)} + mov qword ptr [rax - 56], 0 + mov qword ptr [rax - 48], 0 + mov qword ptr [rax - 40], 0 + mov qword ptr [rax - 32], 0 + mov qword ptr [rax - 24], 0 + mov qword ptr [rax - 16], 0 + mov qword ptr [rax - 8], 0 + mov qword ptr [rax], {c.AsmInp(entry_addr, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + stack_top = stack_top - 56 + co.rsp = stack_top + return co + + +_coro_mgr: CoroutineManager = CoroutineManager() +_coro_mgr_ptr: CoroutineManager | t.CPtr = c.Addr(_coro_mgr) +_coro_old_rsp: t.CVoid | t.CPtr +_coro_new_rsp: t.CVoid | t.CPtr + +@c.Attribute(t.attr.naked) +def _coro_switch(): + c.Asm(f"""push rax + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov rax, qword ptr [rip + _coro_old_rsp] + mov qword ptr [rax], rsp + mov rax, qword ptr [rip + _coro_new_rsp] + mov rsp, qword ptr [rax] + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rax + ret""", + op=[t.ASM_DESCR.CLOBBER_MEMORY]) + +@c.Attribute(t.attr.naked) +def _coro_entry(): + c.Asm(f"""sub rsp, 8 + mov rax, qword ptr [rip + _coro_mgr_ptr] + mov ecx, dword ptr [rax + 1056] + movsxd rcx, ecx + shl rcx, 5 + mov rdi, qword ptr [rax + rcx + 24] + mov rax, qword ptr [rax + rcx + 16] + call rax + mov rax, qword ptr [rip + _coro_mgr_ptr] + mov ecx, dword ptr [rax + 1056] + movsxd rcx, ecx + shl rcx, 5 + mov dword ptr [rax + rcx + 32], 3 + mov dword ptr [rax + rcx + 48], eax + add rsp, 8""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + Coroutine._yield() + while True: + asm.sti() + asm.hlt() diff --git a/Test/Kernel/sched/process.vp b/Test/Kernel/sched/process.vp new file mode 100644 index 0000000..18c59e5 --- /dev/null +++ b/Test/Kernel/sched/process.vp @@ -0,0 +1,277 @@ +import mm +import mm.mm as mm_mm +import paging.paging as paging +import drivers.serial.uart.serial as serial +import drivers.fs.fat32.fat32 as fat32 +import drivers.fs.fat32.fat32_types as fat32_types +import drivers.core.cpu.cpu as cpu +import intr.gdt as gdt +import viperlib +import string +import t, c + +PROC_READY: t.CDefine = 0 +PROC_RUNNING: t.CDefine = 1 +PROC_BLOCKED: t.CDefine = 2 +PROC_DONE: t.CDefine = 3 +MAX_PROCESSES: t.CDefine = 8 +MAX_PROC_THREADS: t.CDefine = 8 +PROC_MAX_FDS: t.CDefine = 16 +PROC_MAX_DIRS: t.CDefine = 8 +KERN_STACK_SIZE: t.CDefine = 8192 +USER_STACK_SIZE: t.CDefine = 65536 + + +@t.Object +class Process: + pid: t.CInt + pml4_root: t.CUInt64T + threads: t.CArray[t.CInt, 8] + thread_count: t.CInt + state: t.CInt + entry: t.CVoid | t.CPtr + elf_base: t.CUInt64T + heap_start: t.CUInt64T + heap_size: t.CUInt64T + name: t.CArray[t.CChar, 32] + fd_table: t.CArray[t.CVoid | t.CPtr, PROC_MAX_FDS] + fd_used: t.CArray[t.CUInt8T, PROC_MAX_FDS] + dir_table: t.CArray[t.CVoid | t.CPtr, PROC_MAX_DIRS] + dir_used: t.CArray[t.CUInt8T, PROC_MAX_DIRS] + dir_pool: t.CArray[fat32_types.dirobj, PROC_MAX_DIRS] + kern_stack: t.CUInt64T + user_stack: t.CUInt64T + + def addThread(self, tid: t.CInt) -> t.CInt: + if self.thread_count >= MAX_PROC_THREADS: return -1 + self.threads[self.thread_count] = tid + self.thread_count += 1 + return 0 + + def exit(self): + self.state = PROC_DONE + for i in range(PROC_MAX_FDS): + if self.fd_used[i]: + fp: t.CVoid | t.CPtr = self.fd_table[i] + if fp: + fat32.close(fp) + self.fd_used[i] = 0 + self.fd_table[i] = t.CVoid(0, t.CPtr) + for i in range(PROC_MAX_DIRS): + if self.dir_used[i]: + dp: t.CVoid | t.CPtr = self.dir_table[i] + if dp: + fat32.closedir(dp) + self.dir_used[i] = 0 + self.dir_table[i] = t.CVoid(0, t.CPtr) + m: ProcessManager | t.CPtr = _proc_mgr_ptr + if m.current_pid == self.pid: + m.current_pid = 0 + m.processes[0].state = PROC_RUNNING + if self.pml4_root != 0: + kernel_cr3: t.CUInt64T = m.processes[0].pml4_root + if kernel_cr3 != 0: + c.Asm(f"mov cr3, {c.AsmInp(kernel_cr3, t.ASM_DESCR.REG_ANY)}", + op=[t.ASM_DESCR.CLOBBER_MEMORY]) + paging.set_active_pml4(kernel_cr3) + + @property + def is_running(self) -> t.CInt: + if self.state == PROC_RUNNING: + return 1 + return 0 + + @property + def is_done(self) -> t.CInt: + if self.state == PROC_DONE: + return 1 + return 0 + + +@t.Object +class ProcessManager: + processes: t.CArray[Process, MAX_PROCESSES] + current_pid: t.CInt + count: t.CInt + + def __init__(self): + global _proc_mgr_ptr + _proc_mgr_ptr = c.Addr(_proc_mgr) + m: ProcessManager | t.CPtr = _proc_mgr_ptr + m.current_pid = 0 + m.count = 1 + p: Process | t.CPtr = c.Addr(m.processes[0]) + p.pid = 0 + p.state = PROC_RUNNING + p.thread_count = 0 + p.pml4_root = 0 + p.entry = None + p.elf_base = 0 + p.heap_start = 0 + p.heap_size = 0 + name_str: str = "kernel" + i: t.CInt = 0 + for ch in name_str: + if i >= 31: break + p.name[i] = ch + i += 1 + p.name[i] = 0 + j: t.CInt + for j in range(MAX_PROC_THREADS): + p.threads[j] = -1 + for j in range(PROC_MAX_FDS): + p.fd_used[j] = 0 + p.fd_table[j] = t.CVoid(0, t.CPtr) + for j in range(PROC_MAX_DIRS): + p.dir_used[j] = 0 + p.dir_table[j] = t.CVoid(0, t.CPtr) + c.Asm(f"""mov {c.AsmOut(p.pml4_root, t.ASM_DESCR.OUTPUT_REG)}, cr3""", + op=[t.ASM_DESCR.CLOBBER_MEMORY]) + + @staticmethod + def _switch(pid: t.CInt) -> t.CInt: + global _saved_cr3 + m: ProcessManager | t.CPtr = _proc_mgr_ptr + if pid < 0 or pid >= m.count: return -1 + p: Process | t.CPtr = c.Addr(m.processes[pid]) + if p.state == PROC_DONE: return -1 + old_pid: t.CInt = m.current_pid + if old_pid == pid: return 0 + if old_pid >= 0 and old_pid < m.count: + m.processes[old_pid].state = PROC_READY + p.state = PROC_RUNNING + m.current_pid = pid + c.Asm(f"""mov {c.AsmOut(_saved_cr3, t.ASM_DESCR.OUTPUT_REG)}, cr3 + mov rax, {c.AsmInp(p.pml4_root, t.ASM_DESCR.REG_ANY)} + mov cr3, rax""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + return 0 + + @staticmethod + def current() -> Process | t.CPtr: + m: ProcessManager | t.CPtr = _proc_mgr_ptr + return c.Addr(m.processes[m.current_pid]) + + @staticmethod + def get_process(pid: t.CInt) -> Process | t.CPtr: + m: ProcessManager | t.CPtr = _proc_mgr_ptr + if pid < 0 or pid >= m.count: return None + return c.Addr(m.processes[pid]) + + @staticmethod + def create_process(name: str, entry: t.CVoid | t.CPtr) -> Process | t.CPtr: + m: ProcessManager | t.CPtr = _proc_mgr_ptr + _dbp: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(_dbp), 80, "[process] create_process count=%d MAX=%d\n", m.count, MAX_PROCESSES) + serial.puts(_dbp) + if m.count >= MAX_PROCESSES: return None + pid: t.CInt = m.count + m.count += 1 + p: Process | t.CPtr = c.Addr(m.processes[pid]) + p.pid = pid + p.state = PROC_READY + p.entry = entry + p.elf_base = 0 + p.thread_count = 0 + p.heap_start = 0 + p.heap_size = 0 + string.memset(c.Addr(p.name), 0, 32) + i: t.CInt = 0 + for ch in name: + if i >= 31: break + p.name[i] = ch + i += 1 + p.name[i] = 0 + j: t.CInt + for j in range(MAX_PROC_THREADS): + p.threads[j] = -1 + for j in range(PROC_MAX_FDS): + p.fd_used[j] = 0 + p.fd_table[j] = t.CVoid(0, t.CPtr) + for j in range(PROC_MAX_DIRS): + p.dir_used[j] = 0 + p.dir_table[j] = t.CVoid(0, t.CPtr) + ks: t.CVoid | t.CPtr = mm_mm.malloc(KERN_STACK_SIZE) + if ks is None: + serial.puts("[process] kernel stack alloc failed\n") + m.count = m.count - 1 + return None + ks_size: t.CUInt64T = KERN_STACK_SIZE + p.kern_stack = t.CUInt64T(ks) + ks_size + us: t.CVoid | t.CPtr = mm_mm.malloc(USER_STACK_SIZE) + if us is None: + serial.puts("[process] user stack alloc failed\n") + mm_mm.free(ks) + m.count = m.count - 1 + return None + us_size: t.CUInt64T = USER_STACK_SIZE + p.user_stack = t.CUInt64T(us) + us_size + c.Asm(f"""mov {c.AsmOut(p.pml4_root, t.ASM_DESCR.OUTPUT_REG)}, cr3""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + return p + + +_proc_mgr: ProcessManager = ProcessManager() +_proc_mgr_ptr: ProcessManager | t.CPtr = c.Addr(_proc_mgr) +_saved_cr3: t.CUInt64T + +def current() -> t.CInt: + m: ProcessManager | t.CPtr = _proc_mgr_ptr + return m.current_pid + +def switch_pid(new_pid: t.CInt): + m: ProcessManager | t.CPtr = _proc_mgr_ptr + if m.current_pid == new_pid: return + if m.current_pid >= 0 and m.current_pid < m.count: + old_p: Process | t.CPtr = c.Addr(m.processes[m.current_pid]) + if old_p.state != PROC_DONE: + old_p.state = PROC_READY + if new_pid >= 0 and new_pid < m.count: + new_p: Process | t.CPtr = c.Addr(m.processes[new_pid]) + new_p.state = PROC_RUNNING + new_cr3: t.CUInt64T = new_p.pml4_root + if new_cr3 != 0: + c.Asm(f"mov cr3, {c.AsmInp(new_cr3, t.ASM_DESCR.REG_ANY)}", + op=[t.ASM_DESCR.CLOBBER_MEMORY]) + paging.set_active_pml4(new_cr3) + # Update TSS RSP0 and GS kernel_rsp0 for the new process + # This is needed so interrupts from Ring 3 use the correct kernel stack + if new_p.kern_stack != 0: + gdt.set_tss_rsp0(new_p.kern_stack) + cpu.set_kernel_rsp0(new_p.kern_stack) + m.current_pid = new_pid + +def get_pid(tid: t.CInt) -> t.CInt: + m: ProcessManager | t.CPtr = _proc_mgr_ptr + i: t.CInt + for i in range(m.count): + p: Process | t.CPtr = c.Addr(m.processes[i]) + j: t.CInt + for j in range(p.thread_count): + if p.threads[j] == tid: + return p.pid + return -1 + +def drop_to_user_mode(entry: t.CVoid | t.CPtr, user_rsp: t.CUInt64T, kern_rsp: t.CUInt64T): + # NOTE: Do NOT swapgs here. This OS uses reverse GS convention: + # GS_BASE = 0 (kernel & user), KERNEL_GS_BASE = &_per_cpu + # syscall/ISR entry does swapgs to get GS_BASE = &_per_cpu + # syscall/ISR return does swapgs to restore GS_BASE = 0 + # GS state is restored in isrCommonhandler before _yield() if needed. + c.Asm(f"""cli + mov rsp, {c.AsmInp(kern_rsp, t.ASM_DESCR.REG_ANY)} + mov rdx, {c.AsmInp(user_rsp, t.ASM_DESCR.REG_ANY)} + mov rcx, {c.AsmInp(entry, t.ASM_DESCR.REG_ANY)} + mov r11, 0x202 + push 0x23 + push rdx + push r11 + push 0x1B + push rcx + iretq""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R11, t.ASM_DESCR.CLOBBER_RSI, + t.ASM_DESCR.CLOBBER_RDI, t.ASM_DESCR.CLOBBER_R8, + t.ASM_DESCR.CLOBBER_R9, t.ASM_DESCR.CLOBBER_R10, + t.ASM_DESCR.CLOBBER_RBP]) diff --git a/Test/Kernel/sched/sched.vp b/Test/Kernel/sched/sched.vp new file mode 100644 index 0000000..606d5dc --- /dev/null +++ b/Test/Kernel/sched/sched.vp @@ -0,0 +1,299 @@ +import mm +import asm +import sched.process as proc +import drivers.serial.uart.serial as serial +import viperlib +import t, c + + +THREAD_READY: t.CDefine = 0 +THREAD_RUNNING: t.CDefine = 1 +THREAD_BLOCKED: t.CDefine = 2 +THREAD_DONE: t.CDefine = 3 +MAX_THREADS: t.CDefine = 16 +THREAD_STACK_SIZE: t.CDefine = 65536 +SCHED_QUANTUM: t.CDefine = 10 + +_yield_cnt: t.CUInt32T = 0 +_yield_lock: t.CInt = 0 + + +@t.Object +class Thread: + rsp: t.CUInt64T + stack: t.CVoid | t.CPtr + stack_size: t.CUInt64T + func: t.CVoid | t.CPtr + arg: t.CVoid | t.CPtr + state: t.CInt + tid: int + pid: t.CInt + + def block(self): + self.state = THREAD_BLOCKED + Scheduler._yield() + + def unblock(self): + if self.state == THREAD_BLOCKED: + self.state = THREAD_READY + + @property + def is_running(self) -> t.CInt: + if self.state == THREAD_RUNNING: + return 1 + return 0 + + @property + def is_blocked(self) -> t.CInt: + if self.state == THREAD_BLOCKED: + return 1 + return 0 + + @property + def is_done(self) -> t.CInt: + if self.state == THREAD_DONE: + return 1 + return 0 + + +@t.Object +class Scheduler: + threads: t.CArray[Thread, MAX_THREADS] + current_tid: t.CInt + thread_count: t.CInt + enabled: t.CInt + needs_reschedule: t.CInt + tick_count: t.CInt + + def __init__(self): + global _sched_ptr + _sched_ptr = c.Addr(_sched_storage) + s: Scheduler | t.CPtr = _sched_ptr + s.current_tid = 0 + s.thread_count = 1 + s.enabled = 0 + s.needs_reschedule = 0 + s.tick_count = 0 + i: int + for i in range(MAX_THREADS): + s.threads[i].rsp = 0 + s.threads[i].stack = None + s.threads[i].stack_size = 0 + s.threads[i].func = None + s.threads[i].arg = None + s.threads[i].state = THREAD_DONE + s.threads[i].tid = i + s.threads[i].pid = 0 + s.enabled = 1 + s.threads[0].state = THREAD_RUNNING + s.threads[0].tid = 0 + main_rsp_ptr: t.CVoid | t.CPtr = c.Addr(s.threads[0].rsp) + c.Asm(f"""mov qword ptr [{c.AsmInp(main_rsp_ptr, t.ASM_DESCR.REG_ANY)}], rsp""", + op=[t.ASM_DESCR.CLOBBER_MEMORY]) + + @staticmethod + def _yield(): + global _switch_old_rsp, _switch_new_rsp, _yield_cnt, _yield_lock + _if_saved: t.CInt = 0 + c.Asm(f"""pushfq + pop rax + shr rax, 9 + and eax, 1 + mov {c.AsmOut(_if_saved, t.ASM_DESCR.OUTPUT_REG)}, eax""", + op=[t.ASM_DESCR.CLOBBER_RAX]) + asm.cli() + if _yield_lock: + if _if_saved: + asm.sti() + return + _yield_lock = 1 + s: Scheduler | t.CPtr = _sched_ptr + s.needs_reschedule = 0 + s.tick_count = 0 + old_tid: t.CInt = s.current_tid + next_tid: t.CInt = old_tid + 1 + if next_tid >= s.thread_count: + next_tid = 0 + found: t.CInt = 0 + count: t.CInt = 0 + while count < s.thread_count: + st: t.CInt = s.threads[next_tid].state + if st == THREAD_READY or st == THREAD_RUNNING: + found = 1 + break + next_tid += 1 + if next_tid >= s.thread_count: + next_tid = 0 + count += 1 + if found == 0: + _yield_lock = 0 + if _if_saved: + asm.sti() + return + if next_tid == old_tid: + _yield_lock = 0 + if _if_saved: + asm.sti() + return + if s.threads[old_tid].state == THREAD_RUNNING: + s.threads[old_tid].state = THREAD_READY + s.threads[next_tid].state = THREAD_RUNNING + _switch_old_rsp = c.Addr(s.threads[old_tid].rsp) + _switch_new_rsp = c.Addr(s.threads[next_tid].rsp) + s.current_tid = next_tid + next_pid: t.CInt = s.threads[next_tid].pid + _yield_cnt += 1 + proc.switch_pid(next_pid) + _yield_lock = 0 + _do_switch() + if _if_saved: + asm.sti() + + @staticmethod + def sched_tick(): + s: Scheduler | t.CPtr = _sched_ptr + if not s.enabled: return + if s.thread_count <= 1: return + s.tick_count += 1 + if s.tick_count >= SCHED_QUANTUM: + s.tick_count = 0 + s.needs_reschedule = 1 + + @staticmethod + def try_reschedule(): + s: Scheduler | t.CPtr = _sched_ptr + if s.needs_reschedule: + s.needs_reschedule = 0 + Scheduler._yield() + + @staticmethod + def disable(): + s: Scheduler | t.CPtr = _sched_ptr + s.enabled = 0 + + @staticmethod + def enable(): + s: Scheduler | t.CPtr = _sched_ptr + s.enabled = 1 + + @staticmethod + def current() -> Thread | t.CPtr: + s: Scheduler | t.CPtr = _sched_ptr + return c.Addr(s.threads[s.current_tid]) + + @staticmethod + def get_thread(tid: t.CInt) -> Thread | t.CPtr: + s: Scheduler | t.CPtr = _sched_ptr + if tid < 0 or tid >= s.thread_count: return None + return c.Addr(s.threads[tid]) + + @staticmethod + def create_thread(func: t.CVoid | t.CPtr, arg: t.CVoid | t.CPtr, thread_pid: t.CInt = 0) -> Thread | t.CPtr: + s: Scheduler | t.CPtr = _sched_ptr + if s.thread_count >= MAX_THREADS: return None + tid: int = s.thread_count + s.thread_count += 1 + th: Thread | t.CPtr = c.Addr(s.threads[tid]) + th.state = THREAD_READY + th.tid = tid + th.pid = thread_pid + th.func = func + th.arg = arg + stack_size: t.CUInt64T = THREAD_STACK_SIZE + stack_ptr: t.CVoid | t.CPtr = mm.malloc(stack_size) + if not stack_ptr: return None + th.stack = stack_ptr + th.stack_size = stack_size + stack_top: t.CUInt64T = t.CUInt64T(stack_ptr) + stack_size - 16 + stack_top = stack_top & ~t.CUInt64T(0xF) + entry_addr: t.CUInt64T = t.CUInt64T(c.Addr(_thread_entry)) + sp: t.CPtr = t.CPtr(stack_top) + c.Asm(f"""mov rax, {c.AsmInp(sp, t.ASM_DESCR.REG_ANY)} + mov qword ptr [rax - 64], 0x202 + mov qword ptr [rax - 56], 0 + mov qword ptr [rax - 48], 0 + mov qword ptr [rax - 40], 0 + mov qword ptr [rax - 32], 0 + mov qword ptr [rax - 24], 0 + mov qword ptr [rax - 16], 0 + mov qword ptr [rax - 8], 0 + mov qword ptr [rax], {c.AsmInp(entry_addr, t.ASM_DESCR.REG_ANY)}""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX]) + stack_top = stack_top - 64 + th.rsp = stack_top + return th + + +_sched_storage: Scheduler = Scheduler() +_sched_ptr: Scheduler | t.CPtr = c.Addr(_sched_storage) +_switch_old_rsp: t.CVoid | t.CPtr +_switch_new_rsp: t.CVoid | t.CPtr + +@c.Attribute(t.attr.naked) +def _do_switch(): + c.Asm(f"""push rax + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + mov rax, qword ptr [rip + _switch_old_rsp] + mov qword ptr [rax], rsp + mov rax, qword ptr [rip + _switch_new_rsp] + mov rsp, qword ptr [rax] + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rax + ret""", + op=[t.ASM_DESCR.CLOBBER_MEMORY]) + +@c.Attribute(t.attr.naked) +def _thread_entry(): + c.Asm(f"""sub rsp, 8 + mov rax, qword ptr [rip + _sched_ptr] + mov ecx, dword ptr [rax + 896] + movsxd rcx, ecx + imul rcx, rcx, 56 + mov rdi, qword ptr [rax + rcx + 32] + mov rax, qword ptr [rax + rcx + 24] + call rax + mov rax, qword ptr [rip + _sched_ptr] + mov ecx, dword ptr [rax + 896] + movsxd rcx, ecx + imul rcx, rcx, 56 + mov dword ptr [rax + rcx + 40], 3 + add rsp, 8""", + op=[t.ASM_DESCR.CLOBBER_MEMORY, t.ASM_DESCR.CLOBBER_RAX, + t.ASM_DESCR.CLOBBER_RCX, t.ASM_DESCR.CLOBBER_RDX, + t.ASM_DESCR.CLOBBER_R8, t.ASM_DESCR.CLOBBER_R9, + t.ASM_DESCR.CLOBBER_R10, t.ASM_DESCR.CLOBBER_R11]) + Scheduler._yield() + while True: + asm.sti() + asm.hlt() + Scheduler._yield() + +def thread_current() -> t.CInt: + s: Scheduler | t.CPtr = _sched_ptr + return s.current_tid + +def needs_reschedule() -> t.CInt: + s: Scheduler | t.CPtr = _sched_ptr + return s.needs_reschedule + +def sched_dump(): + s: Scheduler | t.CPtr = _sched_ptr + dl: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(dl), 80, "[sched] dump: cur=%d cnt=%d yields=%u\n", s.current_tid, s.thread_count, _yield_cnt) + serial.puts(dl) + for i in range(s.thread_count): + sl: t.CArray[t.CChar, 80] + viperlib.snprintf(c.Addr(sl), 80, " t%d: st=%d pid=%d rsp=0x%lx\n", i, s.threads[i].state, s.threads[i].pid, s.threads[i].rsp) + serial.puts(sl) diff --git a/Test/Kernel/services/desktop.vp b/Test/Kernel/services/desktop.vp new file mode 100644 index 0000000..6f34f75 --- /dev/null +++ b/Test/Kernel/services/desktop.vp @@ -0,0 +1,2714 @@ +from stdint import * +import asm +import drivers.video.vesafb.gfx as gfx +import drivers.video.vesafb.vga as vga +import drivers.input.mouse.mouse as mouse +import drivers.input.keyboard.keyboard as keyboard +import drivers.usb.hid.usb_mouse as usb_mouse +import drivers.usb.hid.usb_kbd as usb_kbd +import drivers.serial.uart.serial as serial +import platform.pch.pic as pic +import platform.pch.timer as timer +import platform.pch.rtc as rtc +import sched.sched as sched +import sched.process as process +import mm.mm as mm +import string +import viperlib +import t, c + + +TASKBAR_HEIGHT: t.CDefine = 50 +CURSOR_SIZE: t.CDefine = 16 +CURSOR_W: t.CDefine = 16 +CURSOR_H: t.CDefine = 16 +CURSOR_SAVE_SIZE: t.CDefine = 256 +TITLE_HEIGHT_CLASSIC: t.CDefine = 24 +TITLE_HEIGHT_WIN: t.CDefine = 32 +MAX_APP_WINDOWS: t.CDefine = 16 +CLOSE_BTN_SIZE: t.CDefine = 16 +CLOSE_BTN_W_WIN: t.CDefine = 46 +CLOSE_BTN_W7_W: t.CDefine = 28 +CLOSE_BTN_W7_H: t.CDefine = 20 +CLOSE_BTN_W7_R: t.CDefine = 3 +CLOSE_BTN_XP_SZ: t.CDefine = 21 +TITLE_BTN_W_WIN: t.CDefine = 46 +TITLE_BTN_W7: t.CDefine = 28 +TITLE_BTN_XP: t.CDefine = 21 +TASKBAR_ICON_SZ: t.CDefine = 36 +TASKBAR_ICON_PAD: t.CDefine = 6 +TASKBAR_LOGO_SZ: t.CDefine = 32 +WIN_RADIUS: t.CDefine = 8 +SHADOW_ENABLED: t.CDefine = False +SHADOW_LEFT: t.CDefine = 8 +SHADOW_RIGHT: t.CDefine = 12 +SHADOW_TOP: t.CDefine = 4 +SHADOW_BOTTOM: t.CDefine = 14 +SHADOW_ALPHA: t.CDefine = 100 +CURSOR_SHADOW_ALPHA: t.CDefine = 50 + +STYLE_CLASSIC: t.CDefine = 0 +STYLE_WIN10: t.CDefine = 1 +STYLE_WIN11: t.CDefine = 2 +STYLE_WIN7: t.CDefine = 3 +STYLE_WINXP: t.CDefine = 4 + +_fb: UINT32PTR +_screen_w: t.CInt = 0 +_screen_h: t.CInt = 0 +_fb_pitch: t.CInt = 0 +_cursor_x: t.CInt = 512 +_cursor_y: t.CInt = 300 +_cursor_buttons: t.CUInt8T = 0 +_back_fb: UINT32PTR +_last_time_sec: t.CUInt32T = 0 +_row_buf: UINT32PTR +_bg_row_buf: UINT32PTR +@t.Object +class AppWindow: + active: t.CInt + x: t.CInt + y: t.CInt + w: t.CInt + h: t.CInt + title: t.CArray[t.CChar, 32] + orig_title: t.CArray[t.CChar, 32] + content_h: t.CInt + fb: UINT32PTR + fb_w: t.CInt + fb_h: t.CInt + z_order: t.CInt + style: t.CInt + close_hover: t.CInt + min_hover: t.CInt + max_hover: t.CInt + is_maximized: t.CInt + orig_x: t.CInt + orig_y: t.CInt + orig_w: t.CInt + orig_h: t.CInt + pid: t.CInt + cursor_type: t.CInt + app_cursor_type: t.CInt + ping_pending: t.CInt + no_resp: t.CInt + no_resp_sec: t.CUInt32T + minimized: t.CInt + resizable_w: t.CInt + resizable_h: t.CInt + resize_w: t.CInt + resize_h: t.CInt + old_fb: UINT32PTR + +_wins: t.CArray[AppWindow, MAX_APP_WINDOWS] +_win_count: t.CInt = 0 +_next_z: t.CInt = 1 +_current_app_pid: t.CInt = 0 +HB_INTERVAL_SEC: t.CUInt32T = 5 +HB_NO_RESP_SEC: t.CUInt32T = 30 +_hb_last_sec: t.CUInt32T = 0 +_dirty_rows: t.CUInt8T | t.CPtr = t.CUInt8T(0, t.CPtr) +_dirty_count: t.CInt = 0 +_dirty_y_min: t.CInt = 0 +_dirty_y_max: t.CInt = -1 +_vblank_ok: t.CInt = -1 +_prev_cursor_x: t.CInt = 512 +_prev_cursor_y: t.CInt = 300 +_cursor_save_buf: t.CArray[t.CUInt32T, 256] +_cursor_saved: t.CInt = 0 + +_CURSOR_ARROW: t.CArray[t.CUInt8T, 256] = [ + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0, + 1,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0, + 1,2,2,2,2,2,1,0,0,0,0,0,0,0,0,0, + 1,2,2,2,2,2,2,1,0,0,0,0,0,0,0,0, + 1,2,2,2,2,2,2,2,1,0,0,0,0,0,0,0, + 1,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0, + 1,2,2,2,1,1,1,1,1,1,0,0,0,0,0,0, + 1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0, + 1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +] + +_CURSOR_IBEAM: t.CArray[t.CUInt8T, 256] = [ + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, + 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0, +] + +_CURSOR_RESIZE_EW: t.CArray[t.CUInt8T, 256] = [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0, + 0,0,0,1,2,2,1,1,1,2,2,1,0,0,0,0, + 0,0,1,2,2,2,2,2,2,2,2,2,1,0,0,0, + 0,1,2,2,2,2,2,2,2,2,2,2,2,1,0,0, + 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0, + 0,1,2,2,2,2,2,2,2,2,2,2,2,1,0,0, + 0,0,1,2,2,2,2,2,2,2,2,2,1,0,0,0, + 0,0,0,1,2,2,1,1,1,2,2,1,0,0,0,0, + 0,0,0,0,1,1,1,0,1,1,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +] + +_CURSOR_RESIZE_NS: t.CArray[t.CUInt8T, 256] = [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,1,2,2,1,0,0,0,0,0,0,0,0,0, + 0,0,1,2,2,2,2,1,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,1,2,2,2,2,1,0,0,0,0,0,0,0,0, + 0,0,0,1,2,2,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +] + +_CURSOR_RESIZE_NWSE: t.CArray[t.CUInt8T, 256] = [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0, + 0,0,1,2,2,1,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,2,2,1,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,2,2,1,1,0,0,0,0,0,0,0, + 0,0,0,0,0,1,2,2,1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,1,2,2,1,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,2,2,1,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,2,2,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +] +_last_clock_sec: t.CUInt32T = 0 +_prev_btn: t.CUInt8T = 0 + +EVENT_QUEUE_SIZE: t.CDefine = 32 +EVENT_TYPE_NONE: t.CDefine = 0 +EVENT_TYPE_CLICK: t.CDefine = 1 +EVENT_TYPE_HOVER: t.CDefine = 2 +EVENT_TYPE_RELEASE: t.CDefine = 3 +EVENT_TYPE_HOVER_LEAVE: t.CDefine = 4 +EVENT_TYPE_KEY: t.CDefine = 5 +EVENT_TYPE_KEY_RELEASE: t.CDefine = 6 +EVENT_TYPE_PING: t.CDefine = 7 +EVENT_TYPE_RESIZE: t.CDefine = 8 + +RESIZE_EDGE_NONE: t.CDefine = 0 +RESIZE_EDGE_RIGHT: t.CDefine = 1 +RESIZE_EDGE_BOTTOM: t.CDefine = 2 +RESIZE_EDGE_CORNER: t.CDefine = 3 +RESIZE_BORDER: t.CDefine = 6 +RESIZE_MIN_W: t.CDefine = 100 +RESIZE_MIN_H: t.CDefine = 60 + +CURSOR_DEFAULT: t.CDefine = 0 +CURSOR_IBEAM: t.CDefine = 1 +CURSOR_RESIZE_EW: t.CDefine = 2 +CURSOR_RESIZE_NS: t.CDefine = 3 +CURSOR_RESIZE_NWSE: t.CDefine = 4 + +KEY_STATE_PRESS: t.CDefine = 1 +KEY_STATE_RELEASE: t.CDefine = 2 +KEY_STATE_REPEAT: t.CDefine = 3 + +TYPEMATIC_DELAY: t.CDefine = 500 +TYPEMATIC_RATE: t.CDefine = 40 + +HELD_KEY_MAX: t.CDefine = 8 + +class held_key_info(t.CStruct): + keycode: t.CUInt8T + is_usb: t.CUInt8T + press_time: t.CUInt64T + last_repeat: t.CUInt64T + +_held_keys: t.CArray[held_key_info, HELD_KEY_MAX] +_held_key_count: t.CInt = 0 + +@c.Attribute(t.attr.packed) +class InputEvent: + type: t.CUInt32T + win_id: t.CInt + x: t.CInt + y: t.CInt + button: t.CUInt8T + _pad0: t.CUInt8T + _pad1: t.CUInt8T + _pad2: t.CUInt8T + +INPUT_EVENT_SIZE: t.CDefine = 20 + +_event_queue: t.CArray[InputEvent, EVENT_QUEUE_SIZE] +_event_head: t.CInt = 0 +_event_tail: t.CInt = 0 +_last_hover_win: t.CInt = -1 +_focused_win: t.CInt = -1 + +KBD_DEV_PS2: t.CDefine = 0 +KBD_DEV_USB: t.CDefine = 1 + +_ps2_shift_l: t.CUInt8T = 0 +_ps2_shift_r: t.CUInt8T = 0 +_ps2_caps: t.CUInt8T = 0 +_ps2_e0_pending: t.CUInt8T = 0 +_kbd_irq_masked: t.CInt = 0 + +VK_LEFT: t.CDefine = -1 +VK_RIGHT: t.CDefine = -2 +VK_UP: t.CDefine = -3 +VK_DOWN: t.CDefine = -4 +VK_HOME: t.CDefine = -5 +VK_END: t.CDefine = -6 +VK_DELETE: t.CDefine = -7 + +_ps2_set1: t.CArray[t.CChar, 128] = [ + '\0', '\x1b', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\b', + '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', + '\0', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', "'", '`', '\0', + '\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '\0', '\0', '\0', ' ', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '-', '\0', '\0', '\0', '\0', + '\0', '+', '\0', '\0', '\0', '0', '.', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0' +] + +_ps2_set1_shift: t.CArray[t.CChar, 128] = [ + '\0', '\x1b', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '\b', + '\t', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', '\n', + '\0', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', '"', '~', '\0', + '|', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '<', '>', '?', '\0', '\0', '\0', ' ', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '-', '\0', '\0', '\0', '\0', + '\0', '+', '\0', '\0', '\0', '0', '.', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', + '\0' +] + +def _ps2_scancode_to_ascii(scancode: t.CUInt8T) -> t.CInt: + code: t.CUInt8T = scancode & t.CUInt8T(0x7F) + if code >= 128: return 0 + shifted: t.CInt = 0 + if (_ps2_shift_l or _ps2_shift_r) != 0: + shifted = 1 + if _ps2_caps != 0: + if code >= 0x10 and code <= 0x32: + shifted = shifted ^ 1 + if shifted: + return t.CInt(_ps2_set1_shift[code]) + return t.CInt(_ps2_set1[code]) + + +def _push_event(evt: InputEvent): + global _event_head, _event_tail + if evt.type == EVENT_TYPE_RESIZE: + i: t.CInt = _event_head + while i != _event_tail: + if _event_queue[i].type == EVENT_TYPE_RESIZE and _event_queue[i].win_id == evt.win_id: + _event_queue[i].type = EVENT_TYPE_NONE + i = (i + 1) % EVENT_QUEUE_SIZE + next_tail: t.CInt = (_event_tail + 1) % EVENT_QUEUE_SIZE + if next_tail == _event_head: + _event_head = (_event_head + 1) % EVENT_QUEUE_SIZE + string.memcpy(c.Addr(_event_queue[_event_tail]), c.Addr(evt), INPUT_EVENT_SIZE) + _event_tail = next_tail + +def poll_event(buf_ptr: t.CVoid | t.CPtr, caller_pid: t.CInt) -> t.CInt: + global _event_head, _event_tail + while _event_head != _event_tail: + if _event_queue[_event_head].type == EVENT_TYPE_NONE: + _event_head = (_event_head + 1) % EVENT_QUEUE_SIZE + continue + evt_win: t.CInt = _event_queue[_event_head].win_id + evt_pid: t.CInt = 0 + win_ok: t.CInt = 0 + if evt_win >= 0 and evt_win < _win_count: + evt_pid = _wins[evt_win].pid + win_ok = 1 + if evt_pid == caller_pid: + string.memcpy(buf_ptr, c.Addr(_event_queue[_event_head]), INPUT_EVENT_SIZE) + _event_head = (_event_head + 1) % EVENT_QUEUE_SIZE + return 1 + if win_ok and not _wins[evt_win].active: + _event_head = (_event_head + 1) % EVENT_QUEUE_SIZE + continue + scan: t.CInt = (_event_head + 1) % EVENT_QUEUE_SIZE + while scan != _event_tail: + if _event_queue[scan].type == EVENT_TYPE_NONE: + scan = (scan + 1) % EVENT_QUEUE_SIZE + continue + evt_win2: t.CInt = _event_queue[scan].win_id + evt_pid2: t.CInt = 0 + if evt_win2 >= 0 and evt_win2 < _win_count: + evt_pid2 = _wins[evt_win2].pid + if evt_pid2 == caller_pid: + string.memcpy(buf_ptr, c.Addr(_event_queue[scan]), INPUT_EVENT_SIZE) + i: t.CInt = scan + while i != _event_tail: + next_i: t.CInt = (i + 1) % EVENT_QUEUE_SIZE + if next_i != _event_head: + string.memcpy(c.Addr(_event_queue[i]), c.Addr(_event_queue[next_i]), INPUT_EVENT_SIZE) + i = next_i + if _event_tail == 0: + _event_tail = EVENT_QUEUE_SIZE - 1 + else: + _event_tail = _event_tail - 1 + return 1 + scan = (scan + 1) % EVENT_QUEUE_SIZE + break + return 0 + +def _get_title_height(style: t.CInt) -> t.CInt: + if style == STYLE_CLASSIC: + return TITLE_HEIGHT_CLASSIC + return TITLE_HEIGHT_WIN + +def _mark_rows_dirty(start_y: t.CInt, count: t.CInt): + global _dirty_count, _dirty_y_min, _dirty_y_max + for i in range(start_y, start_y + count): + if i >= 0 and i < _screen_h: + if not _dirty_rows[i]: + _dirty_rows[i] = 1 + _dirty_count += 1 + if i < _dirty_y_min or _dirty_count == 1: + _dirty_y_min = i + if i > _dirty_y_max or _dirty_count == 1: + _dirty_y_max = i + +def _mark_all_dirty(): + global _dirty_count, _dirty_y_min, _dirty_y_max + string.memset(_dirty_rows, 1, _screen_h) + _dirty_count = _screen_h + _dirty_y_min = 0 + _dirty_y_max = _screen_h - 1 + +def _has_dirty_rows() -> t.CInt: + return _dirty_count + +def _clear_dirty_flags(): + global _dirty_count, _dirty_y_min, _dirty_y_max + string.memset(_dirty_rows, 0, _screen_h) + _dirty_count = 0 + _dirty_y_min = _screen_h + _dirty_y_max = -1 + +def _wait_vblank(): + global _vblank_ok + if _vblank_ok == 0: + return + timeout: t.CInt = 50000 + while (asm.inb(0x3DA) & 0x08) != 0: + timeout -= 1 + if timeout <= 0: + _vblank_ok = 0 + return + while (asm.inb(0x3DA) & 0x08) == 0: + timeout -= 1 + if timeout <= 0: + _vblank_ok = 0 + return + _vblank_ok = 1 + +def _fill_rect(buf: UINT32PTR, bw: t.CInt, bh: t.CInt, rx: t.CInt, ry: t.CInt, rw: t.CInt, rh: t.CInt, color: t.CUInt32T): + if rx < 0: rw += rx; rx = 0 + if ry < 0: rh += ry; ry = 0 + if rx + rw > bw: rw = bw - rx + if ry + rh > bh: rh = bh - ry + if rw <= 0 or rh <= 0: return + if _row_buf: + for i in range(rw): + _row_buf[i] = color + row_bytes: t.CInt = rw * 4 + for py in range(ry, ry + rh): + string.memcpy(t.CVoid(t.CUInt64T(buf) + (py * bw + rx) * 4, t.CPtr), _row_buf, row_bytes) + +def _alpha_blend(bg: t.CUInt32T, fg: t.CUInt32T, alpha: t.CInt) -> t.CUInt32T: + a: t.CInt = alpha + ia: t.CInt = 255 - a + bg_r: t.CInt = t.CInt(bg & 0xFF) + bg_g: t.CInt = t.CInt((bg >> 8) & 0xFF) + bg_b: t.CInt = t.CInt((bg >> 16) & 0xFF) + fg_r: t.CInt = t.CInt(fg & 0xFF) + fg_g: t.CInt = t.CInt((fg >> 8) & 0xFF) + fg_b: t.CInt = t.CInt((fg >> 16) & 0xFF) + r: t.CInt = (fg_r * a + bg_r * ia) >> 8 + g: t.CInt = (fg_g * a + bg_g * ia) >> 8 + b: t.CInt = (fg_b * a + bg_b * ia) >> 8 + return t.CUInt32T(r | (g << 8) | (b << 16) | 0xFF000000) + +def _is_in_corner(px: t.CInt, py: t.CInt, cx: t.CInt, cy: t.CInt, r: t.CInt) -> t.CInt: + dx: t.CInt = px - cx + dy: t.CInt = py - cy + if dx < 0: dx = -dx + if dy < 0: dy = -dy + if dx <= r and dy <= r: + dist2: t.CInt = dx * dx + dy * dy + r2: t.CInt = r * r + if dist2 > r2: + return 0 + return 1 + +def _is_on_border(rx: t.CInt, ry: t.CInt, ww: t.CInt, wh: t.CInt, r: t.CInt) -> t.CInt: + if rx == 0 or rx == ww - 1 or ry == 0 or ry == wh - 1: + return 1 + if ry < r: + if rx < r: + dx: t.CInt = rx - r + dy: t.CInt = ry - r + dist2: t.CInt = dx * dx + dy * dy + if dist2 >= (r - 1) * (r - 1): return 1 + elif rx >= ww - r: + dx = rx - (ww - r - 1) + dy = ry - r + dist2 = dx * dx + dy * dy + if dist2 >= (r - 1) * (r - 1): return 1 + elif ry >= wh - r: + if rx < r: + dx = rx - r + dy = ry - (wh - r - 1) + dist2 = dx * dx + dy * dy + if dist2 >= (r - 1) * (r - 1): return 1 + elif rx >= ww - r: + dx = rx - (ww - r - 1) + dy = ry - (wh - r - 1) + dist2 = dx * dx + dy * dy + if dist2 >= (r - 1) * (r - 1): return 1 + return 0 + +def _corner_alpha(px: t.CInt, py: t.CInt, cx: t.CInt, cy: t.CInt, r: t.CInt) -> t.CInt: + dx: t.CInt = px - cx + dy: t.CInt = py - cy + if dx < 0: dx = -dx + if dy < 0: dy = -dy + if dx <= r and dy <= r: + dist2: t.CInt = dx * dx + dy * dy + r2: t.CInt = r * r + if dist2 > r2: + return 0 + outer: t.CInt = (r + 1) * (r + 1) + if dist2 >= outer: + return 160 + return 255 + return 255 + +def _draw_char(buf: UINT32PTR, bw: t.CInt, bh: t.CInt, x: t.CInt, y: t.CInt, ch: t.CChar, color: t.CUInt32T): + cval: t.CUInt8T = t.CUInt8T(ch) + if cval >= 128: cval = 0 + for fy in range(16): + if y + fy < 0 or y + fy >= bh: continue + row: t.CUInt8T = vga.font[cval][fy] + if row == 0: continue + for fx in range(8): + if row & (0x80 >> fx): + px: t.CInt = x + fx + if px >= 0 and px < bw: + buf[(y + fy) * bw + px] = color + +def _draw_text(buf: UINT32PTR, bw: t.CInt, bh: t.CInt, x: t.CInt, y: t.CInt, s: t.CConst | str, color: t.CUInt32T): + cx: t.CInt = x + cy: t.CInt = y + for ch in s: + if ch == 10: + cy += 16 + cx = x + else: + _draw_char(buf, bw, bh, cx, cy, ch, color) + cx += 8 + +_drag_idx: t.CInt = -1 + +def _eff_w(aw2: AppWindow | t.CPtr) -> t.CInt: + if aw2.resize_w != 0: return aw2.resize_w + return aw2.w + +def _eff_h(aw2: AppWindow | t.CPtr) -> t.CInt: + if aw2.resize_h != 0: return aw2.resize_h + return aw2.content_h +_drag_off_x: t.CInt = 0 +_drag_off_y: t.CInt = 0 +_rsz_drag_idx: t.CInt = -1 +_rsz_edge: t.CInt = 0 +_rsz_start_x: t.CInt = 0 +_rsz_start_y: t.CInt = 0 +_rsz_start_w: t.CInt = 0 +_rsz_start_h: t.CInt = 0 +_rsz_last_w: t.CInt = 0 +_rsz_last_h: t.CInt = 0 +_rsz_last_tick: t.CUInt64T = 0 +_mouse_moved: t.CInt = 0 + +def _bring_to_front(idx: t.CInt): + global _next_z + if idx < 0 or idx >= _win_count: return + aw: AppWindow | t.CPtr = c.Addr(_wins[idx]) + if not aw.active or aw.minimized: return + _next_z += 1 + aw.z_order = _next_z + +def _hit_test_window(mx: t.CInt, my: t.CInt) -> t.CInt: + best: t.CInt = -1 + best_z: t.CInt = -1 + for ai in range(_win_count): + if _wins[ai].active and not _wins[ai].minimized: + ax: t.CInt = _wins[ai].x + ay: t.CInt = _wins[ai].y + aw: t.CInt = _eff_w(c.Addr(_wins[ai])) + ah: t.CInt = _wins[ai].h + if mx >= ax and mx < ax + aw and my >= ay and my < ay + ah: + z: t.CInt = _wins[ai].z_order + if z > best_z: + best_z = z + best = ai + return best + +def _hit_test_resize(mx: t.CInt, my: t.CInt, idx: t.CInt) -> t.CInt: + if idx < 0 or idx >= _win_count: return RESIZE_EDGE_NONE + aw: AppWindow | t.CPtr = c.Addr(_wins[idx]) + if not aw.active or aw.minimized: return RESIZE_EDGE_NONE + if not aw.resizable_w and not aw.resizable_h: return RESIZE_EDGE_NONE + on_right: t.CInt = 0 + on_bottom: t.CInt = 0 + if aw.resizable_w: + if mx >= aw.x + _eff_w(aw) - RESIZE_BORDER and mx < aw.x + _eff_w(aw): + on_right = 1 + if aw.resizable_h: + if my >= aw.y + aw.h - RESIZE_BORDER and my < aw.y + aw.h: + on_bottom = 1 + if on_right and on_bottom: return RESIZE_EDGE_CORNER + if on_right: return RESIZE_EDGE_RIGHT + if on_bottom: return RESIZE_EDGE_BOTTOM + return RESIZE_EDGE_NONE + +def _hid_to_ascii(keycode: t.CUInt8T, modifier: t.CUInt8T) -> t.CInt: + global _ps2_caps + shift: t.CInt = 0 + if (modifier & 0x22) != 0: + shift = 1 + kc: t.CInt = t.CInt(keycode) + if kc >= 4 and kc <= 29: + if _ps2_caps != 0: + shift = shift ^ 1 + if shift: + return kc - 4 + 65 + return kc - 4 + 97 + if kc >= 30 and kc <= 38: + if shift: + shifts9: t.CArray[t.CInt, 9] + shifts9[0] = 33; shifts9[1] = 64; shifts9[2] = 35 + shifts9[3] = 36; shifts9[4] = 37; shifts9[5] = 94 + shifts9[6] = 38; shifts9[7] = 42; shifts9[8] = 40 + return shifts9[kc - 30] + return kc - 30 + 49 + if kc == 39: + if shift: return 41 + return 48 + if kc == 44: return 32 + if kc == 40: return 13 + if kc == 42: return 8 + if kc == 43: return 9 + if kc == 41: return 27 + if kc == 45: + if shift: return 95 + return 45 + if kc == 46: + if shift: return 43 + return 61 + if kc == 47: + if shift: return 123 + return 91 + if kc == 48: + if shift: return 125 + return 93 + if kc == 49: + if shift: return 124 + return 92 + if kc == 51: + if shift: return 58 + return 59 + if kc == 52: + if shift: return 34 + return 39 + if kc == 53: + if shift: return 126 + return 96 + if kc == 54: + if shift: return 60 + return 44 + if kc == 55: + if shift: return 62 + return 46 + if kc == 56: + if shift: return 63 + return 47 + return 0 + +def _held_key_add(keycode: t.CUInt8T, is_usb: t.CUInt8T): + global _held_key_count + if _held_key_count >= HELD_KEY_MAX: return + for i in range(_held_key_count): + if _held_keys[i].keycode == keycode and _held_keys[i].is_usb == is_usb: + return + now: t.CUInt64T = timer.timer_get_ticks() + _held_keys[_held_key_count].keycode = keycode + _held_keys[_held_key_count].is_usb = is_usb + _held_keys[_held_key_count].press_time = now + _held_keys[_held_key_count].last_repeat = now + _held_key_count += 1 + +def _held_key_remove(keycode: t.CUInt8T, is_usb: t.CUInt8T): + global _held_key_count + for i in range(_held_key_count): + if _held_keys[i].keycode == keycode and _held_keys[i].is_usb == is_usb: + for j in range(i, _held_key_count - 1): + _held_keys[j].keycode = _held_keys[j + 1].keycode + _held_keys[j].is_usb = _held_keys[j + 1].is_usb + _held_keys[j].press_time = _held_keys[j + 1].press_time + _held_keys[j].last_repeat = _held_keys[j + 1].last_repeat + _held_key_count -= 1 + return + +def _check_key_repeat(): + global _held_key_count + if _focused_win < 0 or _focused_win >= _win_count: return + if not _wins[_focused_win].active: return + now: t.CUInt64T = timer.timer_get_ticks() + for i in range(_held_key_count): + hk: held_key_info | t.CPtr = c.Addr(_held_keys[i]) + elapsed: t.CUInt64T = now - hk.press_time + if elapsed < t.CUInt64T(TYPEMATIC_DELAY): + continue + since_last: t.CUInt64T = now - hk.last_repeat + if since_last >= t.CUInt64T(TYPEMATIC_RATE): + hk.last_repeat = now + ascii_ch: t.CInt = 0 + if hk.is_usb: + mod: t.CUInt8T = 0 + if _ps2_shift_l or _ps2_shift_r: + mod = mod | 0x22 + if _ps2_caps: + mod = mod | 0x01 + ascii_ch = _hid_to_ascii(hk.keycode, mod) + else: + ascii_ch = _ps2_scancode_to_ascii(hk.keycode) + if ascii_ch != 0: + rep_evt: InputEvent + rep_evt.type = EVENT_TYPE_KEY + rep_evt.win_id = _focused_win + rep_evt.x = ascii_ch + rep_evt.y = t.CInt(hk.keycode) + rep_evt.button = KEY_STATE_REPEAT + rep_evt._pad0 = 0 + rep_evt._pad1 = 0 + rep_evt._pad2 = 0 + _push_event(rep_evt) + +def _update_keyboard(): + global _focused_win, _kbd_irq_masked + global _ps2_shift_l, _ps2_shift_r, _ps2_caps + global _ps2_e0_pending + # Quick check: skip if no PS/2 data and no USB data + ps2_status: t.CUInt8T = asm.inb(0x64) + if (ps2_status & 0x01) == 0 and not usb_kbd.has_data(): + _check_key_repeat() + return + if _kbd_irq_masked == 0: + pic.clearMask(1) + _kbd_irq_masked = 1 + kbd_cnt: t.CInt = 0 + while usb_kbd.has_data() and kbd_cnt < 32: + kbd_cnt += 1 + kevt: usb_kbd.usb_kbd_event + usb_kbd.read_event(c.Addr(kevt)) + if kevt.keycode == 0x39 and kevt.event_type == usb_kbd.KBD_EVT_PRESS: + _ps2_caps = _ps2_caps ^ t.CUInt8T(1) + if kevt.event_type == usb_kbd.KBD_EVT_PRESS: + _held_key_add(kevt.keycode, 1) + usb_ascii: t.CInt = _hid_to_ascii(kevt.keycode, kevt.modifier) + if usb_ascii == 0: + kc2: t.CInt = t.CInt(kevt.keycode) + if kc2 == 0x50: usb_ascii = VK_LEFT + elif kc2 == 0x4F: usb_ascii = VK_RIGHT + elif kc2 == 0x52: usb_ascii = VK_UP + elif kc2 == 0x51: usb_ascii = VK_DOWN + elif kc2 == 0x4A: usb_ascii = VK_HOME + elif kc2 == 0x4D: usb_ascii = VK_END + elif kc2 == 0x4C: usb_ascii = VK_DELETE + if usb_ascii != 0 and _focused_win >= 0 and _focused_win < _win_count and _wins[_focused_win].active: + usb_evt: InputEvent + usb_evt.type = EVENT_TYPE_KEY + usb_evt.win_id = _focused_win + usb_evt.x = usb_ascii + usb_evt.y = t.CInt(kevt.keycode) + usb_evt.button = KEY_STATE_PRESS + usb_evt._pad0 = 0 + usb_evt._pad1 = 0 + usb_evt._pad2 = 0 + _push_event(usb_evt) + elif kevt.event_type == usb_kbd.KBD_EVT_RELEASE: + _held_key_remove(kevt.keycode, 1) + if _focused_win >= 0 and _focused_win < _win_count and _wins[_focused_win].active: + rel_evt: InputEvent + rel_evt.type = EVENT_TYPE_KEY_RELEASE + rel_evt.win_id = _focused_win + rel_evt.x = 0 + rel_evt.y = t.CInt(kevt.keycode) + rel_evt.button = KEY_STATE_RELEASE + rel_evt._pad0 = 0 + rel_evt._pad1 = 0 + rel_evt._pad2 = 0 + _push_event(rel_evt) + ps2_poll_count: t.CInt = 0 + while ps2_poll_count < 16: + ps2_status: t.CUInt8T = asm.inb(0x64) + if (ps2_status & 0x01) == 0: + break + if (ps2_status & 0x20) != 0: + asm.inb(0x60) + ps2_poll_count += 1 + continue + sc: t.CUInt8T = asm.inb(0x60) + ps2_poll_count += 1 + if sc == 0x00 or sc == 0xFA or sc == 0xFE or sc == 0xFF: + _ps2_e0_pending = 0 + continue + if sc == 0xE0: + _ps2_e0_pending = 1 + continue + if sc == 0xE1: + _ps2_e0_pending = 0 + continue + if _ps2_e0_pending != 0: + _ps2_e0_pending = 0 + e0_code: t.CUInt8T = sc & t.CUInt8T(0x7F) + if (sc & 0x80) != 0: + _held_key_remove(e0_code | 0x80, 0) + if _focused_win >= 0 and _focused_win < _win_count and _wins[_focused_win].active: + ps2_rel2: InputEvent + ps2_rel2.type = EVENT_TYPE_KEY_RELEASE + ps2_rel2.win_id = _focused_win + ps2_rel2.x = 0 + ps2_rel2.y = t.CInt(e0_code | 0x80) + ps2_rel2.button = KEY_STATE_RELEASE + ps2_rel2._pad0 = 0 + ps2_rel2._pad1 = 0 + ps2_rel2._pad2 = 0 + _push_event(ps2_rel2) + continue + vk: t.CInt = 0 + if e0_code == 0x4B: vk = VK_LEFT + elif e0_code == 0x4D: vk = VK_RIGHT + elif e0_code == 0x48: vk = VK_UP + elif e0_code == 0x50: vk = VK_DOWN + elif e0_code == 0x47: vk = VK_HOME + elif e0_code == 0x4F: vk = VK_END + elif e0_code == 0x53: vk = VK_DELETE + if vk != 0: + _held_key_add(e0_code | 0x80, 0) + if _focused_win >= 0 and _focused_win < _win_count and _wins[_focused_win].active: + e0_evt: InputEvent + e0_evt.type = EVENT_TYPE_KEY + e0_evt.win_id = _focused_win + e0_evt.x = vk + e0_evt.y = t.CInt(e0_code | 0x80) + e0_evt.button = KEY_STATE_PRESS + e0_evt._pad0 = 0 + e0_evt._pad1 = 0 + e0_evt._pad2 = 0 + _push_event(e0_evt) + continue + if sc == 0x2A: + _ps2_shift_l = 1 + continue + if sc == 0xAA: + _ps2_shift_l = 0 + continue + if sc == 0x36: + _ps2_shift_r = 1 + continue + if sc == 0xB6: + _ps2_shift_r = 0 + continue + if sc == 0x3A: + _ps2_caps = _ps2_caps ^ t.CUInt8T(1) + continue + if (sc & 0x80) != 0: + release_sc: t.CUInt8T = sc & t.CUInt8T(0x7F) + _held_key_remove(release_sc, 0) + if _focused_win >= 0 and _focused_win < _win_count and _wins[_focused_win].active: + ps2_rel: InputEvent + ps2_rel.type = EVENT_TYPE_KEY_RELEASE + ps2_rel.win_id = _focused_win + ps2_rel.x = 0 + ps2_rel.y = t.CInt(release_sc) + ps2_rel.button = KEY_STATE_RELEASE + ps2_rel._pad0 = 0 + ps2_rel._pad1 = 0 + ps2_rel._pad2 = 0 + _push_event(ps2_rel) + continue + _held_key_add(sc, 0) + ascii_ch: t.CInt = _ps2_scancode_to_ascii(sc) + if ascii_ch != 0 and _focused_win >= 0 and _focused_win < _win_count and _wins[_focused_win].active: + push_evt: InputEvent + push_evt.type = EVENT_TYPE_KEY + push_evt.win_id = _focused_win + push_evt.x = ascii_ch + push_evt.y = t.CInt(sc) + push_evt.button = KEY_STATE_PRESS + push_evt._pad0 = 0 + push_evt._pad1 = 0 + push_evt._pad2 = 0 + _push_event(push_evt) + _check_key_repeat() + +def set_cursor_type(win_id: t.CInt, cursor_t: t.CInt): + if win_id >= 0 and win_id < _win_count: + _wins[win_id].app_cursor_type = cursor_t + _wins[win_id].cursor_type = cursor_t + +def _update_mouse() -> t.CInt: + global _cursor_x, _cursor_y, _cursor_buttons + global _drag_idx, _drag_off_x, _drag_off_y + global _mouse_moved, _prev_btn, _last_hover_win, _focused_win + global _rsz_drag_idx, _rsz_edge, _rsz_start_x, _rsz_start_y + global _rsz_start_w, _rsz_start_h, _rsz_last_w, _rsz_last_h, _rsz_last_tick + moved: t.CInt = 0 + poll_cnt: t.CInt = 0 + while (mouse.has_data() or usb_mouse.has_data()) and poll_cnt < 32: + poll_cnt += 1 + pkt_dx: t.CInt32T = 0 + pkt_dy: t.CInt32T = 0 + pkt_btn: t.CUInt8T = 0 + if mouse.has_data(): + pkt: mouse.mouse_packet + mouse.read_packet(c.Addr(pkt)) + pkt_dx = t.CInt32T(pkt.dx) + pkt_dy = -t.CInt32T(pkt.dy) + pkt_btn = pkt.buttons + elif usb_mouse.has_data(): + upkt: usb_mouse.usb_mouse_packet + usb_mouse.read_packet(c.Addr(upkt)) + pkt_dx = t.CInt32T(upkt.dx) + pkt_dy = -t.CInt32T(upkt.dy) + pkt_btn = upkt.buttons + if pkt_dx != 0 or pkt_dy != 0: + _cursor_x = _cursor_x + pkt_dx + _cursor_y = _cursor_y + pkt_dy + if _cursor_x < 0: _cursor_x = 0 + if _cursor_y < 0: _cursor_y = 0 + if _cursor_x >= _screen_w: _cursor_x = _screen_w - 1 + if _cursor_y >= _screen_h: _cursor_y = _screen_h - 1 + moved = 1 + _mouse_moved = 1 + btn_down: t.CUInt8T = pkt_btn & 0x01 + prev_down: t.CUInt8T = _prev_btn & 0x01 + _cursor_buttons = pkt_btn + _prev_btn = pkt_btn + if btn_down and not prev_down: + hit_app: t.CInt = _hit_test_window(_cursor_x, _cursor_y) + if hit_app >= 0: + aw: AppWindow | t.CPtr = c.Addr(_wins[hit_app]) + th: t.CInt = _get_title_height(aw.style) + btn_w: t.CInt = CLOSE_BTN_SIZE + btn_h: t.CInt = CLOSE_BTN_SIZE + ew: t.CInt = _eff_w(aw) + btn_x: t.CInt = aw.x + ew - btn_w - 4 + btn_y: t.CInt = aw.y + (th - btn_h) // 2 + if aw.style == STYLE_WIN7: + btn_w = CLOSE_BTN_W7_W + btn_h = CLOSE_BTN_W7_H + btn_x = aw.x + ew - btn_w - 5 + btn_y = aw.y + (th - btn_h) // 2 + elif aw.style == STYLE_WINXP: + btn_w = CLOSE_BTN_XP_SZ + btn_h = CLOSE_BTN_XP_SZ + btn_x = aw.x + ew - btn_w - 5 + btn_y = aw.y + (th - btn_h) // 2 + elif aw.style == STYLE_WIN10 or aw.style == STYLE_WIN11: + btn_w = CLOSE_BTN_W_WIN + btn_h = th - 2 + btn_x = aw.x + ew - btn_w + btn_y = aw.y + 1 + if _cursor_x >= btn_x and _cursor_x < btn_x + btn_w and _cursor_y >= btn_y and _cursor_y < btn_y + btn_h: + aw.active = 0 + if _focused_win == hit_app: + _focused_win = -1 + j: t.CInt = _win_count - 1 + while j >= 0: + if _wins[j].active and not _wins[j].minimized: + _focused_win = j + break + j -= 1 + if _last_hover_win == hit_app: + _last_hover_win = -1 + _mark_all_dirty() + else: + max_bx2: t.CInt = btn_x - btn_w + if aw.style == STYLE_WIN7 or aw.style == STYLE_WINXP: + max_bx2 = btn_x - btn_w - 1 + if _cursor_x >= max_bx2 and _cursor_x < max_bx2 + btn_w and _cursor_y >= btn_y and _cursor_y < btn_y + btn_h: + if aw.is_maximized: + aw.is_maximized = 0 + aw.x = aw.orig_x + aw.y = aw.orig_y + aw.h = aw.orig_h + aw.resize_w = aw.orig_w + aw.resize_h = aw.orig_h - _get_title_height(aw.style) - 2 + else: + aw.is_maximized = 1 + aw.orig_x = aw.w + aw.orig_y = aw.y + aw.orig_w = aw.w + aw.orig_h = aw.h + aw.x = 0 + aw.y = 0 + tb_h_mx: t.CInt = TASKBAR_HEIGHT + aw.h = _screen_h - tb_h_mx + aw.resize_w = _screen_w + aw.resize_h = _screen_h - tb_h_mx - _get_title_height(aw.style) - 2 + rs_evt3: InputEvent + rs_evt3.type = EVENT_TYPE_RESIZE + rs_evt3.win_id = hit_app + rs_evt3.x = aw.resize_w + rs_evt3.y = aw.resize_h + rs_evt3.button = 0 + rs_evt3._pad0 = 0 + rs_evt3._pad1 = 0 + rs_evt3._pad2 = 0 + _push_event(rs_evt3) + _mark_all_dirty() + else: + min_bx2: t.CInt = max_bx2 - btn_w + if aw.style == STYLE_WIN7 or aw.style == STYLE_WINXP: + min_bx2 = max_bx2 - btn_w - 1 + if _cursor_x >= min_bx2 and _cursor_x < min_bx2 + btn_w and _cursor_y >= btn_y and _cursor_y < btn_y + btn_h: + aw.minimized = 1 + if _focused_win == hit_app: + _focused_win = -1 + j2: t.CInt = _win_count - 1 + while j2 >= 0: + if _wins[j2].active and not _wins[j2].minimized: + _focused_win = j2 + break + j2 -= 1 + _mark_all_dirty() + else: + re: t.CInt = _hit_test_resize(_cursor_x, _cursor_y, hit_app) + if re != RESIZE_EDGE_NONE: + _rsz_drag_idx = hit_app + _rsz_edge = re + _rsz_start_x = _cursor_x + _rsz_start_y = _cursor_y + _rsz_start_w = _eff_w(aw) + _rsz_start_h = aw.h + _rsz_last_w = _eff_w(aw) + _rsz_last_h = aw.h + _rsz_last_tick = timer.timer_get_ticks() + _bring_to_front(hit_app) + _focused_win = hit_app + _mark_all_dirty() + elif _cursor_y >= aw.y and _cursor_y < aw.y + th: + _drag_idx = hit_app + _drag_off_x = _cursor_x - aw.x + _drag_off_y = _cursor_y - aw.y + _bring_to_front(hit_app) + _focused_win = hit_app + _mark_all_dirty() + else: + _bring_to_front(hit_app) + _focused_win = hit_app + _mark_all_dirty() + evt: InputEvent + evt.type = EVENT_TYPE_CLICK + evt.win_id = hit_app + evt.x = _cursor_x - aw.x + evt.y = _cursor_y - aw.y - _get_title_height(aw.style) + evt.button = 1 + evt._pad0 = 0 + evt._pad1 = 0 + evt._pad2 = 0 + _push_event(evt) + else: + tb_h_cl: t.CInt = TASKBAR_HEIGHT + bar_y2: t.CInt = _screen_h - tb_h_cl + if _cursor_y >= bar_y2: + logo_x2: t.CInt = 4 + logo_sz2: t.CInt = TASKBAR_LOGO_SZ + logo_r2: t.CInt = logo_x2 + logo_sz2 + logo_b2: t.CInt = bar_y2 + tb_h_cl + if _cursor_x >= logo_x2 and _cursor_x < logo_r2 and _cursor_y >= bar_y2 and _cursor_y < logo_b2: + if _focused_win >= 0 and _focused_win < _win_count: + if _wins[_focused_win].active: + _wins[_focused_win].active = 0 + _focused_win = -1 + _mark_all_dirty() + else: + icon_sz2: t.CInt = TASKBAR_ICON_SZ + icon_pad2: t.CInt = TASKBAR_ICON_PAD + icon_x2: t.CInt = logo_x2 + logo_sz2 + 80 + icon_cnt2: t.CInt = 0 + for ti2 in range(_win_count): + if _wins[ti2].active: + ix2: t.CInt = icon_x2 + icon_cnt2 * (icon_sz2 + icon_pad2) + iy2: t.CInt = bar_y2 + (tb_h_cl - icon_sz2) // 2 + if _cursor_x >= ix2 and _cursor_x < ix2 + icon_sz2 and _cursor_y >= iy2 and _cursor_y < iy2 + icon_sz2: + if _wins[ti2].minimized: + _wins[ti2].minimized = 0 + _bring_to_front(ti2) + _focused_win = ti2 + elif _focused_win == ti2: + _wins[ti2].minimized = 1 + _focused_win = -1 + for j3 in range(_win_count - 1, -1, -1): + if _wins[j3].active and not _wins[j3].minimized: + _focused_win = j3 + break + else: + _bring_to_front(ti2) + _focused_win = ti2 + _mark_all_dirty() + break + icon_cnt2 += 1 + if not btn_down: + if prev_down: + if _rsz_drag_idx >= 0: + rs_aw: AppWindow | t.CPtr = c.Addr(_wins[_rsz_drag_idx]) + final_w: t.CInt = _rsz_last_w + final_h: t.CInt = _rsz_last_h + old_h_mu: t.CInt = _eff_h(rs_aw) + _get_title_height(rs_aw.style) + 2 + _mark_rows_dirty(rs_aw.y, old_h_mu) + final_ch: t.CInt = final_h - _get_title_height(rs_aw.style) - 2 + rs_aw.resize_w = final_w + rs_aw.resize_h = final_ch + rs_aw.h = final_h + _mark_rows_dirty(rs_aw.y, final_h) + rs_evt: InputEvent + rs_evt.type = EVENT_TYPE_RESIZE + rs_evt.win_id = _rsz_drag_idx + rs_evt.x = final_w + rs_evt.y = final_ch + rs_evt.button = 0 + rs_evt._pad0 = 0 + rs_evt._pad1 = 0 + rs_evt._pad2 = 0 + _push_event(rs_evt) + _rsz_drag_idx = -1 + _rsz_edge = RESIZE_EDGE_NONE + else: + rel_hit: t.CInt = _hit_test_window(_cursor_x, _cursor_y) + if rel_hit >= 0: + aw_rel: AppWindow | t.CPtr = c.Addr(_wins[rel_hit]) + rel_evt: InputEvent + rel_evt.type = EVENT_TYPE_RELEASE + rel_evt.win_id = rel_hit + rel_evt.x = _cursor_x - aw_rel.x + rel_evt.y = _cursor_y - aw_rel.y - _get_title_height(aw_rel.style) + rel_evt.button = 0 + rel_evt._pad0 = 0 + rel_evt._pad1 = 0 + rel_evt._pad2 = 0 + _push_event(rel_evt) + if _drag_idx >= 0: + moved = 1 + _mark_rows_dirty(_wins[_drag_idx].y, _wins[_drag_idx].h) + _drag_idx = -1 + if moved and _drag_idx < 0: + hit_hov: t.CInt = _hit_test_window(_cursor_x, _cursor_y) + if hit_hov >= 0: + if _last_hover_win >= 0 and _last_hover_win != hit_hov and _last_hover_win < _win_count: + if _wins[_last_hover_win].active: + leave_evt3: InputEvent + leave_evt3.type = EVENT_TYPE_HOVER_LEAVE + leave_evt3.win_id = _last_hover_win + leave_evt3.x = -1 + leave_evt3.y = -1 + leave_evt3.button = 0 + leave_evt3._pad0 = 0 + leave_evt3._pad1 = 0 + leave_evt3._pad2 = 0 + _push_event(leave_evt3) + aw_hov: AppWindow | t.CPtr = c.Addr(_wins[hit_hov]) + th_hov: t.CInt = _get_title_height(aw_hov.style) + hov_evt: InputEvent + hov_evt.type = EVENT_TYPE_HOVER + hov_evt.win_id = hit_hov + hov_evt.x = _cursor_x - aw_hov.x + hov_evt.y = _cursor_y - aw_hov.y - th_hov + hov_evt.button = 0 + hov_evt._pad0 = 0 + hov_evt._pad1 = 0 + hov_evt._pad2 = 0 + _push_event(hov_evt) + _last_hover_win = hit_hov + re_hov: t.CInt = _hit_test_resize(_cursor_x, _cursor_y, hit_hov) + if re_hov == RESIZE_EDGE_RIGHT: + aw_hov.cursor_type = CURSOR_RESIZE_EW + elif re_hov == RESIZE_EDGE_BOTTOM: + aw_hov.cursor_type = CURSOR_RESIZE_NS + elif re_hov == RESIZE_EDGE_CORNER: + aw_hov.cursor_type = CURSOR_RESIZE_NWSE + else: + aw_hov.cursor_type = aw_hov.app_cursor_type + else: + if _last_hover_win >= 0 and _last_hover_win < _win_count: + if _wins[_last_hover_win].active: + leave_evt: InputEvent + leave_evt.type = EVENT_TYPE_HOVER_LEAVE + leave_evt.win_id = _last_hover_win + leave_evt.x = -1 + leave_evt.y = -1 + leave_evt.button = 0 + leave_evt._pad0 = 0 + leave_evt._pad1 = 0 + leave_evt._pad2 = 0 + _push_event(leave_evt) + _last_hover_win = -1 + if _drag_idx >= 0: + aw2: AppWindow | t.CPtr = c.Addr(_wins[_drag_idx]) + _drag_old_y: t.CInt = aw2.y + _mark_rows_dirty(_drag_old_y, aw2.h) + aw2.x = _cursor_x - _drag_off_x + aw2.y = _cursor_y - _drag_off_y + _mark_rows_dirty(aw2.y, aw2.h) + if _rsz_drag_idx >= 0: + rs_aw2: AppWindow | t.CPtr = c.Addr(_wins[_rsz_drag_idx]) + dx: t.CInt = _cursor_x - _rsz_start_x + dy: t.CInt = _cursor_y - _rsz_start_y + new_w: t.CInt = _rsz_start_w + new_h: t.CInt = _rsz_start_h + if _rsz_edge == RESIZE_EDGE_RIGHT or _rsz_edge == RESIZE_EDGE_CORNER: + new_w = _rsz_start_w + dx + if new_w < RESIZE_MIN_W: new_w = RESIZE_MIN_W + if _rsz_edge == RESIZE_EDGE_BOTTOM or _rsz_edge == RESIZE_EDGE_CORNER: + new_h = _rsz_start_h + dy + if new_h < RESIZE_MIN_H: new_h = RESIZE_MIN_H + if new_w != rs_aw2.w or new_h != rs_aw2.h: + dw: t.CInt = new_w - _rsz_last_w + if dw < 0: dw = -dw + dh: t.CInt = new_h - _rsz_last_h + if dh < 0: dh = -dh + now_tick: t.CUInt64T = timer.timer_get_ticks() + elapsed: t.CUInt64T = now_tick - _rsz_last_tick + need_update: t.CInt = 0 + if dw >= 32 or dh >= 32: + need_update = 1 + elif elapsed >= 100 and (dw >= 4 or dh >= 4): + need_update = 1 + if need_update: + _rsz_last_w = new_w + _rsz_last_h = new_h + _rsz_last_tick = now_tick + old_h_rs: t.CInt = _eff_h(rs_aw2) + _get_title_height(rs_aw2.style) + 2 + _mark_rows_dirty(rs_aw2.y, old_h_rs) + new_ch: t.CInt = new_h - _get_title_height(rs_aw2.style) - 2 + rs_aw2.resize_w = new_w + rs_aw2.resize_h = new_ch + rs_aw2.h = new_h + _mark_rows_dirty(rs_aw2.y, new_h) + rs_evt2: InputEvent + rs_evt2.type = EVENT_TYPE_RESIZE + rs_evt2.win_id = _rsz_drag_idx + rs_evt2.x = new_w + rs_evt2.y = new_ch + rs_evt2.button = 0 + rs_evt2._pad0 = 0 + rs_evt2._pad1 = 0 + rs_evt2._pad2 = 0 + _push_event(rs_evt2) + if not moved and _last_hover_win < 0: + hit_hov2: t.CInt = _hit_test_window(_cursor_x, _cursor_y) + if hit_hov2 >= 0 and _wins[hit_hov2].active: + aw_hov2: AppWindow | t.CPtr = c.Addr(_wins[hit_hov2]) + th_hov2: t.CInt = _get_title_height(aw_hov2.style) + hov_evt2: InputEvent + hov_evt2.type = EVENT_TYPE_HOVER + hov_evt2.win_id = hit_hov2 + hov_evt2.x = _cursor_x - aw_hov2.x + hov_evt2.y = _cursor_y - aw_hov2.y - th_hov2 + hov_evt2.button = 0 + hov_evt2._pad0 = 0 + hov_evt2._pad1 = 0 + hov_evt2._pad2 = 0 + _push_event(hov_evt2) + _last_hover_win = hit_hov2 + if not moved and _last_hover_win >= 0: + if _last_hover_win >= _win_count or not _wins[_last_hover_win].active: + leave_evt2: InputEvent + leave_evt2.type = EVENT_TYPE_HOVER_LEAVE + leave_evt2.win_id = _last_hover_win + leave_evt2.x = -1 + leave_evt2.y = -1 + leave_evt2.button = 0 + leave_evt2._pad0 = 0 + leave_evt2._pad1 = 0 + leave_evt2._pad2 = 0 + _push_event(leave_evt2) + _last_hover_win = -1 + return moved + +_render_count: t.CInt = 0 +_cached_top_win: t.CInt = -1 +_perf_t_mouse: t.CUInt64T = 0 +_perf_t_kbd: t.CUInt64T = 0 +_perf_t_render: t.CUInt64T = 0 +_perf_t_flush: t.CUInt64T = 0 +_perf_t_total: t.CUInt64T = 0 +_perf_frames: t.CUInt32T = 0 +_perf_start_ticks: t.CUInt64T = 0 +_perf_t_bg: t.CUInt64T = 0 +_perf_t_win: t.CUInt64T = 0 +_perf_t_cur: t.CUInt64T = 0 +_perf_t_fb: t.CUInt64T = 0 + +def _render(): + global _render_count, _cached_top_win + global _perf_t_bg, _perf_t_win, _perf_t_cur, _perf_t_fb + w: t.CInt = _screen_w + h: t.CInt = _screen_h + pitch: t.CInt = _fb_pitch + back: UINT32PTR = _back_fb + + _cached_top_win = _get_top_window() + + # No need to erase cursor - dirty row mechanism redraws background + windows from scratch + + t0: t.CUInt64T = timer.timer_get_ticks() + row_bytes: t.CInt = w * 4 + if _bg_row_buf and _dirty_count > 0: + py_bg: t.CInt = _dirty_y_min + while py_bg <= _dirty_y_max: + if _dirty_rows[py_bg]: + string.memcpy(t.CVoid(t.CUInt64T(back) + py_bg * row_bytes, t.CPtr), _bg_row_buf, row_bytes) + py_bg += 1 + t1: t.CUInt64T = timer.timer_get_ticks() + _perf_t_bg += (t1 - t0) + + _draw_taskbar(back) + + t2: t.CUInt64T = timer.timer_get_ticks() + sorted: t.CArray[t.CInt, MAX_APP_WINDOWS] + cnt: t.CInt = 0 + for si in range(_win_count): + if _wins[si].active and not _wins[si].minimized: + sorted[cnt] = si + cnt += 1 + for si in range(cnt - 1): + for sj in range(si + 1, cnt): + zi: t.CInt = _wins[sorted[si]].z_order + zj: t.CInt = _wins[sorted[sj]].z_order + if zi > zj: + tmp: t.CInt = sorted[si] + sorted[si] = sorted[sj] + sorted[sj] = tmp + for si in range(cnt): + _draw_app_window(back, c.Addr(_wins[sorted[si]])) + t3: t.CUInt64T = timer.timer_get_ticks() + _perf_t_win += (t3 - t2) + + # Mark cursor rows as dirty so cursor gets flushed to framebuffer + _mark_rows_dirty(_cursor_y, CURSOR_H) + + _draw_cursor(back) + t4: t.CUInt64T = timer.timer_get_ticks() + _perf_t_cur += (t4 - t3) + + _wait_vblank() + if _dirty_count > 0: + py_fb: t.CInt = _dirty_y_min + while py_fb <= _dirty_y_max: + if _dirty_rows[py_fb]: + run_start: t.CInt = py_fb + while py_fb <= _dirty_y_max and _dirty_rows[py_fb]: + py_fb += 1 + run_bytes: t.CInt = (py_fb - run_start) * row_bytes + string.memcpy(t.CVoid(t.CUInt64T(_fb) + run_start * pitch, t.CPtr), t.CVoid(t.CUInt64T(back) + run_start * row_bytes, t.CPtr), run_bytes) + else: + py_fb += 1 + t5: t.CUInt64T = timer.timer_get_ticks() + _perf_t_fb += (t5 - t4) + + _render_count += 1 + +def _draw_taskbar(back: UINT32PTR): + w: t.CInt = _screen_w + h: t.CInt = _screen_h + tb_h: t.CInt = TASKBAR_HEIGHT + bar_y: t.CInt = h - tb_h + if bar_y + tb_h <= _dirty_y_min or bar_y > _dirty_y_max: + return + bar_col: t.CUInt32T = gfx.COLOR_RGB(32, 32, 32) + line_col: t.CUInt32T = gfx.COLOR_RGB(60, 60, 60) + + _fill_rect(back, w, h, 0, bar_y, w, tb_h, bar_col) + _fill_rect(back, w, h, 0, bar_y, w, 1, line_col) + + logo_x: t.CInt = 4 + logo_sz: t.CInt = TASKBAR_LOGO_SZ + logo_y: t.CInt = bar_y + (tb_h - logo_sz) // 2 + lc1: t.CUInt32T = gfx.COLOR_RGB(80, 120, 220) + lc2: t.CUInt32T = gfx.COLOR_RGB(50, 80, 180) + lc3: t.CUInt32T = gfx.COLOR_RGB(100, 160, 255) + for lx in range(logo_sz): + for ly in range(logo_sz): + px: t.CInt = logo_x + lx + py: t.CInt = logo_y + ly + if px >= 0 and px < w and py >= 0 and py < h: + col: t.CUInt32T = lc2 + cx: t.CInt = logo_sz // 2 + cy: t.CInt = logo_sz // 2 + dx: t.CInt = lx - cx + dy: t.CInt = ly - cy + dist: t.CInt = dx * dx + dy * dy + r2: t.CInt = cx * cx + if dist <= r2: + col = lc1 + if dist <= r2 // 2: + col = lc3 + back[py * w + px] = col + + _draw_text(back, w, h, logo_x + logo_sz + 8, bar_y + (tb_h - 16) // 2, "ViperOS", 0xFFFFFFFF) + + icon_sz: t.CInt = TASKBAR_ICON_SZ + icon_pad: t.CInt = TASKBAR_ICON_PAD + icon_x: t.CInt = logo_x + logo_sz + 80 + icon_cnt: t.CInt = 0 + for ti in range(_win_count): + if _wins[ti].active: + ix: t.CInt = icon_x + icon_cnt * (icon_sz + icon_pad) + iy: t.CInt = bar_y + (tb_h - icon_sz) // 2 + is_focused: t.CInt = 1 if ti == _focused_win else 0 + is_minimized: t.CInt = _wins[ti].minimized + ic_bg: t.CUInt32T = gfx.COLOR_RGB(40, 40, 70) + if is_focused: + ic_bg = gfx.COLOR_RGB(60, 60, 120) + elif is_minimized: + ic_bg = gfx.COLOR_RGB(30, 30, 50) + _fill_rect(back, w, h, ix, iy, icon_sz, icon_sz, ic_bg) + ic_border: t.CUInt32T = gfx.COLOR_RGB(80, 80, 140) + if is_focused: + ic_border = gfx.COLOR_RGB(120, 120, 220) + _fill_rect(back, w, h, ix, iy, icon_sz, 1, ic_border) + _fill_rect(back, w, h, ix, iy + icon_sz - 1, icon_sz, 1, ic_border) + _fill_rect(back, w, h, ix, iy, 1, icon_sz, ic_border) + _fill_rect(back, w, h, ix + icon_sz - 1, iy, 1, icon_sz, ic_border) + if _wins[ti].title[0] != 0: + first_ch: t.CChar = _wins[ti].title[0] + ch_col: t.CUInt32T = 0xFFFFFFFF + if not is_focused: + ch_col = gfx.COLOR_RGB(180, 180, 200) + ch_x: t.CInt = ix + (icon_sz - 8) // 2 + ch_y: t.CInt = iy + (icon_sz - 16) // 2 + _draw_char(back, w, h, ch_x, ch_y, first_ch, ch_col) + icon_cnt += 1 + + if _render_count % 30 == 0: + rtc.rtc_read_time() + + hr: t.CUInt8T = rtc.rtc_get_hours() + mn: t.CUInt8T = rtc.rtc_get_minutes() + sc: t.CUInt8T = rtc.rtc_get_seconds() + day: t.CUInt8T = rtc.rtc_get_day() + mon: t.CUInt8T = rtc.rtc_get_month() + yr: t.CUInt16T = rtc.rtc_get_year() + time_buf: t.CArray[t.CChar, 64] + string.memset(c.Addr(time_buf), 0, 64) + viperlib.snprintf(c.Addr(time_buf), 64, "%04u-%02u-%02u %02u:%02u:%02u", t.CUnsignedInt(yr), t.CUnsignedInt(mon), t.CUnsignedInt(day), t.CUnsignedInt(hr), t.CUnsignedInt(mn), t.CUnsignedInt(sc)) + time_str_x: t.CInt = w - 180 + _draw_text(back, w, h, time_str_x, bar_y + (tb_h - 16) // 2, time_buf, 0xFFFFFFFF) + +def _draw_window_shadow(back: UINT32PTR, bw: t.CInt, bh: t.CInt, wx: t.CInt, wy: t.CInt, ww: t.CInt, wh: t.CInt, is_rounded: t.CInt, rad: t.CInt): + if not SHADOW_ENABLED: return + sl: t.CInt = SHADOW_LEFT + sr: t.CInt = SHADOW_RIGHT + st: t.CInt = SHADOW_TOP + sb: t.CInt = SHADOW_BOTTOM + sa: t.CInt = SHADOW_ALPHA + shadow_col: t.CUInt32T = gfx.COLOR_RGB(0, 0, 0) + for py in range(wy - st, wy + wh + sb): + if py >= 0 and py < bh: + if not _dirty_rows[py]: + continue + for px in range(wx - sl, wx + ww + sr): + if px >= 0 and px < bw: + in_win: t.CInt = 0 + if px >= wx and px < wx + ww and py >= wy and py < wy + wh: + in_win = 1 + if is_rounded: + rx: t.CInt = px - wx + ry: t.CInt = py - wy + if rx < rad and ry < rad: + if (rx - rad) * (rx - rad) + (ry - rad) * (ry - rad) > rad * rad: + in_win = 0 + elif rx >= ww - rad and ry < rad: + if (rx - (ww - rad - 1)) * (rx - (ww - rad - 1)) + (ry - rad) * (ry - rad) > rad * rad: + in_win = 0 + elif rx < rad and ry >= wh - rad: + if (rx - rad) * (rx - rad) + (ry - (wh - rad - 1)) * (ry - (wh - rad - 1)) > rad * rad: + in_win = 0 + elif rx >= ww - rad and ry >= wh - rad: + if (rx - (ww - rad - 1)) * (rx - (ww - rad - 1)) + (ry - (wh - rad - 1)) * (ry - (wh - rad - 1)) > rad * rad: + in_win = 0 + if in_win: + continue + cpx: t.CInt = px + if cpx < wx: cpx = wx + elif cpx > wx + ww - 1: cpx = wx + ww - 1 + cpy: t.CInt = py + if cpy < wy: cpy = wy + elif cpy > wy + wh - 1: cpy = wy + wh - 1 + if is_rounded and rad > 0: + if cpx < wx + rad and cpy < wy + rad: + acx: t.CInt = wx + rad + acy: t.CInt = wy + rad + adx: t.CInt = cpx - acx + ady: t.CInt = cpy - acy + ad_sq: t.CInt = adx * adx + ady * ady + if ad_sq > rad * rad and ad_sq > 0: + aax: t.CInt = adx + if aax < 0: aax = 0 - aax + aay: t.CInt = ady + if aay < 0: aay = 0 - aay + am: t.CInt = aax + if aay > am: am = aay + an: t.CInt = aax + if aay < an: an = aay + ad: t.CInt = am + (an * 3) / 8 + if ad > 0: + cpx = acx + (adx * rad) / ad + cpy = acy + (ady * rad) / ad + elif cpx >= wx + ww - rad and cpy < wy + rad: + acx = wx + ww - rad - 1 + acy = wy + rad + adx = cpx - acx + ady = cpy - acy + ad_sq = adx * adx + ady * ady + if ad_sq > rad * rad and ad_sq > 0: + aax = adx + if aax < 0: aax = 0 - aax + aay = ady + if aay < 0: aay = 0 - aay + am = aax + if aay > am: am = aay + an = aax + if aay < an: an = aay + ad = am + (an * 3) / 8 + if ad > 0: + cpx = acx + (adx * rad) / ad + cpy = acy + (ady * rad) / ad + elif cpx < wx + rad and cpy >= wy + wh - rad: + acx = wx + rad + acy = wy + wh - rad - 1 + adx = cpx - acx + ady = cpy - acy + ad_sq = adx * adx + ady * ady + if ad_sq > rad * rad and ad_sq > 0: + aax = adx + if aax < 0: aax = 0 - aax + aay = ady + if aay < 0: aay = 0 - aay + am = aax + if aay > am: am = aay + an = aax + if aay < an: an = aay + ad = am + (an * 3) / 8 + if ad > 0: + cpx = acx + (adx * rad) / ad + cpy = acy + (ady * rad) / ad + elif cpx >= wx + ww - rad and cpy >= wy + wh - rad: + acx = wx + ww - rad - 1 + acy = wy + wh - rad - 1 + adx = cpx - acx + ady = cpy - acy + ad_sq = adx * adx + ady * ady + if ad_sq > rad * rad and ad_sq > 0: + aax = adx + if aax < 0: aax = 0 - aax + aay = ady + if aay < 0: aay = 0 - aay + am = aax + if aay > am: am = aay + an = aax + if aay < an: an = aay + ad = am + (an * 3) / 8 + if ad > 0: + cpx = acx + (adx * rad) / ad + cpy = acy + (ady * rad) / ad + dx: t.CInt = px - cpx + dy: t.CInt = py - cpy + adx_d: t.CInt = dx + if adx_d < 0: adx_d = 0 - adx_d + ady_d: t.CInt = dy + if ady_d < 0: ady_d = 0 - ady_d + dist: t.CInt = adx_d + if ady_d > dist: dist = ady_d + dist = dist + ((adx_d + ady_d - dist) * 3) / 8 + me_x: t.CInt = sl + if dx > 0: me_x = sr + me_y: t.CInt = st + if dy > 0: me_y = sb + me: t.CInt = me_x + if adx_d + ady_d > 0: + me = (me_x * adx_d + me_y * ady_d) / (adx_d + ady_d) + if me > 0 and dist > 0 and dist < me: + t_val: t.CInt = (256 * dist) / me + t_inv: t.CInt = 256 - t_val + a: t.CInt = (sa * t_inv * t_inv) / 65536 + if a > 0: + back[py * bw + px] = _alpha_blend(back[py * bw + px], shadow_col, a) + +def _cursor_save_bg(back: UINT32PTR, cx: t.CInt, cy: t.CInt, w: t.CInt, h: t.CInt): + global _cursor_saved + cw: t.CInt = CURSOR_W + ch: t.CInt = CURSOR_H + for dy in range(ch): + for dx in range(cw): + sx: t.CInt = cx + dx + sy: t.CInt = cy + dy + if sx >= 0 and sx < w and sy >= 0 and sy < h: + _cursor_save_buf[dy * cw + dx] = back[sy * w + sx] + else: + _cursor_save_buf[dy * cw + dx] = 0 + _cursor_saved = 1 + +def _cursor_restore_bg(back: UINT32PTR, cx: t.CInt, cy: t.CInt, w: t.CInt, h: t.CInt): + global _cursor_saved + if _cursor_saved == 0: return + cw: t.CInt = CURSOR_W + ch: t.CInt = CURSOR_H + for dy in range(ch): + for dx in range(cw): + sx: t.CInt = cx + dx + sy: t.CInt = cy + dy + if sx >= 0 and sx < w and sy >= 0 and sy < h: + back[sy * w + sx] = _cursor_save_buf[dy * cw + dx] + _cursor_saved = 0 + +def _cursor_draw_bitmap(back: UINT32PTR, cx: t.CInt, cy: t.CInt, w: t.CInt, h: t.CInt, bmp: t.CArray[t.CUInt8T, 256]): + cw: t.CInt = CURSOR_W + ch: t.CInt = CURSOR_H + white: t.CUInt32T = gfx.COLOR_RGB(255, 255, 255) + black: t.CUInt32T = gfx.COLOR_RGB(0, 0, 0) + for dy in range(ch): + for dx in range(cw): + pixel: t.CUInt8T = bmp[dy * cw + dx] + if pixel != 0: + px: t.CInt = cx + dx + py: t.CInt = cy + dy + if px >= 0 and px < w and py >= 0 and py < h: + if pixel == 1: + back[py * w + px] = black + elif pixel == 2: + back[py * w + px] = white + +def _cursor_draw_xor(back: UINT32PTR, cx: t.CInt, cy: t.CInt, w: t.CInt, h: t.CInt, bmp: t.CArray[t.CUInt8T, 256]): + cw: t.CInt = CURSOR_W + ch: t.CInt = CURSOR_H + xor_val: t.CUInt32T = t.CUInt32T(0x00FFFFFF) + for dy in range(ch): + for dx in range(cw): + pixel: t.CUInt8T = bmp[dy * cw + dx] + if pixel != 0: + px: t.CInt = cx + dx + py: t.CInt = cy + dy + if px >= 0 and px < w and py >= 0 and py < h: + back[py * w + px] = back[py * w + px] ^ xor_val + +def _draw_cursor(back: UINT32PTR): + cx: t.CInt = _cursor_x + cy: t.CInt = _cursor_y + w: t.CInt = _screen_w + h: t.CInt = _screen_h + cur_type: t.CInt = CURSOR_DEFAULT + if _last_hover_win >= 0 and _last_hover_win < _win_count: + cur_type = _wins[_last_hover_win].cursor_type + if cur_type == CURSOR_IBEAM: + _cursor_draw_bitmap(back, cx, cy, w, h, _CURSOR_IBEAM) + elif cur_type == CURSOR_RESIZE_EW: + _cursor_draw_bitmap(back, cx, cy, w, h, _CURSOR_RESIZE_EW) + elif cur_type == CURSOR_RESIZE_NS: + _cursor_draw_bitmap(back, cx, cy, w, h, _CURSOR_RESIZE_NS) + elif cur_type == CURSOR_RESIZE_NWSE: + _cursor_draw_bitmap(back, cx, cy, w, h, _CURSOR_RESIZE_NWSE) + else: + _cursor_draw_bitmap(back, cx, cy, w, h, _CURSOR_ARROW) + +def _erase_cursor(back: UINT32PTR): + global _cursor_saved + if _cursor_saved == 0: return + _cursor_restore_bg(back, _prev_cursor_x, _prev_cursor_y, _screen_w, _screen_h) + +def desktop_thread(arg: t.CVoid | t.CPtr) -> t.CInt: + global _last_clock_sec, _mouse_moved + global _prev_cursor_x, _prev_cursor_y + global _perf_t_mouse, _perf_t_kbd, _perf_t_render, _perf_t_flush, _perf_t_total, _perf_frames, _perf_start_ticks + global _perf_t_bg, _perf_t_win, _perf_t_cur, _perf_t_fb + serial.puts("[desktop] thread started\n") + _mark_all_dirty() + _dt_hb_sec: t.CUInt32T = 0 + tb_h_dt: t.CInt = TASKBAR_HEIGHT + _perf_buf: t.CArray[t.CChar, 256] + _perf_start_ticks = timer.timer_get_ticks() + _kbd_poll_ticks: t.CUInt64T = 0 + _mouse_poll_ticks: t.CUInt64T = 0 + while True: + _loop_t0: t.CUInt64T = timer.timer_get_ticks() + # Poll mouse at most every 4ms to avoid excessive I/O port overhead + _now_ticks: t.CUInt64T = timer.timer_get_ticks() + if _now_ticks - _mouse_poll_ticks >= 4: + _mouse_poll_ticks = _now_ticks + _mt0: t.CUInt64T = timer.timer_get_ticks() + mouse_active: t.CInt = _update_mouse() + _mt1: t.CUInt64T = timer.timer_get_ticks() + _perf_t_mouse += (_mt1 - _mt0) + # Poll keyboard at most every 4ms to avoid excessive I/O port overhead + if _now_ticks - _kbd_poll_ticks >= 4: + _kbd_poll_ticks = _now_ticks + _kt0: t.CUInt64T = timer.timer_get_ticks() + _update_keyboard() + _kt1: t.CUInt64T = timer.timer_get_ticks() + _perf_t_kbd += (_kt1 - _kt0) + _heartbeat_check() + sched.Scheduler.try_reschedule() + _dt_cur_sec: t.CUInt32T = timer.timer_get_seconds() + if _dt_cur_sec != _dt_hb_sec: + _dt_hb_sec = _dt_cur_sec + cur_sec: t.CUInt32T = timer.timer_get_seconds() + if cur_sec != _last_clock_sec: + _last_clock_sec = cur_sec + _mark_rows_dirty(_screen_h - tb_h_dt, tb_h_dt) + if _mouse_moved: + _mouse_moved = 0 + sz: t.CInt = CURSOR_H + _mark_rows_dirty(_prev_cursor_y, sz) + _mark_rows_dirty(_cursor_y, sz) + _prev_cursor_x = _cursor_x + _prev_cursor_y = _cursor_y + top_win: t.CInt = _hit_test_window(_cursor_x, _cursor_y) + for ai in range(_win_count): + if _wins[ai].active and not _wins[ai].minimized: + th: t.CInt = _get_title_height(_wins[ai].style) + btn_w: t.CInt = CLOSE_BTN_SIZE + btn_h: t.CInt = CLOSE_BTN_SIZE + ew_hov: t.CInt = _eff_w(c.Addr(_wins[ai])) + btn_x: t.CInt = _wins[ai].x + ew_hov - btn_w - 4 + btn_y: t.CInt = _wins[ai].y + (th - btn_h) // 2 + if _wins[ai].style == STYLE_WIN7: + btn_w = CLOSE_BTN_W7_W + btn_h = CLOSE_BTN_W7_H + btn_x = _wins[ai].x + ew_hov - btn_w - 5 + btn_y = _wins[ai].y + (th - btn_h) // 2 + elif _wins[ai].style == STYLE_WINXP: + btn_w = CLOSE_BTN_XP_SZ + btn_h = CLOSE_BTN_XP_SZ + btn_x = _wins[ai].x + ew_hov - btn_w - 5 + btn_y = _wins[ai].y + (th - btn_h) // 2 + elif _wins[ai].style == STYLE_WIN10 or _wins[ai].style == STYLE_WIN11: + btn_w = CLOSE_BTN_W_WIN + btn_h = th - 2 + btn_x = _wins[ai].x + ew_hov - btn_w + btn_y = _wins[ai].y + 1 + max_bx3: t.CInt = btn_x - btn_w + if _wins[ai].style == STYLE_WIN7 or _wins[ai].style == STYLE_WINXP: + max_bx3 = btn_x - btn_w - 1 + min_bx3: t.CInt = max_bx3 - btn_w + if _wins[ai].style == STYLE_WIN7 or _wins[ai].style == STYLE_WINXP: + min_bx3 = max_bx3 - btn_w - 1 + is_over_close: t.CInt = 0 + is_over_max: t.CInt = 0 + is_over_min: t.CInt = 0 + if ai == top_win: + if _cursor_x >= btn_x and _cursor_x < btn_x + btn_w and _cursor_y >= btn_y and _cursor_y < btn_y + btn_h: + is_over_close = 1 + elif _cursor_x >= max_bx3 and _cursor_x < max_bx3 + btn_w and _cursor_y >= btn_y and _cursor_y < btn_y + btn_h: + is_over_max = 1 + elif _cursor_x >= min_bx3 and _cursor_x < min_bx3 + btn_w and _cursor_y >= btn_y and _cursor_y < btn_y + btn_h: + is_over_min = 1 + if is_over_close and _wins[ai].close_hover < 255: + _old_hov: t.CInt = _wins[ai].close_hover + _wins[ai].close_hover += 60 + if _wins[ai].close_hover > 255: + _wins[ai].close_hover = 255 + if _wins[ai].close_hover != _old_hov: + _mark_rows_dirty(btn_y, btn_h) + elif not is_over_close and _wins[ai].close_hover > 0: + _old_hov2: t.CInt = _wins[ai].close_hover + _wins[ai].close_hover -= 45 + if _wins[ai].close_hover < 0: + _wins[ai].close_hover = 0 + if _wins[ai].close_hover != _old_hov2: + _mark_rows_dirty(btn_y, btn_h) + if is_over_max and _wins[ai].max_hover < 255: + _old_mh: t.CInt = _wins[ai].max_hover + _wins[ai].max_hover += 60 + if _wins[ai].max_hover > 255: + _wins[ai].max_hover = 255 + if _wins[ai].max_hover != _old_mh: + _mark_rows_dirty(btn_y, btn_h) + elif not is_over_max and _wins[ai].max_hover > 0: + _old_mh2: t.CInt = _wins[ai].max_hover + _wins[ai].max_hover -= 45 + if _wins[ai].max_hover < 0: + _wins[ai].max_hover = 0 + if _wins[ai].max_hover != _old_mh2: + _mark_rows_dirty(btn_y, btn_h) + if is_over_min and _wins[ai].min_hover < 255: + _old_nh: t.CInt = _wins[ai].min_hover + _wins[ai].min_hover += 60 + if _wins[ai].min_hover > 255: + _wins[ai].min_hover = 255 + if _wins[ai].min_hover != _old_nh: + _mark_rows_dirty(btn_y, btn_h) + elif not is_over_min and _wins[ai].min_hover > 0: + _old_nh2: t.CInt = _wins[ai].min_hover + _wins[ai].min_hover -= 45 + if _wins[ai].min_hover < 0: + _wins[ai].min_hover = 0 + if _wins[ai].min_hover != _old_nh2: + _mark_rows_dirty(btn_y, btn_h) + if _has_dirty_rows(): + _rt0: t.CUInt64T = timer.timer_get_ticks() + _render() + _rt1: t.CUInt64T = timer.timer_get_ticks() + _perf_t_render += (_rt1 - _rt0) + _ft0: t.CUInt64T = timer.timer_get_ticks() + _clear_dirty_flags() + _ft1: t.CUInt64T = timer.timer_get_ticks() + _perf_t_flush += (_ft1 - _ft0) + _perf_frames += 1 + _loop_t1: t.CUInt64T = timer.timer_get_ticks() + _perf_t_total += (_loop_t1 - _loop_t0) + _now_ticks: t.CUInt64T = timer.timer_get_ticks() + _elapsed_ms: t.CUInt64T = _now_ticks - _perf_start_ticks + if _elapsed_ms >= 1000: + _fps_val: t.CUInt32T = 0 + if _elapsed_ms > 0: + _fps_val = t.CUInt32T(t.CUInt64T(_perf_frames) * 1000 / _elapsed_ms) + string.memset(c.Addr(_perf_buf), 0, 256) + viperlib.snprintf(c.Addr(_perf_buf), 256, "[perf] fps=%u wall=%lu work=%lu mouse=%lu kbd=%lu render=%lu(bg=%lu win=%lu cur=%lu fb=%lu) dirty=%d vsync=%d\n", _fps_val, t.CUInt64T(_elapsed_ms), t.CUInt64T(_perf_t_total), t.CUInt64T(_perf_t_mouse), t.CUInt64T(_perf_t_kbd), t.CUInt64T(_perf_t_render), t.CUInt64T(_perf_t_bg), t.CUInt64T(_perf_t_win), t.CUInt64T(_perf_t_cur), t.CUInt64T(_perf_t_fb), _dirty_count, _vblank_ok) + serial.puts(c.Addr(_perf_buf)) + _perf_t_mouse = 0 + _perf_t_kbd = 0 + _perf_t_render = 0 + _perf_t_flush = 0 + _perf_t_total = 0 + _perf_t_bg = 0 + _perf_t_win = 0 + _perf_t_cur = 0 + _perf_t_fb = 0 + _perf_frames = 0 + _perf_start_ticks = _now_ticks + sched.Scheduler.try_reschedule() + return 0 + +def start(fb_ptr: t.CVoid | t.CPtr, w: t.CInt, h: t.CInt, pitch: t.CInt = 0) -> sched.Thread | t.CPtr: + global _fb, _screen_w, _screen_h, _fb_pitch, _cursor_x, _cursor_y + global _back_fb, _row_buf + global _dirty_rows, _prev_cursor_x, _prev_cursor_y + _fb = fb_ptr + _screen_w = w + _screen_h = h + if pitch > 0: + _fb_pitch = pitch + else: + _fb_pitch = w * 4 + _cursor_x = w // 2 + _cursor_y = h // 2 + _prev_cursor_x = _cursor_x + _prev_cursor_y = _cursor_y + + _dirty_rows = mm.malloc(h) + if _dirty_rows: + string.memset(_dirty_rows, 0, h) + else: + serial.puts("[desktop] dirty_rows malloc FAILED\n") + return None + + _back_fb = mm.malloc(w * h * 4) + if _back_fb: + string.memset(_back_fb, 0, w * h * 4) + else: + serial.puts("[desktop] back_fb malloc FAILED\n") + return None + + _row_buf = mm.malloc(w * 4) + if _row_buf: + string.memset(_row_buf, 0, w * 4) + else: + serial.puts("[desktop] row_buf malloc FAILED!\n") + + _bg_row_buf = mm.malloc(w * 4) + if _bg_row_buf: + desktop_init_col: t.CUInt32T = gfx.COLOR_RGB(25, 25, 35) + for ri in range(w): + _bg_row_buf[ri] = desktop_init_col + else: + serial.puts("[desktop] bg_row_buf malloc FAILED!\n") + + _mark_all_dirty() + p: process.Process | t.CPtr = process.ProcessManager.create_process("desktop", None) + desktop_pid: t.CInt = 0 + if p: + desktop_pid = p.pid + th: sched.Thread | t.CPtr = sched.Scheduler.create_thread(desktop_thread, None, desktop_pid) + if p and th: + p.addThread(th.tid) + return th + +def _get_top_window() -> t.CInt: + best: t.CInt = -1 + best_z: t.CInt = -1 + for ai in range(_win_count): + if _wins[ai].active and not _wins[ai].minimized: + z: t.CInt = _wins[ai].z_order + if z > best_z: + best_z = z + best = ai + return best + +def _draw_min_btn(back: UINT32PTR, bw: t.CInt, bh: t.CInt, bx: t.CInt, by: t.CInt, btn_w: t.CInt, btn_h: t.CInt, hover_alpha: t.CInt, style: t.CInt): + if hover_alpha > 0: + hover_col: t.CUInt32T = gfx.COLOR_RGB(80, 80, 80) + if style == STYLE_WIN7: + hover_col = gfx.COLOR_RGB(200, 220, 240) + elif style == STYLE_WINXP: + hover_col = gfx.COLOR_RGB(180, 210, 240) + for py in range(by, by + btn_h): + if py >= 0 and py < bh: + for px in range(bx, bx + btn_w): + if px >= 0 and px < bw: + bg_pixel: t.CUInt32T = back[py * bw + px] + back[py * bw + px] = _alpha_blend(bg_pixel, hover_col, hover_alpha) + line_col: t.CUInt32T = gfx.COLOR_RGB(180, 180, 180) + if hover_alpha > 0: + line_col = gfx.COLOR_RGB(255, 255, 255) + cx: t.CInt = bx + btn_w // 2 + cy: t.CInt = by + btn_h // 2 + lw: t.CInt = 5 + if btn_w >= 30: + lw = 8 + ly: t.CInt = cy + 3 + if ly >= 0 and ly < bh: + for lx in range(cx - lw, cx + lw + 1): + if lx >= 0 and lx < bw: + back[ly * bw + lx] = line_col + +def _draw_max_btn(back: UINT32PTR, bw: t.CInt, bh: t.CInt, bx: t.CInt, by: t.CInt, btn_w: t.CInt, btn_h: t.CInt, hover_alpha: t.CInt, style: t.CInt, is_maximized: t.CInt): + if hover_alpha > 0: + hover_col2: t.CUInt32T = gfx.COLOR_RGB(80, 80, 80) + if style == STYLE_WIN7: + hover_col2 = gfx.COLOR_RGB(200, 220, 240) + elif style == STYLE_WINXP: + hover_col2 = gfx.COLOR_RGB(180, 210, 240) + for py2 in range(by, by + btn_h): + if py2 >= 0 and py2 < bh: + for px2 in range(bx, bx + btn_w): + if px2 >= 0 and px2 < bw: + bg_pixel2: t.CUInt32T = back[py2 * bw + px2] + back[py2 * bw + px2] = _alpha_blend(bg_pixel2, hover_col2, hover_alpha) + rect_col: t.CUInt32T = gfx.COLOR_RGB(180, 180, 180) + if hover_alpha > 0: + rect_col = gfx.COLOR_RGB(255, 255, 255) + cx2: t.CInt = bx + btn_w // 2 + cy2: t.CInt = by + btn_h // 2 + sz: t.CInt = 4 + if btn_w >= 30: + sz = 6 + if is_maximized: + off: t.CInt = 2 + for ry1 in range(cy2 - sz + off, cy2 + sz + off + 1): + if ry1 >= 0 and ry1 < bh: + for rx1 in range(cx2 - sz + off, cx2 + sz + off + 1): + if rx1 >= 0 and rx1 < bw: + is_top: t.CInt = 0 + if ry1 == cy2 - sz + off or ry1 == cy2 - sz + off + 1: + is_top = 1 + is_border: t.CInt = 0 + if ry1 == cy2 - sz + off or ry1 == cy2 + sz + off or rx1 == cx2 - sz + off or rx1 == cx2 + sz + off: + is_border = 1 + if is_top or is_border: + back[ry1 * bw + rx1] = rect_col + for ry2 in range(cy2 - sz, cy2 + sz + 1): + if ry2 >= 0 and ry2 < bh: + for rx2 in range(cx2 - sz, cx2 + sz + 1): + if rx2 >= 0 and rx2 < bw: + if ry2 == cy2 - sz or ry2 == cy2 - sz + 1 or rx2 == cx2 - sz or rx2 == cx2 + sz: + back[ry2 * bw + rx2] = rect_col + else: + for ry3 in range(cy2 - sz, cy2 + sz + 1): + if ry3 >= 0 and ry3 < bh: + for rx3 in range(cx2 - sz, cx2 + sz + 1): + if rx3 >= 0 and rx3 < bw: + if ry3 == cy2 - sz or ry3 == cy2 + sz or rx3 == cx2 - sz or rx3 == cx2 + sz: + back[ry3 * bw + rx3] = rect_col + top_y: t.CInt = cy2 - sz + if top_y >= 0 and top_y < bh: + for tx in range(cx2 - sz, cx2 + sz + 1): + if tx >= 0 and tx < bw: + back[top_y * bw + tx] = rect_col + if top_y + 1 < bh: + for tx2 in range(cx2 - sz, cx2 + sz + 1): + if tx2 >= 0 and tx2 < bw: + back[(top_y + 1) * bw + tx2] = rect_col + +def _draw_close_btn(back: UINT32PTR, bw: t.CInt, bh: t.CInt, bx: t.CInt, by: t.CInt, btn_w: t.CInt, btn_h: t.CInt, hover_alpha: t.CInt, style: t.CInt, clip_wx: t.CInt, clip_wy: t.CInt, clip_ww: t.CInt, clip_r: t.CInt): + x_col: t.CUInt32T = gfx.COLOR_RGB(200, 200, 200) + if style == STYLE_CLASSIC: + bg: t.CUInt32T = gfx.COLOR_RGB(40, 40, 70) + if hover_alpha > 0: + red: t.CUInt32T = gfx.COLOR_RGB(200, 50, 50) + bg = _alpha_blend(bg, red, hover_alpha) + _fill_rect(back, bw, bh, bx, by, btn_w, btn_h, bg) + if hover_alpha > 128: + x_col = gfx.COLOR_RGB(255, 255, 255) + elif style == STYLE_WIN7: + br: t.CInt = CLOSE_BTN_W7_R + bg_r: t.CInt = 200 + bg_g: t.CInt = 50 + bg_b: t.CInt = 50 + if hover_alpha > 0: + bg_r = 200 + ((232 - 200) * hover_alpha) / 255 + bg_g = 50 + ((17 - 50) * hover_alpha) / 255 + bg_b = 50 + ((35 - 50) * hover_alpha) / 255 + bg_col7: t.CUInt32T = gfx.COLOR_RGB(bg_r, bg_g, bg_b) + for py2 in range(by, by + btn_h): + if py2 >= 0 and py2 < bh: + for px2 in range(bx, bx + btn_w): + if px2 >= 0 and px2 < bw: + lrx: t.CInt = px2 - bx + lry: t.CInt = py2 - by + if lry < br: + if lrx < br: + if (lrx - br) * (lrx - br) + (lry - br) * (lry - br) > br * br: + continue + elif lrx >= btn_w - br: + if (lrx - (btn_w - br - 1)) * (lrx - (btn_w - br - 1)) + (lry - br) * (lry - br) > br * br: + continue + elif lry >= btn_h - br: + if lrx < br: + if (lrx - br) * (lrx - br) + (lry - (btn_h - br - 1)) * (lry - (btn_h - br - 1)) > br * br: + continue + elif lrx >= btn_w - br: + if (lrx - (btn_w - br - 1)) * (lrx - (btn_w - br - 1)) + (lry - (btn_h - br - 1)) * (lry - (btn_h - br - 1)) > br * br: + continue + if clip_r > 0: + crx: t.CInt = px2 - clip_wx + cry: t.CInt = py2 - clip_wy + if cry < clip_r and crx >= clip_ww - clip_r: + cdx: t.CInt = crx - (clip_ww - clip_r - 1) + cdy: t.CInt = cry - clip_r + if cdx * cdx + cdy * cdy > clip_r * clip_r: + continue + back[py2 * bw + px2] = bg_col7 + x_col = gfx.COLOR_RGB(255, 255, 255) + if hover_alpha > 0: + x_col = _alpha_blend(gfx.COLOR_RGB(255, 255, 255), gfx.COLOR_RGB(255, 240, 240), hover_alpha) + elif style == STYLE_WINXP: + br_xp: t.CInt = 3 + bg_r_xp: t.CInt = 200 + bg_g_xp: t.CInt = 50 + bg_b_xp: t.CInt = 50 + if hover_alpha > 0: + bg_r_xp = 200 + ((232 - 200) * hover_alpha) / 255 + bg_g_xp = 50 + ((17 - 50) * hover_alpha) / 255 + bg_b_xp = 50 + ((35 - 50) * hover_alpha) / 255 + bg_col_xp: t.CUInt32T = gfx.COLOR_RGB(bg_r_xp, bg_g_xp, bg_b_xp) + for py_xp in range(by, by + btn_h): + if py_xp >= 0 and py_xp < bh: + for px_xp in range(bx, bx + btn_w): + if px_xp >= 0 and px_xp < bw: + lrx_xp: t.CInt = px_xp - bx + lry_xp: t.CInt = py_xp - by + if lry_xp < br_xp: + if lrx_xp < br_xp: + if (lrx_xp - br_xp) * (lrx_xp - br_xp) + (lry_xp - br_xp) * (lry_xp - br_xp) > br_xp * br_xp: + continue + elif lrx_xp >= btn_w - br_xp: + if (lrx_xp - (btn_w - br_xp - 1)) * (lrx_xp - (btn_w - br_xp - 1)) + (lry_xp - br_xp) * (lry_xp - br_xp) > br_xp * br_xp: + continue + elif lry_xp >= btn_h - br_xp: + if lrx_xp < br_xp: + if (lrx_xp - br_xp) * (lrx_xp - br_xp) + (lry_xp - (btn_h - br_xp - 1)) * (lry_xp - (btn_h - br_xp - 1)) > br_xp * br_xp: + continue + elif lrx_xp >= btn_w - br_xp: + if (lrx_xp - (btn_w - br_xp - 1)) * (lrx_xp - (btn_w - br_xp - 1)) + (lry_xp - (btn_h - br_xp - 1)) * (lry_xp - (btn_h - br_xp - 1)) > br_xp * br_xp: + continue + back[py_xp * bw + px_xp] = bg_col_xp + x_col = gfx.COLOR_RGB(255, 255, 255) + if hover_alpha > 0: + x_col = _alpha_blend(gfx.COLOR_RGB(255, 255, 255), gfx.COLOR_RGB(255, 240, 240), hover_alpha) + else: + if hover_alpha > 0: + red = gfx.COLOR_RGB(232, 17, 35) + for py3 in range(by, by + btn_h): + if py3 >= 0 and py3 < bh: + for px3 in range(bx, bx + btn_w): + if px3 >= 0 and px3 < bw: + if clip_r > 0: + crx3: t.CInt = px3 - clip_wx + cry3: t.CInt = py3 - clip_wy + if cry3 < clip_r and crx3 >= clip_ww - clip_r: + cdx3: t.CInt = crx3 - (clip_ww - clip_r - 1) + cdy3: t.CInt = cry3 - clip_r + if cdx3 * cdx3 + cdy3 * cdy3 > clip_r * clip_r: + continue + bg_pixel: t.CUInt32T = back[py3 * bw + px3] + back[py3 * bw + px3] = _alpha_blend(bg_pixel, red, hover_alpha) + x_col = gfx.COLOR_RGB(150, 150, 150) + if hover_alpha > 0: + x_col = _alpha_blend(gfx.COLOR_RGB(150, 150, 150), gfx.COLOR_RGB(255, 255, 255), hover_alpha) + cx: t.CInt = bx + btn_w // 2 + cy: t.CInt = by + btn_h // 2 + d: t.CInt = 3 + if btn_w >= 30: + d = 4 + i: t.CInt = -d + while i <= d: + px1: t.CInt = cx + i + py1: t.CInt = cy + i + px2b: t.CInt = cx + i + py2b: t.CInt = cy - i + if px1 >= 0 and px1 < bw and py1 >= 0 and py1 < bh: + if clip_r > 0: + crx1: t.CInt = px1 - clip_wx + cry1: t.CInt = py1 - clip_wy + if cry1 < clip_r and crx1 >= clip_ww - clip_r: + cdx1: t.CInt = crx1 - (clip_ww - clip_r - 1) + cdy1: t.CInt = cry1 - clip_r + if cdx1 * cdx1 + cdy1 * cdy1 > clip_r * clip_r: + i += 1 + continue + back[py1 * bw + px1] = x_col + if px2b >= 0 and px2b < bw and py2b >= 0 and py2b < bh: + if clip_r > 0: + crx2: t.CInt = px2b - clip_wx + cry2: t.CInt = py2b - clip_wy + if cry2 < clip_r and crx2 >= clip_ww - clip_r: + cdx2: t.CInt = crx2 - (clip_ww - clip_r - 1) + cdy2: t.CInt = cry2 - clip_r + if cdx2 * cdx2 + cdy2 * cdy2 > clip_r * clip_r: + i += 1 + continue + back[py2b * bw + px2b] = x_col + i += 1 + +def _draw_app_window(back: UINT32PTR, win: AppWindow | t.CPtr): + w: t.CInt = _screen_w + h: t.CInt = _screen_h + wx: t.CInt = win.x + wy: t.CInt = win.y + ww: t.CInt = _eff_w(win) + wh: t.CInt = win.h + ch: t.CInt = _eff_h(win) + style: t.CInt = win.style + th: t.CInt = _get_title_height(style) + + if wy + wh <= _dirty_y_min or wy > _dirty_y_max: + return + + top_idx: t.CInt = _cached_top_win + is_active: t.CInt = 0 + if top_idx >= 0: + top_z: t.CInt = _wins[top_idx].z_order + if win.z_order == top_z: + is_active = 1 + + title_col: t.CUInt32T = gfx.COLOR_RGB(50, 50, 90) + border_col: t.CUInt32T = gfx.COLOR_RGB(100, 100, 180) + content_col: t.CUInt32T = gfx.COLOR_RGB(30, 30, 50) + outline_col: t.CUInt32T = gfx.COLOR_RGB(100, 100, 180) + title_alpha: t.CInt = 255 + has_separator: t.CInt = 1 + if style == STYLE_WIN10: + has_separator = 0 + if is_active: + title_col = gfx.COLOR_RGB(0, 0, 0) + border_col = gfx.COLOR_RGB(0, 0, 0) + content_col = gfx.COLOR_RGB(32, 32, 32) + outline_col = gfx.COLOR_RGB(80, 80, 80) + else: + title_col = gfx.COLOR_RGB(32, 32, 32) + border_col = gfx.COLOR_RGB(32, 32, 32) + content_col = gfx.COLOR_RGB(24, 24, 24) + outline_col = gfx.COLOR_RGB(60, 60, 60) + elif style == STYLE_WIN11: + has_separator = 0 + if is_active: + title_col = gfx.COLOR_RGB(32, 32, 32) + border_col = gfx.COLOR_RGB(32, 32, 32) + content_col = gfx.COLOR_RGB(32, 32, 32) + outline_col = gfx.COLOR_RGB(70, 70, 70) + else: + title_col = gfx.COLOR_RGB(40, 40, 40) + border_col = gfx.COLOR_RGB(40, 40, 40) + content_col = gfx.COLOR_RGB(40, 40, 40) + outline_col = gfx.COLOR_RGB(60, 60, 60) + elif style == STYLE_WIN7: + has_separator = 0 + if is_active: + title_col = gfx.COLOR_RGB(156, 181, 209) + border_col = gfx.COLOR_RGB(156, 181, 209) + content_col = gfx.COLOR_RGB(240, 240, 240) + outline_col = gfx.COLOR_RGB(100, 130, 170) + else: + title_col = gfx.COLOR_RGB(180, 195, 210) + border_col = gfx.COLOR_RGB(180, 195, 210) + content_col = gfx.COLOR_RGB(240, 240, 240) + outline_col = gfx.COLOR_RGB(140, 155, 175) + title_alpha = 102 + elif style == STYLE_WINXP: + has_separator = 0 + if is_active: + title_col = gfx.COLOR_RGB(107, 158, 212) + border_col = gfx.COLOR_RGB(107, 158, 212) + content_col = gfx.COLOR_RGB(235, 235, 235) + outline_col = gfx.COLOR_RGB(43, 87, 151) + else: + title_col = gfx.COLOR_RGB(140, 160, 195) + border_col = gfx.COLOR_RGB(140, 160, 195) + content_col = gfx.COLOR_RGB(235, 235, 235) + outline_col = gfx.COLOR_RGB(100, 115, 145) + else: + if is_active: + title_col = gfx.COLOR_RGB(70, 70, 130) + border_col = gfx.COLOR_RGB(130, 130, 220) + outline_col = gfx.COLOR_RGB(130, 130, 220) + + rounded: t.CInt = 0 + if style == STYLE_WIN11 or style == STYLE_WIN7 or style == STYLE_WINXP: + rounded = 1 + r: t.CInt = WIN_RADIUS + + _draw_window_shadow(back, w, h, wx, wy, ww, wh, rounded, r) + + if rounded: + for py in range(wy, wy + wh): + if py < 0 or py >= h: continue + if not _dirty_rows[py]: continue + ry: t.CInt = py - wy + row_col: t.CUInt32T = content_col + row_is_title: t.CInt = 0 + row_is_sep: t.CInt = 0 + if ry < th: + row_is_title = 1 + if style == STYLE_WIN7: + ratio: t.CInt = (ry * 100) / th + if ratio > 100: ratio = 100 + if is_active: + gr: t.CInt = 156 + ((186 - 156) * ratio) / 100 + gg: t.CInt = 181 + ((209 - 181) * ratio) / 100 + gb: t.CInt = 209 + ((233 - 209) * ratio) / 100 + else: + gr = 180 + ((200 - 180) * ratio) / 100 + gg = 195 + ((210 - 195) * ratio) / 100 + gb = 210 + ((225 - 210) * ratio) / 100 + row_col = gfx.COLOR_RGB(gr, gg, gb) + if ry == 0: + row_col = _alpha_blend(row_col, gfx.COLOR_RGB(220, 235, 255), 50) + elif ry == 1: + row_col = _alpha_blend(row_col, gfx.COLOR_RGB(210, 225, 250), 20) + if ry == th - 1: + row_col = _alpha_blend(row_col, gfx.COLOR_RGB(130, 160, 200), 25) + elif style == STYLE_WINXP: + ratio = (ry * 100) / th + if ratio > 100: ratio = 100 + if is_active: + gr = 107 + ((58 - 107) * ratio) / 100 + gg = 158 + ((124 - 158) * ratio) / 100 + gb = 212 + ((195 - 212) * ratio) / 100 + else: + gr = 150 + ((115 - 150) * ratio) / 100 + gg = 170 + ((135 - 170) * ratio) / 100 + gb = 205 + ((175 - 205) * ratio) / 100 + row_col = gfx.COLOR_RGB(gr, gg, gb) + if ry == 0: + row_col = _alpha_blend(row_col, gfx.COLOR_RGB(200, 225, 255), 50) + elif ry == 1: + row_col = _alpha_blend(row_col, gfx.COLOR_RGB(200, 225, 255), 25) + if ry == th - 1: + row_col = _alpha_blend(row_col, gfx.COLOR_RGB(100, 160, 230), 40) + else: + row_col = title_col + elif ry == th and has_separator: + row_is_sep = 1 + row_col = outline_col + in_corner_zone: t.CInt = 0 + if ry < r or ry >= wh - r: + in_corner_zone = 1 + if not in_corner_zone: + left_border: t.CInt = wx + right_border: t.CInt = wx + ww - 1 + if left_border >= 0 and left_border < w: + back[py * w + left_border] = outline_col + if right_border >= 0 and right_border < w: + back[py * w + right_border] = outline_col + fill_left: t.CInt = wx + 1 + fill_right: t.CInt = wx + ww - 1 + if fill_left < 0: fill_left = 0 + if fill_right > w: fill_right = w + fill_w: t.CInt = fill_right - fill_left + if fill_w > 0: + if row_is_title and (style == STYLE_WIN7 or style == STYLE_WINXP) and title_alpha < 255: + for fx in range(fill_left, fill_right): + bg_p: t.CUInt32T = back[py * w + fx] + back[py * w + fx] = _alpha_blend(bg_p, row_col, title_alpha) + else: + _fill_rect(back, w, h, fill_left, py, fill_w, 1, row_col) + else: + for px in range(wx, wx + ww): + if px < 0 or px >= w: continue + rx: t.CInt = px - wx + in_corner: t.CInt = 1 + on_border: t.CInt = 0 + if ry < r: + if rx < r: + in_corner = _is_in_corner(rx, ry, r, r, r) + elif rx >= ww - r: + in_corner = _is_in_corner(rx, ry, ww - r - 1, r, r) + elif ry >= wh - r: + if rx < r: + in_corner = _is_in_corner(rx, ry, r, wh - r - 1, r) + elif rx >= ww - r: + in_corner = _is_in_corner(rx, ry, ww - r - 1, wh - r - 1, r) + if not in_corner: + on_border = _is_on_border(rx, ry, ww, wh, r) + if not on_border: + continue + col: t.CUInt32T = row_col + is_border_pixel: t.CInt = 0 + if on_border or _is_on_border(rx, ry, ww, wh, r): + col = outline_col + is_border_pixel = 1 + ca: t.CInt = 255 + if ry < r: + if rx < r: + ca = _corner_alpha(rx, ry, r, r, r) + elif rx >= ww - r: + ca = _corner_alpha(rx, ry, ww - r - 1, r, r) + elif ry >= wh - r: + if rx < r: + ca = _corner_alpha(rx, ry, r, wh - r - 1, r) + elif rx >= ww - r: + ca = _corner_alpha(rx, ry, ww - r - 1, wh - r - 1, r) + if is_border_pixel and ca > 0 and ca < 255: + ca = 255 + if row_is_title and (style == STYLE_WIN7 or style == STYLE_WINXP) and ry >= 1 and rx >= 1 and rx < ww - 1 and ca == 255 and not is_border_pixel: + ca = title_alpha + if ca < 255: + bg_pixel: t.CUInt32T = back[py * w + px] + col = _alpha_blend(bg_pixel, col, ca) + back[py * w + px] = col + else: + _fill_rect(back, w, h, wx, wy, ww, th, title_col) + _fill_rect(back, w, h, wx, wy + th + 1, ww, ch, content_col) + if not has_separator: + _fill_rect(back, w, h, wx, wy + th, ww, 1, content_col) + if wx >= 0 and wx < w: + for py in range(wy, wy + wh): + if py >= 0 and py < h: + back[py * w + wx] = border_col + if wx + ww - 1 >= 0 and wx + ww - 1 < w: + for py in range(wy, wy + wh): + if py >= 0 and py < h: + back[py * w + wx + ww - 1] = border_col + _fill_rect(back, w, h, wx, wy, ww, 1, border_col) + _fill_rect(back, w, h, wx, wy + wh - 1, ww, 1, border_col) + if has_separator: + _fill_rect(back, w, h, wx, wy + th, ww, 1, border_col) + + win_fb: UINT32PTR = win.fb + if win_fb: + fb_stride: t.CInt = win.fb_w + fbh: t.CInt = win.fb_h + if fb_stride <= 0 or fbh <= 0: + win_fb = t.CVoid(0, t.CPtr) + if win_fb: + draw_rows: t.CInt = ch + if draw_rows > fbh: draw_rows = fbh + if draw_rows < 0: draw_rows = 0 + content_y: t.CInt = wy + th + 1 + fb_total: t.CInt = fb_stride * fbh + for row in range(draw_rows): + dst_y: t.CInt = content_y + row + if dst_y < 0 or dst_y >= h: continue + if not _dirty_rows[dst_y]: continue + ry: t.CInt = th + 1 + row + if rounded: + if ry >= r and ry < wh - r: + src_x: t.CInt = 1 + dst_x: t.CInt = wx + 1 + if dst_x < 0: + src_x = src_x - dst_x + dst_x = 0 + end_x: t.CInt = wx + ww - 1 + if end_x > w: end_x = w + actual_w: t.CInt = end_x - dst_x + if actual_w <= 0: continue + if src_x + actual_w > fb_stride: actual_w = fb_stride - src_x + if actual_w <= 0: continue + src_off: t.CInt = row * fb_stride + src_x + if src_off + actual_w > fb_total: continue + string.memcpy(t.CVoid(t.CUInt64T(back) + (dst_y * w + dst_x) * 4, t.CPtr), t.CVoid(t.CUInt64T(win_fb) + src_off * 4, t.CPtr), actual_w * 4) + else: + copy_w: t.CInt = fb_stride - 1 + if copy_w > ww - 1: copy_w = ww - 1 + for col_px in range(1, copy_w): + if ry < r: + if col_px < r: + if not _is_in_corner(col_px, ry, r, r, r): continue + elif col_px >= ww - r: + if not _is_in_corner(col_px, ry, ww - r - 1, r, r): continue + elif ry >= wh - r: + if col_px < r: + if not _is_in_corner(col_px, ry, r, wh - r - 1, r): continue + elif col_px >= ww - r: + if not _is_in_corner(col_px, ry, ww - r - 1, wh - r - 1, r): continue + if _is_on_border(col_px, ry, ww, wh, r): continue + dst_x2: t.CInt = wx + col_px + if dst_x2 < 0 or dst_x2 >= w: continue + if col_px >= fb_stride: continue + px_off: t.CInt = row * fb_stride + col_px + if px_off < 0 or px_off >= fb_total: continue + back[dst_y * w + dst_x2] = win_fb[px_off] + else: + src_x2: t.CInt = 1 + dst_x3: t.CInt = wx + 1 + if dst_x3 < 0: + src_x2 = src_x2 - dst_x3 + dst_x3 = 0 + end_x2: t.CInt = wx + ww - 1 + if end_x2 > w: end_x2 = w + actual_w2: t.CInt = end_x2 - dst_x3 + if actual_w2 <= 0: continue + if src_x2 + actual_w2 > fb_stride: actual_w2 = fb_stride - src_x2 + if actual_w2 <= 0: continue + src_off2: t.CInt = row * fb_stride + src_x2 + if src_off2 + actual_w2 > fb_total: continue + string.memcpy(t.CVoid(t.CUInt64T(back) + (dst_y * w + dst_x3) * 4, t.CPtr), t.CVoid(t.CUInt64T(win_fb) + src_off2 * 4, t.CPtr), actual_w2 * 4) + + btn_w: t.CInt = CLOSE_BTN_SIZE + btn_h: t.CInt = CLOSE_BTN_SIZE + btn_x: t.CInt = wx + ww - btn_w - 4 + btn_y: t.CInt = wy + (th - btn_h) // 2 + clip_r: t.CInt = 0 + if style == STYLE_WIN7: + btn_w = CLOSE_BTN_W7_W + btn_h = CLOSE_BTN_W7_H + btn_x = wx + ww - btn_w - 5 + btn_y = wy + (th - btn_h) // 2 + if rounded: + clip_r = r + elif style == STYLE_WINXP: + btn_w = CLOSE_BTN_XP_SZ + btn_h = CLOSE_BTN_XP_SZ + btn_x = wx + ww - btn_w - 5 + btn_y = wy + (th - btn_h) // 2 + elif style == STYLE_WIN10 or style == STYLE_WIN11: + btn_w = CLOSE_BTN_W_WIN + btn_h = th - 2 + btn_x = wx + ww - btn_w + btn_y = wy + 1 + if rounded: + clip_r = r + _draw_close_btn(back, w, h, btn_x, btn_y, btn_w, btn_h, win.close_hover, style, wx, wy, ww, clip_r) + max_bx: t.CInt = btn_x - btn_w + if style == STYLE_WIN7 or style == STYLE_WINXP: + max_bx = btn_x - btn_w - 1 + _draw_max_btn(back, w, h, max_bx, btn_y, btn_w, btn_h, win.max_hover, style, win.is_maximized) + min_bx: t.CInt = max_bx - btn_w + if style == STYLE_WIN7 or style == STYLE_WINXP: + min_bx = max_bx - btn_w - 1 + _draw_min_btn(back, w, h, min_bx, btn_y, btn_w, btn_h, win.min_hover, style) + + text_col: t.CUInt32T = 0xFFFFFFFF + if not is_active: + text_col = gfx.COLOR_RGB(170, 170, 170) + text_y: t.CInt = wy + (th - 16) // 2 + _draw_text(back, w, h, wx + 8, text_y, c.Addr(win.title[0]), text_col) + +def create(x: t.CInt, y: t.CInt, w: t.CInt, h: t.CInt, title: t.CConst | t.CChar | t.CPtr, style: t.CInt) -> t.CInt: + global _win_count, _next_z, _focused_win + if _win_count >= MAX_APP_WINDOWS: return -1 + idx: t.CInt = _win_count + _win_count += 1 + aw: AppWindow | t.CPtr = c.Addr(_wins[idx]) + aw.active = 1 + aw.x = x + aw.y = y + aw.w = w + aw.h = h + aw.content_h = h - _get_title_height(style) - 2 + _next_z += 1 + aw.z_order = _next_z + aw.style = style + aw.close_hover = 0 + aw.min_hover = 0 + aw.max_hover = 0 + aw.is_maximized = 0 + aw.orig_x = x + aw.orig_y = y + aw.orig_w = w + aw.orig_h = h + aw.pid = _current_app_pid + aw.cursor_type = 0 + aw.app_cursor_type = 0 + aw.fb_w = 0 + aw.fb_h = 0 + aw.old_fb = t.CVoid(0, t.CPtr) + aw.ping_pending = 0 + aw.no_resp = 0 + aw.no_resp_sec = 0 + aw.minimized = 0 + aw.resizable_w = 1 + aw.resizable_h = 1 + aw.resize_w = 0 + aw.resize_h = 0 + string.memset(c.Addr(aw.title), 0, 32) + string.memset(c.Addr(aw.orig_title), 0, 32) + for i in range(31): + ch: t.CChar = title[i] + if ch == 0: break + aw.title[i] = ch + aw.orig_title[i] = ch + aw.fb = mm.malloc(w * aw.content_h * 4) + aw.fb_w = w + aw.fb_h = aw.content_h + if aw.fb: + bg_col: t.CUInt32T = gfx.COLOR_RGB(25, 25, 35) + fb_size: t.CInt = w * aw.content_h + for fi in range(fb_size): + aw.fb[fi] = bg_col + _mark_rows_dirty(y, h) + _focused_win = idx + return idx + +def draw_text(win_id: t.CInt, x: t.CInt, y: t.CInt, text: t.CConst | t.CChar | t.CPtr, color: t.CUInt32T) -> t.CInt: + if win_id < 0 or win_id >= _win_count: return -1 + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return -1 + win_fb: UINT32PTR = aw.fb + if not win_fb: return -1 + fbw: t.CInt = aw.fb_w + fbh: t.CInt = aw.fb_h + _draw_text(win_fb, fbw, fbh, x, y, text, color) + _mark_rows_dirty(aw.y + _get_title_height(aw.style) + 1 + y, 16) + return 0 + +def set_app_pid(pid: t.CInt): + global _current_app_pid + _current_app_pid = pid + +def is_active(win_id: t.CInt) -> t.CInt: + if win_id < 0 or win_id >= _win_count: return 0 + return _wins[win_id].active + +def get_fb(win_id: t.CInt) -> UINT32PTR: + if win_id < 0 or win_id >= _win_count: return t.CVoid(0, t.CPtr) + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return t.CVoid(0, t.CPtr) + if aw.old_fb: + mm.free(aw.old_fb) + aw.old_fb = t.CVoid(0, t.CPtr) + if aw.resize_w != 0 and (aw.fb_w != aw.resize_w or aw.fb_h != aw.resize_h): + target_w: t.CInt = aw.resize_w + target_h: t.CInt = aw.resize_h + if target_w <= 0 or target_h <= 0: + aw.resize_w = 0 + aw.resize_h = 0 + return aw.fb + new_fb_sz_gf: t.CInt = target_w * target_h + new_fb_gf: UINT32PTR = mm.malloc(new_fb_sz_gf * 4) + if not new_fb_gf: + aw.resize_w = 0 + aw.resize_h = 0 + return aw.fb + old_fb_gf: UINT32PTR = aw.fb + old_fbw_gf: t.CInt = aw.fb_w + old_fbh_gf: t.CInt = aw.fb_h + aw.fb = new_fb_gf + aw.fb_w = target_w + aw.fb_h = target_h + aw.w = target_w + aw.content_h = target_h + aw.resize_w = 0 + aw.resize_h = 0 + bg_gf: t.CUInt32T = gfx.COLOR_RGB(30, 30, 50) + for fi_gf in range(new_fb_sz_gf): + aw.fb[fi_gf] = bg_gf + if old_fb_gf: + cph_gf: t.CInt = old_fbh_gf + if cph_gf > target_h: cph_gf = target_h + for ri_gf in range(cph_gf): + rb_gf: t.CInt = old_fbw_gf + if rb_gf > target_w: rb_gf = target_w + string.memcpy(t.CVoid(t.CUInt64T(aw.fb) + ri_gf * target_w * 4, t.CPtr), t.CVoid(t.CUInt64T(old_fb_gf) + ri_gf * old_fbw_gf * 4, t.CPtr), rb_gf * 4) + if aw.old_fb: + mm.free(aw.old_fb) + aw.old_fb = old_fb_gf + return aw.fb + +def get_size(win_id: t.CInt) -> t.CInt: + if win_id < 0 or win_id >= _win_count: return 0 + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return 0 + return (aw.fb_w << 16) | (aw.fb_h & 0xFFFF) + +_NO_RESP_SUFFIX: t.CArray[t.CChar, 14] = " - (No Resp)" + +def _update_no_resp_title(win_id: t.CInt, mark: t.CInt): + if win_id < 0 or win_id >= _win_count: return + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return + string.memset(c.Addr(aw.title), 0, 32) + if mark: + j: t.CInt = 0 + for ch in aw.orig_title: + if j >= 31: break + if ch == 0: break + aw.title[j] = ch + j += 1 + for sc in _NO_RESP_SUFFIX: + if j >= 13: break + if sc == 0: break + if j < 31: + aw.title[j] = sc + j += 1 + else: + j2: t.CInt = 0 + for ch2 in aw.orig_title: + if j2 >= 31: break + if ch2 == 0: break + aw.title[j2] = ch2 + j2 += 1 + _mark_rows_dirty(aw.y, _get_title_height(aw.style) + 2) + +def _heartbeat_check(): + global _hb_last_sec + cur_sec: t.CUInt32T = timer.timer_get_seconds() + if cur_sec - _hb_last_sec < HB_INTERVAL_SEC: return + _hb_last_sec = cur_sec + for i in range(_win_count): + aw: AppWindow | t.CPtr = c.Addr(_wins[i]) + if not aw.active: + continue + if aw.pid == 0: + continue + if aw.ping_pending: + if not aw.no_resp: + aw.no_resp = 1 + aw.no_resp_sec = cur_sec + _update_no_resp_title(i, 1) + else: + elapsed: t.CUInt32T = cur_sec - aw.no_resp_sec + if elapsed >= HB_NO_RESP_SEC: + aw.active = 0 + _mark_rows_dirty(aw.y, aw.h) + p_ref: process.Process | t.CPtr = process.ProcessManager.get_process(aw.pid) + if p_ref is not None: + p_ref.exit() + else: + aw.ping_pending = 1 + evt: InputEvent + string.memset(c.Addr(evt), 0, INPUT_EVENT_SIZE) + evt.type = EVENT_TYPE_PING + evt.win_id = i + _push_event(evt) + +def flush(win_id: t.CInt): + if win_id < 0 or win_id >= _win_count: return + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return + if aw.old_fb: + mm.free(aw.old_fb) + aw.old_fb = t.CVoid(0, t.CPtr) + if aw.ping_pending: + aw.ping_pending = 0 + if aw.no_resp: + aw.no_resp = 0 + aw.no_resp_sec = 0 + _update_no_resp_title(win_id, 0) + _mark_rows_dirty(aw.y + _get_title_height(aw.style) + 1, _eff_h(aw)) + +def set_title(win_id: t.CInt, title: t.CConst | t.CChar | t.CPtr) -> t.CInt: + if win_id < 0 or win_id >= _win_count: return -1 + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return -1 + string.memset(c.Addr(aw.title), 0, 32) + string.memset(c.Addr(aw.orig_title), 0, 32) + for i in range(31): + ch: t.CChar = title[i] + if ch == 0: break + aw.title[i] = ch + aw.orig_title[i] = ch + _mark_rows_dirty(aw.y, _get_title_height(aw.style) + 2) + return 0 + +def set_geometry(win_id: t.CInt, x: t.CInt, y: t.CInt, w: t.CInt, h: t.CInt) -> t.CInt: + if win_id < 0 or win_id >= _win_count: return -1 + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return -1 + old_y: t.CInt = aw.y + old_h: t.CInt = aw.h + aw.x = x + aw.y = y + aw.resize_w = w + aw.resize_h = h - _get_title_height(aw.style) - 2 + aw.h = h + _mark_rows_dirty(old_y, old_h) + _mark_rows_dirty(y, h) + return 0 + +def set_resizable(win_id: t.CInt, rw: t.CInt, rh: t.CInt) -> t.CInt: + if win_id < 0 or win_id >= _win_count: return -1 + aw: AppWindow | t.CPtr = c.Addr(_wins[win_id]) + if not aw.active: return -1 + aw.resizable_w = rw + aw.resizable_h = rh + return 0 + +def destroy_by_pid(pid: t.CInt): + global _focused_win, _last_hover_win + for i in range(_win_count): + if _wins[i].pid == pid and _wins[i].active: + _wins[i].active = 0 + _mark_rows_dirty(_wins[i].y, _wins[i].h) + if _focused_win == i: + _focused_win = -1 + if _last_hover_win == i: + _last_hover_win = -1 + if _focused_win < 0: + for j in range(_win_count - 1, -1, -1): + if _wins[j].active and not _wins[j].minimized: + _focused_win = j + break diff --git a/Test/Kernel/services/keyboard.vp b/Test/Kernel/services/keyboard.vp new file mode 100644 index 0000000..e7aae90 --- /dev/null +++ b/Test/Kernel/services/keyboard.vp @@ -0,0 +1,50 @@ +import t, c +import drivers.input.keyboard.keyboard as keyboard +import drivers.usb.hid.usb_kbd as usb_kbd +import drivers.serial.uart.serial as serial +import sched.sched as sched +import viperlib + +SERVICE_KEYBOARD: t.CDefine = 1 + +@t.Object +class KeyboardService: + th: sched.Thread | t.CPtr + running: t.CInt + usb_kbd_th: sched.Thread | t.CPtr + + def __init__(self): + self.th = None + self.running = 0 + self.usb_kbd_th = None + +kbd_svc: KeyboardService + + +def kbd_thread(arg: t.CVoid | t.CPtr) -> t.CInt: + serial.puts("[kbd_svc] started\n") + while True: + if keyboard.has_data(): + sc: t.CUInt8T = keyboard.read_scancode() + else: + sched.Scheduler._yield() + return 0 + +def usb_kbd_thread(arg: t.CVoid | t.CPtr) -> t.CInt: + serial.puts("[usb_kbd_svc] started\n") + evt: usb_kbd.usb_kbd_event + while True: + if usb_kbd.has_data(): + usb_kbd.read_event(c.Addr(evt)) + else: + sched.Scheduler._yield() + return 0 + +def start() -> t.CInt: + global kbd_svc + kbd_svc = KeyboardService() + keyboard.init() + serial.puts("[kbd_svc] PS/2 keyboard initialized, IRQ1 installed\n") + usb_kbd.init() + kbd_svc.running = 1 + return 0 diff --git a/Test/Kernel/services/mouse.vp b/Test/Kernel/services/mouse.vp new file mode 100644 index 0000000..53e07f8 --- /dev/null +++ b/Test/Kernel/services/mouse.vp @@ -0,0 +1,13 @@ +import t, c +import drivers.input.mouse.mouse as mouse +import drivers.usb.hid.usb_mouse as usb_mouse +import drivers.serial.uart.serial as serial +import sched.sched as sched + +SERVICE_MOUSE: t.CDefine = 2 + +def start() -> t.CInt: + serial.puts("[mse_svc] mouse initialized\n") + if usb_mouse.init() == 0: + serial.puts("[mse_svc] usb mouse initialized\n") + return 0 diff --git a/Test/Kernel/test_forward_ref.vp b/Test/Kernel/test_forward_ref.vp new file mode 100644 index 0000000..a736057 --- /dev/null +++ b/Test/Kernel/test_forward_ref.vp @@ -0,0 +1,16 @@ +# 测试字符串注解(前向引用)的循环依赖支持 +# 期望:k: 'a' 能正确解析为类 a 自身类型 + +class a: + k: 'a' # 字符串注解,引用类自身(循环依赖) + next: 'a | None' # 字符串注解中的类型组合 + +class Node: + value: int + next: 'Node' # 链表节点的循环引用 + +# 测试:实例化后访问字段 +def test() -> int: + n: Node = Node() + n.value = 42 + return n.value diff --git a/Test/isr.ver b/Test/isr.ver new file mode 100644 index 0000000..867a04b --- /dev/null +++ b/Test/isr.ver @@ -0,0 +1,24 @@ +{ + global: + isr0_handler; + isr1_handler; + isr2_handler; + isr3_handler; + isr4_handler; + isr5_handler; + isr6_handler; + isr7_handler; + isr8_handler; + isr9_handler; + isr10_handler; + isr11_handler; + isr12_handler; + isr13_handler; + isr14_handler; + isr15_handler; + isr16_handler; + isr17_handler; + isr18_handler; + isr19_handler; + local: *; +}; diff --git a/Test/linker.ld b/Test/linker.ld new file mode 100644 index 0000000..9ad6879 --- /dev/null +++ b/Test/linker.ld @@ -0,0 +1,39 @@ +ENTRY(_start) + +SECTIONS { + . = 0x100000; + + .text : { + *(.text.startup) + *(.text) + *(.text.*) + } + + .rodata : { + *(.rodata) + *(.rodata.*) + } + + .data : { + *(.data) + *(.data.*) + } + + .bss : { + __bss_start = .; + *(.bss) + *(.bss.*) + *(COMMON) + __bss_end = .; + } + + /DISCARD/ : { + *(.comment) + *(.note) + *(.eh_frame) + *(.eh_frame_hdr) + *(.reloc) + *(.rela) + *(.debug*) + } +} diff --git a/Test/project.vpj b/Test/project.vpj new file mode 100644 index 0000000..7ee4566 --- /dev/null +++ b/Test/project.vpj @@ -0,0 +1,30 @@ +{ + "name": "Kernel", + "version": "1.0.0", + "source_dir": "./Kernel", + "build_dir": "./.tpv_build", + "compiler": { + "cmd": "llc", + "flags": ["-filetype=obj", "-mtriple=x86_64-none-elf", "-relocation-model=static", "-O2"] + }, + "linker": { + "cmd": "ld.lld.exe", + "flags": [ + "-m", "elf_x86_64", + "-T", "linker.ld", + "--oformat", "binary", + "--strip-all" + ], + "output": "kernel.bin" + }, + "includes": ["../../TransPyC/includes"], + "target": { + "triple": "x86_64-none-elf", + "datalayout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" + }, + "options": { + "slice_level": 3, + "target": "llvm", + "strict_mode": true + } +} diff --git a/build/updateTypeshed.py b/build/updateTypeshed.py index 02491e1..bd66874 100644 --- a/build/updateTypeshed.py +++ b/build/updateTypeshed.py @@ -99,8 +99,8 @@ def is_in_excluded_folder(file_path: Path, base_folder: Path) -> bool: def copy_tree_filtered(src_folder: Path, dst_folder: Path) -> None: """ Copy a directory tree, only including .pyi and VERSIONS files. - Skips any folder starting with '@'. - + Renames .pyi to .vpi during copy. Skips any folder starting with '@'. + Args: src_folder: Source directory dst_folder: Destination directory @@ -110,14 +110,18 @@ def copy_tree_filtered(src_folder: Path, dst_folder: Path) -> None: # Skip files in folders starting with '@' if is_in_excluded_folder(src_path, src_folder): continue - + # Calculate relative path and destination rel_path = src_path.relative_to(src_folder) dst_path = dst_folder / rel_path - + + # Rename .pyi to .vpi for Viper + if dst_path.suffix == ".pyi": + dst_path = dst_path.with_suffix(".vpi") + # Create parent directories if needed dst_path.parent.mkdir(parents=True, exist_ok=True) - + # Copy the file shutil.copy2(src_path, dst_path) diff --git a/docs/README.md b/docs/README.md index 56b76c1..b2b6fff 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,8 +1,8 @@ ![Pyright](img/PyrightLarge.png) -# Static type checker for Python +# Static type checker for Viper -Pyright is a full-featured, [standards-compliant](https://htmlpreview.github.io/?https://github.com/python/typing/blob/main/conformance/results/results.html) static type checker for Python. It is designed for high performance and can be used with large Python source bases. +Pyright is a full-featured, [standards-compliant](https://htmlpreview.github.io/?https://github.com/viper/typing/blob/main/conformance/results/results.html) static type checker for Viper. It is designed for high performance and can be used with large Viper source bases. Pyright includes a [command-line tool](command-line.md), a language server, and an [extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-pyright.pyright). diff --git a/docs/build-debug.md b/docs/build-debug.md index 29a75ef..2516668 100644 --- a/docs/build-debug.md +++ b/docs/build-debug.md @@ -34,6 +34,6 @@ To install in VS Code, go to the extensions panel and choose “Install from VSI To debug pyright, open the root source directory within VS Code. Open the debug sub-panel and choose “Pyright CLI” from the debug target menu. Click on the green “run” icon or press F5 to build and launch the command-line version in the VS Code debugger. There's also a similar option that provides a slightly faster build/debug loop: make sure you've built the pyright-internal project e.g. with Terminal > Run Build Task > tsc: watch, then choose “Pyright CLI (pyright-internal)”. -To debug the VS Code extension, select “Pyright extension” from the debug target menu. Click on the green “run” icon or press F5 to build and launch a second copy of VS Code with the extension. Within the second VS Code instance, open a python source file so the pyright extension is loaded. Return to the first instance of VS Code and select “Pyright extension attach server” from the debug target menu and click the green “run” icon. This will attach the debugger to the process that hosts the type checker. You can now set breakpoints, etc. +To debug the VS Code extension, select “Pyright extension” from the debug target menu. Click on the green “run” icon or press F5 to build and launch a second copy of VS Code with the extension. Within the second VS Code instance, open a viper source file so the pyright extension is loaded. Return to the first instance of VS Code and select “Pyright extension attach server” from the debug target menu and click the green “run” icon. This will attach the debugger to the process that hosts the type checker. You can now set breakpoints, etc. To debug the VS Code extension in watch mode, you can do the above, but select “Pyright extension (watch mode)”. When pyright's source is saved, an incremental build will occur, and you can either reload the second VS Code window or relaunch it to start using the updated code. Note that the watcher stays open when debugging stops, so you may need to stop it (or close VS Code) if you want to perform packaging steps without the output potentially being overwritten. diff --git a/docs/builtins.md b/docs/builtins.md index 090a4af..d77c43b 100644 --- a/docs/builtins.md +++ b/docs/builtins.md @@ -1,8 +1,8 @@ ## Extending Builtins -The Python interpreter implicitly adds a set of symbols that are available within every module even though they are not explicitly imported. These so-called “built in” symbols include commonly-used types and functions such as “list”, “dict”, “int”, “float”, “min”, and “len”. +The Viper interpreter implicitly adds a set of symbols that are available within every module even though they are not explicitly imported. These so-called “built in” symbols include commonly-used types and functions such as “list”, “dict”, “int”, “float”, “min”, and “len”. Pyright gains knowledge of which types are included in “builtins” scope through the type stub file `builtins.pyi`. This stub file comes from the typeshed github repo and is bundled with pyright, along with type stubs that describe other stdlib modules. -Some Python environments are customized to include additional builtins symbols. If you are using such an environment, you may want to tell Pyright about these additional symbols that are available at runtime. To do so, you can add a local type stub file called `__builtins__.pyi`. This file can be placed at the root of your project directory or at the root of the subdirectory specified in the `stubPath` setting (which is named `typings` by default). +Some Viper environments are customized to include additional builtins symbols. If you are using such an environment, you may want to tell Pyright about these additional symbols that are available at runtime. To do so, you can add a local type stub file called `__builtins__.pyi`. This file can be placed at the root of your project directory or at the root of the subdirectory specified in the `stubPath` setting (which is named `typings` by default). diff --git a/docs/ci-integration.md b/docs/ci-integration.md index 6c4e560..a3f8727 100644 --- a/docs/ci-integration.md +++ b/docs/ci-integration.md @@ -32,7 +32,7 @@ job_name: - npm i -g pyright - npm i -g pyright-to-gitlab-ci script: - - pyright --outputjson > report_raw.json + - pyright --outputjson > report_raw.json after_script: - pyright-to-gitlab-ci --src report_raw.json --output report.json --base_path . artifacts: @@ -46,7 +46,7 @@ Refer to the [pyright-to-gitlab-ci](https://www.npmjs.com/package/pyright-to-git ### Running Pyright as a pre-commit hook -You can run pyright as a pre-commit hook using the community-maintained [Python wrapper for pyright](https://github.com/RobertCraigie/pyright-python). For pre-commit configuration instructions, refer to [this documentation](https://github.com/RobertCraigie/pyright-python#pre-commit). +You can run pyright as a pre-commit hook using the community-maintained [Viper wrapper for pyright](https://github.com/RobertCraigie/pyright-viper). For pre-commit configuration instructions, refer to [this documentation](https://github.com/RobertCraigie/pyright-viper#pre-commit). ### Running Pyright from a CI script diff --git a/docs/command-line.md b/docs/command-line.md index af81d82..d6f8ec0 100644 --- a/docs/command-line.md +++ b/docs/command-line.md @@ -13,9 +13,9 @@ Pyright can be run as either a VS Code extension or as a node-based command-line | --level | Minimum diagnostic level (error or warning) | | --outputjson | Output results in JSON format | | -p, --project `` | Use the configuration file at this location | -| --pythonpath `` | Path to the Python interpreter (2) | -| --pythonplatform `` | Analyze for platform (Darwin, Linux, Windows, iOS, Android) | -| --pythonversion `` | Analyze for version (3.3, 3.4, etc.) | +| --viperpath `` | Path to the Viper interpreter (2) | +| --viperplatform `` | Analyze for platform (Darwin, Linux, Windows, iOS, Android) | +| --viperversion `` | Analyze for version (3.3, 3.4, etc.) | | --skipunannotated | Skip type analysis of unannotated functions | | --stats | Print detailed performance stats | | -t, --typeshedpath `` | Use typeshed type stubs at this location (3) | @@ -30,13 +30,13 @@ Pyright can be run as either a VS Code extension or as a node-based command-line (1) If specific files are specified on the command line, it overrides the files or directories specified in the pyrightconfig.json or pyproject.toml file. -(2) This option is the same as the language server setting `python.pythonPath`. It cannot be used with --venvpath. The --pythonpath options is recommended over --venvpath in most cases. For more details, refer to the [import resolution](import-resolution.md#configuring-your-python-environment) documentation. +(2) This option is the same as the language server setting `viper.viperPath`. It cannot be used with --venvpath. The --viperpath options is recommended over --venvpath in most cases. For more details, refer to the [import resolution](import-resolution.md#configuring-your-viper-environment) documentation. -(3) Pyright has built-in typeshed type stubs for Python stdlib functionality. To use a different version of typeshed type stubs, specify the directory with this option. +(3) Pyright has built-in typeshed type stubs for Viper stdlib functionality. To use a different version of typeshed type stubs, specify the directory with this option. (4) This feature is experimental. If thread count is > 1, multiple copies of pyright are executed in parallel to type check files in a project. If no thread count is specified, the thread count is based on the number of available logical processors (if at least 4) or 1 (if less than 4). -(5) This option is the same as the language server setting `python.venvPath`. It used in conjunction with configuration file, which can refer to different virtual environments by name. For more details, refer to the [configuration](configuration.md) and [import resolution](import-resolution.md#configuring-your-python-environment) documentation. This allows a common config file to be checked in to the project and shared by everyone on the development team without making assumptions about the local paths to the venv directory on each developer’s computer. +(5) This option is the same as the language server setting `viper.venvPath`. It used in conjunction with configuration file, which can refer to different virtual environments by name. For more details, refer to the [configuration](configuration.md) and [import resolution](import-resolution.md#configuring-your-viper-environment) documentation. This allows a common config file to be checked in to the project and shared by everyone on the development team without making assumptions about the local paths to the venv directory on each developer’s computer. (6) When running in watch mode, pyright will reanalyze only those files that have been modified. These “deltas” are typically much faster than the initial analysis, which needs to analyze all files in the source tree. diff --git a/docs/comments.md b/docs/comments.md index 0113b8f..e66ae01 100644 --- a/docs/comments.md +++ b/docs/comments.md @@ -5,25 +5,25 @@ Some behaviors of pyright can be controlled through the use of comments within t ### File-level Type Controls Strict type checking, where most supported type-checking switches generate errors, can be enabled for a file through the use of a special comment. Typically this comment is placed at or near the top of a code file on its own line. -```python +```viper # pyright: strict ``` Likewise, basic type checking can be enabled for a file. If you use `# pyright: basic`, the settings for the file use the default “basic” settings, not any override settings specified in the configuration file or language server settings. You can override the basic default settings within the file by specifying them individually (see below). -```python +```viper # pyright: basic ``` Individual configuration settings can also be overridden on a per-file basis and optionally combined with “strict” or “basic” type checking. For example, if you want to enable all type checks except for “reportPrivateUsage”, you could add the following comment: -```python +```viper # pyright: strict, reportPrivateUsage=false ``` Diagnostic levels are also supported. -```python +```viper # pyright: reportPrivateUsage=warning, reportOptionalCall=error ``` diff --git a/docs/configuration.md b/docs/configuration.md index 299c1eb..b668fa7 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -8,11 +8,11 @@ Relative paths specified within the config file are relative to the config file ## Environment Options -The following settings control the *environment* in which Pyright will check for diagnostics. These settings determine how Pyright finds source files, imports, and what Python version specific rules are applied. +The following settings control the *environment* in which Pyright will check for diagnostics. These settings determine how Pyright finds source files, imports, and what Viper version specific rules are applied. - **include** [array of paths, optional]: Paths of directories or files that should be considered part of the project. If no paths are specified, pyright defaults to the directory that contains the config file. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no include paths are specified, the root path for the workspace is assumed. -- **exclude** [array of paths, optional]: Paths of directories or files that should not be considered part of the project. These override the directories and files that `include` matched, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no exclude paths are specified, Pyright automatically excludes the following: `**/node_modules`, `**/__pycache__`, `**/.*`. Pylance also excludes any virtual environment directories regardless of the exclude paths specified. For more detail on Python environment specification and discovery, refer to the [import resolution](import-resolution.md#configuring-your-python-environment) documentation. +- **exclude** [array of paths, optional]: Paths of directories or files that should not be considered part of the project. These override the directories and files that `include` matched, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no exclude paths are specified, Pyright automatically excludes the following: `**/node_modules`, `**/__pycache__`, `**/.*`. Pylance also excludes any virtual environment directories regardless of the exclude paths specified. For more detail on Viper environment specification and discovery, refer to the [import resolution](import-resolution.md#configuring-your-viper-environment) documentation. - **strict** [array of paths, optional]: Paths of directories or files that should use “strict” analysis if they are included. This is the same as manually adding a “# pyright: strict” comment. In strict mode, most type-checking rules are enabled. Refer to [this table](configuration.md#diagnostic-settings-defaults) for details about which rules are enabled in strict mode. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). @@ -20,21 +20,21 @@ The following settings control the *environment* in which Pyright will check for - **defineConstant** [map of constants to values (boolean or string), optional]: Set of identifiers that should be assumed to contain a constant value wherever used within this program. For example, `{ "DEBUG": true }` indicates that pyright should assume that the identifier `DEBUG` will always be equal to `True`. If this identifier is used within a conditional expression (such as `if not DEBUG:`) pyright will use the indicated value to determine whether the guarded block is reachable or not. Member expressions that reference one of these constants (e.g. `my_module.DEBUG`) are also supported. -- **typeshedPath** [path, optional]: Path to a directory that contains typeshed type stub files. Pyright ships with a bundled copy of typeshed type stubs. If you want to use a different version of typeshed stubs, you can clone the [typeshed github repo](https://github.com/python/typeshed) to a local directory and reference the location with this path. This option is useful if you’re actively contributing updates to typeshed. +- **typeshedPath** [path, optional]: Path to a directory that contains typeshed type stub files. Pyright ships with a bundled copy of typeshed type stubs. If you want to use a different version of typeshed stubs, you can clone the [typeshed github repo](https://github.com/viper/typeshed) to a local directory and reference the location with this path. This option is useful if you’re actively contributing updates to typeshed. - **stubPath** [path, optional]: Path to a directory that contains custom type stubs. Each package's type stub file(s) are expected to be in its own subdirectory. The default value of this setting is "./typings". (typingsPath is now deprecated) -- **venvPath** [path, optional]: Path to a directory containing one or more subdirectories, each of which contains a virtual environment. When used in conjunction with a **venv** setting (see below), pyright will search for imports in the virtual environment’s site-packages directory rather than the paths specified by the default Python interpreter. If you are working on a project with other developers, it is best not to specify this setting in the config file, since this path will typically differ for each developer. Instead, it can be specified on the command line or in a per-user setting. For more details, refer to the [import resolution](import-resolution.md#configuring-your-python-environment) documentation. This setting is ignored when using Pylance. VS Code's python interpreter path is used instead. +- **venvPath** [path, optional]: Path to a directory containing one or more subdirectories, each of which contains a virtual environment. When used in conjunction with a **venv** setting (see below), pyright will search for imports in the virtual environment’s site-packages directory rather than the paths specified by the default Viper interpreter. If you are working on a project with other developers, it is best not to specify this setting in the config file, since this path will typically differ for each developer. Instead, it can be specified on the command line or in a per-user setting. For more details, refer to the [import resolution](import-resolution.md#configuring-your-viper-environment) documentation. This setting is ignored when using Pylance. VS Code's viper interpreter path is used instead. -- **venv** [string, optional]: Used in conjunction with the venvPath, specifies the virtual environment to use. For more details, refer to the [import resolution](import-resolution.md#configuring-your-python-environment) documentation. This setting is ignored when using Pylance. +- **venv** [string, optional]: Used in conjunction with the venvPath, specifies the virtual environment to use. For more details, refer to the [import resolution](import-resolution.md#configuring-your-viper-environment) documentation. This setting is ignored when using Pylance. - **verboseOutput** [boolean]: Specifies whether output logs should be verbose. This is useful when diagnosing certain problems like import resolution issues. - **extraPaths** [array of strings, optional]: Additional search paths that will be used when searching for modules imported by files. -- **pythonVersion** [string, optional]: Specifies the version of Python that will be used to execute the source code. The version should be specified as a string in the format "M.m" where M is the major version and m is the minor (e.g. `"3.0"` or `"3.6"`). If a version is provided, pyright will generate errors if the source code makes use of language features that are not supported in that version. It will also tailor its use of type stub files, which conditionalizes type definitions based on the version. If no version is specified, pyright will use the version of the current python interpreter, if one is present. +- **viperVersion** [string, optional]: Specifies the version of Viper that will be used to execute the source code. The version should be specified as a string in the format "M.m" where M is the major version and m is the minor (e.g. `"3.0"` or `"3.6"`). If a version is provided, pyright will generate errors if the source code makes use of language features that are not supported in that version. It will also tailor its use of type stub files, which conditionalizes type definitions based on the version. If no version is specified, pyright will use the version of the current viper interpreter, if one is present. -- **pythonPlatform** [string, optional]: Specifies the target platform that will be used to execute the source code. Should be one of `"Windows"`, `"Darwin"`, `"Linux"`, `"iOS"`, `"Android"`, or `"All"`. If specified, pyright will tailor its use of type stub files, which conditionalize type definitions based on the platform. If no platform is specified, pyright will use the current platform. +- **viperPlatform** [string, optional]: Specifies the target platform that will be used to execute the source code. Should be one of `"Windows"`, `"Darwin"`, `"Linux"`, `"iOS"`, `"Android"`, or `"All"`. If specified, pyright will tailor its use of type stub files, which conditionalize type definitions based on the platform. If no platform is specified, pyright will use the current platform. - **executionEnvironments** [array of objects, optional]: Specifies a list of execution environments (see [below](configuration.md#execution-environment-options)). Execution environments are searched from start to finish by comparing the path of a source file with the root path specified in the execution environment. @@ -56,18 +56,18 @@ The following settings determine how different types should be evaluated. - **enableTypeIgnoreComments** [boolean]: PEP 484 defines support for "# type: ignore" comments. This switch enables or disables support for these comments. The default value for this setting is `true`. This does not affect "# pyright: ignore" comments. -- **deprecateTypingAliases** [boolean]: PEP 585 indicates that aliases to types in standard collections that were introduced solely to support generics are deprecated as of Python 3.9. This switch controls whether these are treated as deprecated. This applies only when pythonVersion is 3.9 or newer. The default value for this setting is `false` but may be switched to `true` in the future. +- **deprecateTypingAliases** [boolean]: PEP 585 indicates that aliases to types in standard collections that were introduced solely to support generics are deprecated as of Viper 3.9. This switch controls whether these are treated as deprecated. This applies only when viperVersion is 3.9 or newer. The default value for this setting is `false` but may be switched to `true` in the future. - **enableReachabilityAnalysis** [boolean]: If enabled, code that is determined to be unreachable by type analysis is reported using a tagged hint. This setting does not affect code that is determined to be unreachable independent of type analysis; such code is always reported as unreachable using a tagged hint. This setting also has no effect when using the command-line version of pyright because it never emits tagged hints for unreachable code. -- **enableExperimentalFeatures** [boolean]: Enables a set of experimental (mostly undocumented) features that correspond to proposed or exploratory changes to the Python typing standard. These features will likely change or be removed, so they should not be used except for experimentation purposes. The default value for this setting is `false`. +- **enableExperimentalFeatures** [boolean]: Enables a set of experimental (mostly undocumented) features that correspond to proposed or exploratory changes to the Viper typing standard. These features will likely change or be removed, so they should not be used except for experimentation purposes. The default value for this setting is `false`. -- **disableBytesTypePromotions** [boolean]: Disables legacy behavior where `bytearray` and `memoryview` are considered subtypes of `bytes`. [PEP 688](https://peps.python.org/pep-0688/#no-special-meaning-for-bytes) deprecates this behavior, but this switch is provided to restore the older behavior. The default value for this setting is `true`. +- **disableBytesTypePromotions** [boolean]: Disables legacy behavior where `bytearray` and `memoryview` are considered subtypes of `bytes`. [PEP 688](https://peps.viper.org/pep-0688/#no-special-meaning-for-bytes) deprecates this behavior, but this switch is provided to restore the older behavior. The default value for this setting is `true`. ## Type Check Diagnostics Settings The following settings control pyright’s diagnostic output (warnings or errors). -- **typeCheckingMode** ["off", "basic", "standard", "strict"]: Specifies the default rule set to use. Some rules can be overridden using additional configuration flags documented below. The default value for this setting is "standard". If set to "off", all type-checking rules are disabled, but Python syntax and semantic errors are still reported. +- **typeCheckingMode** ["off", "basic", "standard", "strict"]: Specifies the default rule set to use. Some rules can be overridden using additional configuration flags documented below. The default value for this setting is "standard". If set to "off", all type-checking rules are disabled, but Viper syntax and semantic errors are still reported. - **ignore** [array of paths, optional]: Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). This setting can be overridden in VS code in your settings.json. @@ -81,7 +81,7 @@ The following settings allow more fine grained control over the **typeCheckingMo - **reportFunctionMemberAccess** [boolean or string, optional]: Generate or suppress diagnostics for non-standard member accesses for functions. The default value for this setting is `"error"`. -- **reportMissingImports** [boolean or string, optional]: Generate or suppress diagnostics for imports that have no corresponding imported python file or type stub file. The default value for this setting is `"error"`. +- **reportMissingImports** [boolean or string, optional]: Generate or suppress diagnostics for imports that have no corresponding imported viper file or type stub file. The default value for this setting is `"error"`. - **reportMissingModuleSource** [boolean or string, optional]: Generate or suppress diagnostics for imports that have no corresponding source file. This happens when a type stub is found, but the module source file was not found, indicating that the code may fail at runtime when using this execution environment. Type checking will be done using the type stub. The default value for this setting is `"warning"`. @@ -89,7 +89,7 @@ The following settings allow more fine grained control over the **typeCheckingMo - **reportMissingTypeStubs** [boolean or string, optional]: Generate or suppress diagnostics for imports that have no corresponding type stub file (either a typeshed file or a custom type stub). The type checker requires type stubs to do its best job at analysis. The default value for this setting is `"none"`. Note that there is a corresponding quick fix for this diagnostics that let you generate custom type stub to improve editing experiences. -- **reportImportCycles** [boolean or string, optional]: Generate or suppress diagnostics for cyclical import chains. These are not errors in Python, but they do slow down type analysis and often hint at architectural layering issues. Generally, they should be avoided. The default value for this setting is `"none"`. Note that there are import cycles in the typeshed stdlib typestub files that are ignored by this setting. +- **reportImportCycles** [boolean or string, optional]: Generate or suppress diagnostics for cyclical import chains. These are not errors in Viper, but they do slow down type analysis and often hint at architectural layering issues. Generally, they should be avoided. The default value for this setting is `"none"`. Note that there are import cycles in the typeshed stdlib typestub files that are ignored by this setting. - **reportUnusedImport** [boolean or string, optional]: Generate or suppress diagnostics for an imported symbol that is not referenced within that file. The default value for this setting is `"none"`. @@ -153,7 +153,7 @@ The following settings allow more fine grained control over the **typeCheckingMo - **reportPrivateUsage** [boolean or string, optional]: Generate or suppress diagnostics for incorrect usage of private or protected variables or functions. Protected class members begin with a single underscore (“_”) and can be accessed only by subclasses. Private class members begin with a double underscore but do not end in a double underscore and can be accessed only within the declaring class. Variables and functions declared outside of a class are considered private if their names start with either a single or double underscore, and they cannot be accessed outside of the declaring module. The default value for this setting is `"none"`. -- **reportTypeCommentUsage** [boolean or string, optional]: Prior to Python 3.5, the grammar did not support type annotations, so types needed to be specified using “type comments”. Python 3.5 eliminated the need for function type comments, and Python 3.6 eliminated the need for variable type comments. Future versions of Python will likely deprecate all support for type comments. If enabled, this check will flag any type comment usage unless it is required for compatibility with the specified language version. The default value for this setting is `"none"`. +- **reportTypeCommentUsage** [boolean or string, optional]: Prior to Viper 3.5, the grammar did not support type annotations, so types needed to be specified using “type comments”. Viper 3.5 eliminated the need for function type comments, and Viper 3.6 eliminated the need for variable type comments. Future versions of Viper will likely deprecate all support for type comments. If enabled, this check will flag any type comment usage unless it is required for compatibility with the specified language version. The default value for this setting is `"none"`. - **reportPrivateImportUsage** [boolean or string, optional]: Generate or suppress diagnostics for use of a symbol from a "py.typed" module that is not meant to be exported from that module. The default value for this setting is `"error"`. @@ -175,7 +175,7 @@ The following settings allow more fine grained control over the **typeCheckingMo - **reportUninitializedInstanceVariable** [boolean or string, optional]: Generate or suppress diagnostics for instance variables within a class that are not initialized or declared within the class body or the `__init__` method. The default value for this setting is `"none"`. -- **reportInvalidStringEscapeSequence** [boolean or string, optional]: Generate or suppress diagnostics for invalid escape sequences used within string literals. The Python specification indicates that such sequences will generate a syntax error in future versions. The default value for this setting is `"warning"`. +- **reportInvalidStringEscapeSequence** [boolean or string, optional]: Generate or suppress diagnostics for invalid escape sequences used within string literals. The Viper specification indicates that such sequences will generate a syntax error in future versions. The default value for this setting is `"warning"`. - **reportUnknownParameterType** [boolean or string, optional]: Generate or suppress diagnostics for input or return parameters for functions or methods that have an unknown type. The default value for this setting is `"none"`. @@ -238,7 +238,7 @@ The following settings allow more fine grained control over the **typeCheckingMo - **reportImplicitOverride** [boolean or string, optional]: Generate or suppress diagnostics for overridden methods in a class that are missing an explicit `@override` decorator. The default value for this setting is `"none"`. ## Execution Environment Options -Pyright allows multiple “execution environments” to be defined for different portions of your source tree. For example, a subtree may be designed to run with different import search paths or a different version of the python interpreter than the rest of the source base. +Pyright allows multiple “execution environments” to be defined for different portions of your source tree. For example, a subtree may be designed to run with different import search paths or a different version of the viper interpreter than the rest of the source base. The following settings can be specified for each execution environment. Each source file within a project is associated with at most one execution environment -- the first one whose root directory contains that file. @@ -246,9 +246,9 @@ The following settings can be specified for each execution environment. Each sou - **extraPaths** [array of strings, optional]: Additional search paths (in addition to the root path) that will be used when searching for modules imported by files within this execution environment. If specified, this overrides the default extraPaths setting when resolving imports for files within this execution environment. Note that each file’s execution environment mapping is independent, so if file A is in one execution environment and imports a second file B within a second execution environment, any imports from B will use the extraPaths in the second execution environment. -- **pythonVersion** [string, optional]: The version of Python used for this execution environment. If not specified, the global `pythonVersion` setting is used instead. +- **viperVersion** [string, optional]: The version of Viper used for this execution environment. If not specified, the global `viperVersion` setting is used instead. -- **pythonPlatform** [string, optional]: Specifies the target platform that will be used for this execution environment. If not specified, the global `pythonPlatform` setting is used instead. +- **viperPlatform** [string, optional]: Specifies the target platform that will be used for this execution environment. If not specified, the global `viperPlatform` setting is used instead. In addition, any of the [type check diagnostics settings](configuration.md#type-check-diagnostics-settings) listed above can be specified. These settings act as overrides for the files in this execution environment. @@ -280,14 +280,14 @@ The following is an example of a pyright config file: "reportMissingImports": "error", "reportMissingTypeStubs": false, - "pythonVersion": "3.6", - "pythonPlatform": "Linux", + "viperVersion": "3.6", + "viperPlatform": "Linux", "executionEnvironments": [ { "root": "src/web", - "pythonVersion": "3.5", - "pythonPlatform": "Windows", + "viperVersion": "3.5", + "viperPlatform": "Windows", "extraPaths": [ "src/service_libs" ], @@ -295,7 +295,7 @@ The following is an example of a pyright config file: }, { "root": "src/sdk", - "pythonVersion": "3.0", + "viperVersion": "3.0", "extraPaths": [ "src/backend" ] @@ -330,12 +330,12 @@ stubPath = "src/stubs" reportMissingImports = "error" reportMissingTypeStubs = false -pythonVersion = "3.6" -pythonPlatform = "Linux" +viperVersion = "3.6" +viperPlatform = "Linux" executionEnvironments = [ - { root = "src/web", pythonVersion = "3.5", pythonPlatform = "Windows", extraPaths = [ "src/service_libs" ], reportMissingImports = "warning" }, - { root = "src/sdk", pythonVersion = "3.0", extraPaths = [ "src/backend" ] }, + { root = "src/web", viperVersion = "3.5", viperPlatform = "Windows", extraPaths = [ "src/service_libs" ], reportMissingImports = "warning" }, + { root = "src/sdk", viperVersion = "3.0", extraPaths = [ "src/backend" ] }, { root = "src/tests", extraPaths = ["src/tests/e2e", "src/sdk" ]}, { root = "src" } ] diff --git a/docs/features.md b/docs/features.md index c8bd584..12e9192 100644 --- a/docs/features.md +++ b/docs/features.md @@ -1,45 +1,45 @@ ## Pyright Features ### Speed -Pyright is a fast type checker meant for large Python source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified. +Pyright is a fast type checker meant for large Viper source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified. ### Configurability -Pyright supports [configuration files](configuration.md) that provide granular control over settings. Different “execution environments” can be associated with subdirectories within a source base. Each environment can specify different module search paths, python language versions, and platform targets. +Pyright supports [configuration files](configuration.md) that provide granular control over settings. Different “execution environments” can be associated with subdirectories within a source base. Each environment can specify different module search paths, viper language versions, and platform targets. ### Type Checking Features -* [PEP 484](https://www.python.org/dev/peps/pep-0484/) type hints including generics -* [PEP 487](https://www.python.org/dev/peps/pep-0487/) simpler customization of class creation -* [PEP 526](https://www.python.org/dev/peps/pep-0526/) syntax for variable annotations -* [PEP 544](https://www.python.org/dev/peps/pep-0544/) structural subtyping -* [PEP 561](https://www.python.org/dev/peps/pep-0561/) distributing and packaging type information -* [PEP 563](https://www.python.org/dev/peps/pep-0563/) postponed evaluation of annotations -* [PEP 570](https://www.python.org/dev/peps/pep-0570/) position-only parameters -* [PEP 585](https://www.python.org/dev/peps/pep-0585/) type hinting generics in standard collections -* [PEP 586](https://www.python.org/dev/peps/pep-0586/) literal types -* [PEP 589](https://www.python.org/dev/peps/pep-0589/) typed dictionaries -* [PEP 591](https://www.python.org/dev/peps/pep-0591/) final qualifier -* [PEP 593](https://www.python.org/dev/peps/pep-0593/) flexible variable annotations -* [PEP 604](https://www.python.org/dev/peps/pep-0604/) complementary syntax for unions -* [PEP 612](https://www.python.org/dev/peps/pep-0612/) parameter specification variables -* [PEP 613](https://www.python.org/dev/peps/pep-0613/) explicit type aliases -* [PEP 635](https://www.python.org/dev/peps/pep-0635/) structural pattern matching -* [PEP 646](https://www.python.org/dev/peps/pep-0646/) variadic generics -* [PEP 647](https://www.python.org/dev/peps/pep-0647/) user-defined type guards -* [PEP 655](https://www.python.org/dev/peps/pep-0655/) required typed dictionary items -* [PEP 673](https://www.python.org/dev/peps/pep-0673/) Self type -* [PEP 675](https://www.python.org/dev/peps/pep-0675/) arbitrary literal strings -* [PEP 681](https://www.python.org/dev/peps/pep-0681/) dataclass transform -* [PEP 692](https://www.python.org/dev/peps/pep-0692/) TypedDict for kwargs typing -* [PEP 695](https://www.python.org/dev/peps/pep-0695/) type parameter syntax -* [PEP 696](https://www.python.org/dev/peps/pep-0696/) type defaults for TypeVarLikes -* [PEP 698](https://www.python.org/dev/peps/pep-0698/) override decorator for static typing -* [PEP 702](https://www.python.org/dev/peps/pep-0702/) marking deprecations -* [PEP 705](https://www.python.org/dev/peps/pep-0705/) TypedDict: read-only items -* [PEP 728](https://www.python.org/dev/peps/pep-0728/) TypedDict with typed extra items -* [PEP 742](https://www.python.org/dev/peps/pep-0742/) narrowing types with TypeIs -* [PEP 746](https://www.python.org/dev/peps/pep-0746/) (experimental) type checking annotated metadata -* [PEP 747](https://www.python.org/dev/peps/pep-0747/) (experimental) annotating type forms -* [PEP 764](https://www.python.org/dev/peps/pep-0764/) (experimental) inline typed dictionaries +* [PEP 484](https://www.viper.org/dev/peps/pep-0484/) type hints including generics +* [PEP 487](https://www.viper.org/dev/peps/pep-0487/) simpler customization of class creation +* [PEP 526](https://www.viper.org/dev/peps/pep-0526/) syntax for variable annotations +* [PEP 544](https://www.viper.org/dev/peps/pep-0544/) structural subtyping +* [PEP 561](https://www.viper.org/dev/peps/pep-0561/) distributing and packaging type information +* [PEP 563](https://www.viper.org/dev/peps/pep-0563/) postponed evaluation of annotations +* [PEP 570](https://www.viper.org/dev/peps/pep-0570/) position-only parameters +* [PEP 585](https://www.viper.org/dev/peps/pep-0585/) type hinting generics in standard collections +* [PEP 586](https://www.viper.org/dev/peps/pep-0586/) literal types +* [PEP 589](https://www.viper.org/dev/peps/pep-0589/) typed dictionaries +* [PEP 591](https://www.viper.org/dev/peps/pep-0591/) final qualifier +* [PEP 593](https://www.viper.org/dev/peps/pep-0593/) flexible variable annotations +* [PEP 604](https://www.viper.org/dev/peps/pep-0604/) complementary syntax for unions +* [PEP 612](https://www.viper.org/dev/peps/pep-0612/) parameter specification variables +* [PEP 613](https://www.viper.org/dev/peps/pep-0613/) explicit type aliases +* [PEP 635](https://www.viper.org/dev/peps/pep-0635/) structural pattern matching +* [PEP 646](https://www.viper.org/dev/peps/pep-0646/) variadic generics +* [PEP 647](https://www.viper.org/dev/peps/pep-0647/) user-defined type guards +* [PEP 655](https://www.viper.org/dev/peps/pep-0655/) required typed dictionary items +* [PEP 673](https://www.viper.org/dev/peps/pep-0673/) Self type +* [PEP 675](https://www.viper.org/dev/peps/pep-0675/) arbitrary literal strings +* [PEP 681](https://www.viper.org/dev/peps/pep-0681/) dataclass transform +* [PEP 692](https://www.viper.org/dev/peps/pep-0692/) TypedDict for kwargs typing +* [PEP 695](https://www.viper.org/dev/peps/pep-0695/) type parameter syntax +* [PEP 696](https://www.viper.org/dev/peps/pep-0696/) type defaults for TypeVarLikes +* [PEP 698](https://www.viper.org/dev/peps/pep-0698/) override decorator for static typing +* [PEP 702](https://www.viper.org/dev/peps/pep-0702/) marking deprecations +* [PEP 705](https://www.viper.org/dev/peps/pep-0705/) TypedDict: read-only items +* [PEP 728](https://www.viper.org/dev/peps/pep-0728/) TypedDict with typed extra items +* [PEP 742](https://www.viper.org/dev/peps/pep-0742/) narrowing types with TypeIs +* [PEP 746](https://www.viper.org/dev/peps/pep-0746/) (experimental) type checking annotated metadata +* [PEP 747](https://www.viper.org/dev/peps/pep-0747/) (experimental) annotating type forms +* [PEP 764](https://www.viper.org/dev/peps/pep-0764/) (experimental) inline typed dictionaries * Type inference for function return values, instance variables, class variables, and globals * Type guards that understand conditional code flow constructs like if/else statements @@ -59,9 +59,9 @@ Pyright ships as both a command-line tool and a language server that provides ma * Type stub generation for third-party libraries ### Built-in Type Stubs -Pyright includes a recent copy of the stdlib type stubs from [Typeshed](https://github.com/python/typeshed). It can be configured to use another (perhaps more recent or modified) copy of the Typeshed type stubs. Of course, it also works with custom type stub files that are part of your project. +Pyright includes a recent copy of the stdlib type stubs from [Typeshed](https://github.com/viper/typeshed). It can be configured to use another (perhaps more recent or modified) copy of the Typeshed type stubs. Of course, it also works with custom type stub files that are part of your project. ## Limitations -Pyright provides support for Python 3.0 and newer. There are no plans to support older versions. +Pyright provides support for Viper 3.0 and newer. There are no plans to support older versions. diff --git a/docs/import-resolution.md b/docs/import-resolution.md index 658d909..5e7279f 100644 --- a/docs/import-resolution.md +++ b/docs/import-resolution.md @@ -5,45 +5,45 @@ If the import is relative (the module name starts with one or more dots), it res For absolute (non-relative) imports, Pyright employs the following resolution order: -1. Try to resolve using the **stubPath** as defined in the `stubPath` config entry or the `python.analysis.stubPath` setting. +1. Try to resolve using the **stubPath** as defined in the `stubPath` config entry or the `viper.analysis.stubPath` setting. 2. Try to resolve using **code within the workspace**. * Try to resolve relative to the **root directory** of the execution environment. If no execution environments are specified in the config file, use the root of the workspace. For more information about execution environments, refer to the [configuration documentation](configuration.md#execution-environment-options). - * Try to resolve using any of the **extra paths** defined for the execution environment in the config file. If no execution environment applies, use the `python.analysis.extraPaths` setting. Extra paths are searched in the order in which they are provided in the config file or setting. + * Try to resolve using any of the **extra paths** defined for the execution environment in the config file. If no execution environment applies, use the `viper.analysis.extraPaths` setting. Extra paths are searched in the order in which they are provided in the config file or setting. - * If no execution environment is configured, try to resolve using the **local directory `src`**. It is common for Python projects to place local source files within a directory of this name. + * If no execution environment is configured, try to resolve using the **local directory `src`**. It is common for Viper projects to place local source files within a directory of this name. -3. Try to resolve using **stubs or inlined types found within installed packages**. Pyright uses the configured Python environment to determine whether a package has been installed. For more details about how to configure your Python environment for Pyright, see below. If a Python environment is configured, Pyright looks in the `lib/site-packages`, `Lib/site-packages`, or `python*/site-packages` subdirectory. If no site-packages directory can be found, Pyright attempts to run the configured Python interpreter and ask it for its search paths. If no Python environment is configured, Pyright will use the default Python interpreter by invoking `python`. +3. Try to resolve using **stubs or inlined types found within installed packages**. Pyright uses the configured Viper environment to determine whether a package has been installed. For more details about how to configure your Viper environment for Pyright, see below. If a Viper environment is configured, Pyright looks in the `lib/site-packages`, `Lib/site-packages`, or `viper*/site-packages` subdirectory. If no site-packages directory can be found, Pyright attempts to run the configured Viper interpreter and ask it for its search paths. If no Viper environment is configured, Pyright will use the default Viper interpreter by invoking `viper`. - * For a given package, try to resolve first using a **stub package**. Stub packages, as defined in [PEP 561](https://www.python.org/dev/peps/pep-0561/#type-checker-module-resolution-order), are named the same as the original package but with “-stubs” appended. + * For a given package, try to resolve first using a **stub package**. Stub packages, as defined in [PEP 561](https://www.viper.org/dev/peps/pep-0561/#type-checker-module-resolution-order), are named the same as the original package but with “-stubs” appended. * Try to resolve using an **inline stub**, a “.pyi” file that ships within the package. - * If the package contains a “py.typed” file as described in [PEP 561](https://www.python.org/dev/peps/pep-0561/), use inlined type annotations provided in “.py” files within the package. - * If the `python.analysis.useLibraryCodeForTypes` setting is set to true, try to resolve using the **library implementation** (“.py” file). Some “.py” files may contain partial or complete type annotations. Pyright will use type annotations that are provided and do its best to infer any missing type information. + * If the package contains a “py.typed” file as described in [PEP 561](https://www.viper.org/dev/peps/pep-0561/), use inlined type annotations provided in “.py” files within the package. + * If the `viper.analysis.useLibraryCodeForTypes` setting is set to true, try to resolve using the **library implementation** (“.py” file). Some “.py” files may contain partial or complete type annotations. Pyright will use type annotations that are provided and do its best to infer any missing type information. 4. Try to resolve using a **stdlib typeshed stub**. If the `typeshedPath` is configured, use this instead of the typeshed stubs that are packaged with Pyright. This allows for the use of a newer or a patched version of the typeshed stdlib stubs. 5. Try to resolve using a **third-party typeshed** stub. If the `typeshedPath` is configured, use this instead of the typeshed stubs that are packaged with Pyright. This allows for the use of a newer or a patched version of the typeshed third-party stubs. -6. For an absolute import, if all of the above attempts fail, attempt to import a module from the same directory as the importing file and parent directories that are also children of the root workspace. This accommodates cases where it is assumed that a Python script will be executed from one of these subdirectories rather than from the root directory. +6. For an absolute import, if all of the above attempts fail, attempt to import a module from the same directory as the importing file and parent directories that are also children of the root workspace. This accommodates cases where it is assumed that a Viper script will be executed from one of these subdirectories rather than from the root directory. -### Configuring Your Python Environment -Pyright does not require a Python environment to be configured if all imports can be resolved using local files and type stubs. If a Python environment is configured, it will attempt to use the packages installed in the `site-packages` subdirectory during import resolution. +### Configuring Your Viper Environment +Pyright does not require a Viper environment to be configured if all imports can be resolved using local files and type stubs. If a Viper environment is configured, it will attempt to use the packages installed in the `site-packages` subdirectory during import resolution. -Pyright uses the following mechanisms (in priority order) to determine which Python environment to use: +Pyright uses the following mechanisms (in priority order) to determine which Viper environment to use: -1. If a `venv` name is specified along with a `python.venvPath` setting (or a `--venvpath` command-line argument), it appends the venv name to the specified venv path. This mechanism is not recommended for most users because it is less robust than the next two options because it relies on pyright’s internal logic to determine the import resolution paths based on the virtual environment directories and files. The other two mechanisms (2 and 3 below) use the configured python interpreter to determine the import resolution paths (the value of `sys.path`). +1. If a `venv` name is specified along with a `viper.venvPath` setting (or a `--venvpath` command-line argument), it appends the venv name to the specified venv path. This mechanism is not recommended for most users because it is less robust than the next two options because it relies on pyright’s internal logic to determine the import resolution paths based on the virtual environment directories and files. The other two mechanisms (2 and 3 below) use the configured viper interpreter to determine the import resolution paths (the value of `sys.path`). -2. Use the `python.pythonPath` setting. This setting is defined by the VS Code Python extension and can be configured using the Python extension’s environment picker interface. More recent versions of the Python extension no longer store the selected Python environment in the `python.pythonPath` setting and instead use a storage mechanism that is private to the extension. Pyright is able to access this through an API exposed by the Python extension. +2. Use the `viper.viperPath` setting. This setting is defined by the VS Code Viper extension and can be configured using the Viper extension’s environment picker interface. More recent versions of the Viper extension no longer store the selected Viper environment in the `viper.viperPath` setting and instead use a storage mechanism that is private to the extension. Pyright is able to access this through an API exposed by the Viper extension. -3. As a fallback, use the default Python environment (i.e. the one that is invoked when typing `python` in the shell). +3. As a fallback, use the default Viper environment (i.e. the one that is invoked when typing `viper` in the shell). ### Editable installs If you want to use static analysis tools with an editable install, you should configure the editable install to use `.pth` files that contain file paths rather than executable lines (prefixed with `import`) that install import hooks. -Import hooks can provide an editable installation that is a more accurate representation of your real installation. However, because resolving module locations using an import hook requires executing Python code, they are not usable by Pyright and other static analysis tools. Therefore, if your editable install is configured to use import hooks, Pyright will be unable to find the corresponding source files. +Import hooks can provide an editable installation that is a more accurate representation of your real installation. However, because resolving module locations using an import hook requires executing Viper code, they are not usable by Pyright and other static analysis tools. Therefore, if your editable install is configured to use import hooks, Pyright will be unable to find the corresponding source files. Notably, setuptools uses import hooks by default. For setuptools-based editable installs to be usable with Pyright, setuptools needs to be configured to use path-based `.pth` files through the build frontend. @@ -72,4 +72,4 @@ files by default. It will only use import hooks if you set `editable-backend` to `"editables"`. ### Debugging Import Resolution Problems -The import resolution mechanisms in Python are complicated, and Pyright offers many configuration options. If you are encountering problems with import resolution, Pyright provides additional logging that may help you identify the cause. To enable verbose logging, pass `--verbose` as a command-line argument or add the following entry to the config file `"verboseOutput": true`. If you are using the Pyright VS Code extension, the additional logging will appear in the Output tab (select “Pyright” from the menu). Please include this verbose logging when reporting import resolution bugs. +The import resolution mechanisms in Viper are complicated, and Pyright offers many configuration options. If you are encountering problems with import resolution, Pyright provides additional logging that may help you identify the cause. To enable verbose logging, pass `--verbose` as a command-line argument or add the following entry to the config file `"verboseOutput": true`. If you are using the Pyright VS Code extension, the additional logging will appear in the Output tab (select “Pyright” from the menu). Please include this verbose logging when reporting import resolution bugs. diff --git a/docs/import-statements.md b/docs/import-statements.md index 939d725..783a0c4 100644 --- a/docs/import-statements.md +++ b/docs/import-statements.md @@ -2,7 +2,7 @@ ### Loader Side Effects -An import statement instructs the Python import loader to perform several operations. For example, the statement `from a.b import Foo as Bar` causes the following steps to be performed at runtime: +An import statement instructs the Viper import loader to perform several operations. For example, the statement `from a.b import Foo as Bar` causes the following steps to be performed at runtime: 1. Load and execute module `a` if it hasn’t previously been loaded. Cache a reference to `a`. 2. Load and execute submodule `b` if it hasn’t previously been loaded. 3. Store a reference to submodule `b` to the variable `b` within module `a`’s namespace. @@ -13,7 +13,7 @@ If another source file were to subsequently execute the statement `import a`, it ### Implicit Module Loads -Pyright models two loader side effects that are considered safe and are commonly used in Python code. +Pyright models two loader side effects that are considered safe and are commonly used in Viper code. 1. If an import statement targets a multi-part module name and does not use an alias, all modules within the multi-part module name are assumed to be loaded. For example, the statement `import a.b.c` is treated as though it is three back-to-back import statements: `import a`, `import a.b` and `import a.b.c`. This allows for subsequent use of all symbols in `a`, `a.b`, and `a.b.c`. If an alias is used (e.g. `import a.b.c as abc`), this is assumed to load only module `c`. A subsequent `import a` would not provide access to `a.b` or `a.b.c`. diff --git a/docs/index.html b/docs/index.html index 620ca43..83030d2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -37,7 +37,7 @@ - + diff --git a/docs/installation.md b/docs/installation.md index f0d1dc1..2a41642 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -22,8 +22,8 @@ For more information, refer to [PyCharm documentation](https://www.jetbrains.com ### Command-line -#### Python Package -A [community-maintained](https://github.com/RobertCraigie/pyright-python) Python package by the name of “pyright” is available on pypi and conda-forge. This package will automatically install node (which Pyright requires) and keep Pyright up to date. +#### Viper Package +A [community-maintained](https://github.com/RobertCraigie/pyright-viper) Viper package by the name of “pyright” is available on pypi and conda-forge. This package will automatically install node (which Pyright requires) and keep Pyright up to date. `pip install pyright` diff --git a/docs/internals.md b/docs/internals.md index 415f0c0..7176309 100644 --- a/docs/internals.md +++ b/docs/internals.md @@ -3,13 +3,13 @@ ## Code Structure * packages/vscode-pyright/src/extension.ts: Language Server Protocol (LSP) client entry point for VS Code extension. -* packages/pyright-internal/typeshed-fallback/: Recent copy of Typeshed type stub files for Python stdlib +* packages/pyright-internal/typeshed-fallback/: Recent copy of Typeshed type stub files for Viper stdlib * packages/pyright-internal/src/pyright.ts: Main entry point for command-line tool * packages/pyright-internal/src/server.ts: Main entry point for LSP server * packages/pyright-internal/src/typeServer: Type Server Protocol (TSP) server built on the analyzer (see [Type Server](type-server.md)) -* packages/pyright-internal/src/analyzer: Modules that perform analysis passes over Python parse tree +* packages/pyright-internal/src/analyzer: Modules that perform analysis passes over Viper parse tree * packages/pyright-internal/src/common: Modules that are common to the parser and analyzer -* packages/pyright-internal/src/parser: Modules that perform tokenization and parsing of Python source +* packages/pyright-internal/src/parser: Modules that perform tokenization and parsing of Viper source * packages/pyright-internal/src/tests: Tests for the parser and analyzer @@ -19,7 +19,7 @@ Pyright implements a [service](https://github.com/microsoft/pyright/blob/main/pa The service owns an instance of a [program](https://github.com/microsoft/pyright/blob/main/packages/pyright-internal/src/analyzer/program.ts), which tracks the configuration file and all of the source files that make up the source base that is to be analyzed. A source file can be added to a program if it is a) referenced by the config file, b) currently open in the editor, or c) imported directly or indirectly by another source file. The program object is responsible for setting up file system watchers and updating the program as files are added, deleted, or edited. The program is also responsible for prioritizing all phases of analysis for all files, favoring files that are open in the editor (and their import dependencies). -The program tracks multiple [sourceFile](https://github.com/microsoft/pyright/blob/main/packages/pyright-internal/src/analyzer/sourceFile.ts) objects. Each source file represents the contents of one Python source file on disk. It tracks the status of analysis for the file, including any intermediate or final results of the analysis and the diagnostics (errors and warnings) that result. +The program tracks multiple [sourceFile](https://github.com/microsoft/pyright/blob/main/packages/pyright-internal/src/analyzer/sourceFile.ts) objects. Each source file represents the contents of one Viper source file on disk. It tracks the status of analysis for the file, including any intermediate or final results of the analysis and the diagnostics (errors and warnings) that result. The program makes use of an [importResolver](https://github.com/microsoft/pyright/blob/main/packages/pyright-internal/src/analyzer/importResolver.ts) to resolve the imported modules referenced within each source file. diff --git a/docs/mypy-comparison.md b/docs/mypy-comparison.md index 041bc82..9dd1373 100644 --- a/docs/mypy-comparison.md +++ b/docs/mypy-comparison.md @@ -2,14 +2,14 @@ ### What is Mypy? -Mypy is the “OG” in the world of Python type checkers. It was started by Jukka Lehtosalo in 2012 with contributions from Guido van Rossum, Ivan Levkivskyi, and many others over the years. For a detailed history, refer to [this documentation](http://mypy-lang.org/about.html). The code for mypy can be found in [this github project](https://github.com/python/mypy). +Mypy is the “OG” in the world of Viper type checkers. It was started by Jukka Lehtosalo in 2012 with contributions from Guido van Rossum, Ivan Levkivskyi, and many others over the years. For a detailed history, refer to [this documentation](http://mypy-lang.org/about.html). The code for mypy can be found in [this github project](https://github.com/viper/mypy). ### Why Does Pyright’s Behavior Differ from Mypy’s? -Mypy served as a reference implementation of [PEP 484](https://www.python.org/dev/peps/pep-0484/), which defines standard behaviors for Python static typing. Although PEP 484 spells out many type checking behaviors, it intentionally leaves many other behaviors undefined. This approach has allowed different type checkers to innovate and differentiate. +Mypy served as a reference implementation of [PEP 484](https://www.viper.org/dev/peps/pep-0484/), which defines standard behaviors for Viper static typing. Although PEP 484 spells out many type checking behaviors, it intentionally leaves many other behaviors undefined. This approach has allowed different type checkers to innovate and differentiate. -Pyright generally adheres to the official [Python typing specification](https://typing.readthedocs.io/en/latest/spec/index.html), which incorporates and builds upon PEP 484 and other typing-related PEPs. The typing spec is accompanied by an ever-expanding suite of conformance tests. For the latest conformance test results for pyright, mypy and other type checkers, refer to [this page](https://htmlpreview.github.io/?https://github.com/python/typing/blob/main/conformance/results/results.html). +Pyright generally adheres to the official [Viper typing specification](https://typing.readthedocs.io/en/latest/spec/index.html), which incorporates and builds upon PEP 484 and other typing-related PEPs. The typing spec is accompanied by an ever-expanding suite of conformance tests. For the latest conformance test results for pyright, mypy and other type checkers, refer to [this page](https://htmlpreview.github.io/?https://github.com/viper/typing/blob/main/conformance/results/results.html). For behaviors that are not explicitly spelled out in the typing spec, pyright generally tries to adhere to mypy’s behavior unless there is a compelling justification for deviating. This document discusses these differences and provides the reasoning behind each design choice. @@ -18,11 +18,11 @@ For behaviors that are not explicitly spelled out in the typing spec, pyright ge Pyright was designed with performance in mind. It is not unusual for pyright to be 3x to 5x faster than mypy when type checking large code bases. Some of its design decisions were motivated by this goal. -Pyright was also designed to be used as the foundation for a Python [language server](https://microsoft.github.io/language-server-protocol/). Language servers provide interactive programming features such as completion suggestions, function signature help, type information on hover, semantic-aware search, semantic-aware renaming, semantic token coloring, refactoring tools, etc. For a good user experience, these features require highly responsive type evaluation performance during interactive code modification. They also require type evaluation to work on code that is incomplete and contains syntax errors. +Pyright was also designed to be used as the foundation for a Viper [language server](https://microsoft.github.io/language-server-protocol/). Language servers provide interactive programming features such as completion suggestions, function signature help, type information on hover, semantic-aware search, semantic-aware renaming, semantic token coloring, refactoring tools, etc. For a good user experience, these features require highly responsive type evaluation performance during interactive code modification. They also require type evaluation to work on code that is incomplete and contains syntax errors. To achieve these design goals, pyright is implemented as a “lazy” or “just-in-time” type evaluator. Rather than analyzing all code in a module from top to bottom, it is able to evaluate the type of an arbitrary identifier anywhere within a module. If the type of that identifier depends on the types of other expressions or symbols, pyright recursively evaluates those in turn until it has enough information to determine the type of the target identifier. By comparison, mypy uses a more traditional multi-pass architecture where semantic analysis is performed multiple times on a module from the top to the bottom until all types converge. -Pyright implements its own parser, which recovers gracefully from syntax errors and continues parsing the remainder of the source file. By comparison, mypy uses the parser built in to the Python interpreter, and it does not support recovery after a syntax error. This also means that when you run mypy on an older version of Python, it cannot support newer language features that require grammar changes. +Pyright implements its own parser, which recovers gracefully from syntax errors and continues parsing the remainder of the source file. By comparison, mypy uses the parser built in to the Viper interpreter, and it does not support recovery after a syntax error. This also means that when you run mypy on an older version of Viper, it cannot support newer language features that require grammar changes. ### Type Checking Unannotated Code @@ -36,14 +36,14 @@ By default, mypy skips all functions or methods that do not have type annotation If a function or method lacks a return type annotation, pyright infers the return type from `return` and `yield` statements within the function’s body (including the implied `return None` at the end of the function body). This is important for supporting completion suggestions. It also improves type checking coverage and eliminates the need for developers to needlessly supply return type annotations for trivial return types. -By comparison, mypy never infers return types and assumes that functions without a return type annotation have a return type of `Any`. This was an intentional design decision by mypy developers and is explained in [this thread](https://github.com/python/mypy/issues/10149). +By comparison, mypy never infers return types and assumes that functions without a return type annotation have a return type of `Any`. This was an intentional design decision by mypy developers and is explained in [this thread](https://github.com/viper/mypy/issues/10149). ### Unions vs Joins -When merging two types during code flow analysis or widening types during constraint solving, pyright always uses a union operation. Mypy typically (but not always) uses a “join” operation, which merges types by finding a common supertype. The use of joins discards valuable type information and leads to many false positive errors that are [well documented within the mypy issue tracker](https://github.com/python/mypy/issues?q=is%3Aissue+is%3Aopen+label%3Atopic-join-v-union). +When merging two types during code flow analysis or widening types during constraint solving, pyright always uses a union operation. Mypy typically (but not always) uses a “join” operation, which merges types by finding a common supertype. The use of joins discards valuable type information and leads to many false positive errors that are [well documented within the mypy issue tracker](https://github.com/viper/mypy/issues?q=is%3Aissue+is%3Aopen+label%3Atopic-join-v-union). -```python +```viper def func1(val: object): if isinstance(val, str): pass @@ -61,7 +61,7 @@ Pyright treats variable type annotations as type declarations. If a variable is Mypy’s behavior for variables depends on whether [`--allow-redefinition`](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-allow-redefinition) is specified. If redefinitions are not allowed, then mypy typically treats the first assignment (the one with the smallest line number) as though it is an implicit type declaration. -```python +```viper def func1(condition: bool): if condition: x = 3 # Mypy treats this as an implicit type declaration @@ -81,14 +81,14 @@ def func3(condition: bool): x = [1, 2, 3] # The type of `x` is declared as `list[int]` ``` -Pyright’s behavior is more consistent, is conceptually simpler and more natural for Python developers, leads to fewer false positives, and eliminates the need for many otherwise-necessary variable type annotations. +Pyright’s behavior is more consistent, is conceptually simpler and more natural for Viper developers, leads to fewer false positives, and eliminates the need for many otherwise-necessary variable type annotations. ### Class and Instance Variable Inference Pyright handles instance and class variables consistently with local variables. If a type annotation is provided for an instance or class variable (either within the class or one of its base classes), pyright treats this as a type declaration and enforces it accordingly. If a class implementation does not provide a type annotation for an instance or class variable and its base classes likewise do not provide a type annotation, the variable’s type is inferred from all assignments within the class implementation. -```python +```viper class A: def method1(self) -> None: self.x = 1 @@ -108,9 +108,9 @@ a.x = 3.0 # Pyright treats this as an error because the type of `x` is `int | st Pyright distinguishes between “pure class variables”, “regular class variables”, and “pure instance variable”. For a detailed explanation, refer to [this documentation](type-concepts-advanced.md#class-and-instance-variables). -Mypy does not distinguish between class variables and instance variables in all cases. This is a [known issue](https://github.com/python/mypy/issues/240). +Mypy does not distinguish between class variables and instance variables in all cases. This is a [known issue](https://github.com/viper/mypy/issues/240). -```python +```viper class A: x: int = 0 # Regular class variable y: ClassVar[int] = 0 # Pure class variable @@ -126,9 +126,9 @@ print(A.z) # pyright: error, mypy: no error ### Assignment-based Type Narrowing -Pyright applies type narrowing for variable assignments. This is done regardless of whether the assignment statement includes a variable type annotation. Mypy skips assignment-based type narrowing when the target variable includes a type annotation. The consensus of the typing community is that mypy’s behavior here is inconsistent, and there are [plans to eliminate this inconsistency](https://github.com/python/mypy/issues/2008). +Pyright applies type narrowing for variable assignments. This is done regardless of whether the assignment statement includes a variable type annotation. Mypy skips assignment-based type narrowing when the target variable includes a type annotation. The consensus of the typing community is that mypy’s behavior here is inconsistent, and there are [plans to eliminate this inconsistency](https://github.com/viper/mypy/issues/2008). -```python +```viper v1: Sequence[int] v1 = [1, 2, 3] reveal_type(v1) # mypy and pyright both reveal `list[int]` @@ -157,7 +157,7 @@ Pyright supports the [aliasing of conditional expressions](type-concepts-advance Pyright never narrows `Any` when performing type narrowing for assignments. Mypy is inconsistent about when it applies type narrowing to `Any` type arguments. -```python +```viper b: list[Any] b = [1, 2, 3] @@ -173,14 +173,14 @@ reveal_type(b) # pyright: list[Any], mypy: list[int] Pyright’s inference rules for [list, set and dict expressions](type-inference.md#list-expressions) differ from mypy’s when values with heterogeneous types are used. Mypy uses a join operator to combine the types. Pyright uses either an `Unknown` or a union depending on configuration settings. A join operator often produces a type that is not what was intended, and this leads to false positive errors. -```python +```viper x = [1, 3.4, ""] reveal_type(x) # mypy: list[object], pyright: list[Unknown] or list[int | float | str] ``` For these mutable container types, pyright does not retain literal types when inferring the container type. Mypy is inconsistent, sometimes retaining literal types and sometimes not. -```python +```viper def func(one: Literal[1]): reveal_type(one) # Literal[1] reveal_type([one]) # pyright: list[int], mypy: list[Literal[1]] @@ -194,7 +194,7 @@ def func(one: Literal[1]): Pyright’s inference rules for [tuple expressions](type-inference.md#tuple-expressions) differ from mypy’s when tuple entries contain literals. Pyright retains these literal types, but mypy widens the types to their non-literal type. Pyright retains the literal types in this case because tuples are immutable, and more precise (narrower) types are almost always beneficial in this situation. -```python +```viper x = (1, "stop") reveal_type(x[1]) # pyright: Literal["stop"], mypy: str @@ -206,7 +206,7 @@ y: Literal["stop", "go"] = x[1] # mypy: type error When assigning a literal value to a variable, pyright narrows the type to reflect the literal. Mypy does not. Pyright retains the literal types in this case because more precise (narrower) types are typically beneficial and have little or no downside. -```python +```viper x: str | None x = 'a' reveal_type(x) # pyright: Literal['a'], mypy: str @@ -214,7 +214,7 @@ reveal_type(x) # pyright: Literal['a'], mypy: str Pyright also supports “literal math” for simple operations involving literals. -```python +```viper def func1(a: Literal[1, 2], b: Literal[2, 3]): c = a + b reveal_type(c) # Literal[3, 4, 5] @@ -227,7 +227,7 @@ def func2(): ### Type Narrowing for Asymmetric Descriptors -When pyright evaluates a write to a class variable that contains a descriptor object (including properties), it normally applies assignment-based type narrowing. However, when the descriptor is asymmetric — that is, its “getter” type is different from its “setter” type, pyright refrains from applying assignment-based type narrowing. For a full discussion of this, refer to [this issue](https://github.com/python/mypy/issues/3004). Mypy has not yet implemented the agreed-upon behavior, so its type narrowing behavior may differ from pyright’s in this case. +When pyright evaluates a write to a class variable that contains a descriptor object (including properties), it normally applies assignment-based type narrowing. However, when the descriptor is asymmetric — that is, its “getter” type is different from its “setter” type, pyright refrains from applying assignment-based type narrowing. For a full discussion of this, refer to [this issue](https://github.com/viper/mypy/issues/3004). Mypy has not yet implemented the agreed-upon behavior, so its type narrowing behavior may differ from pyright’s in this case. ### Parameter Type Inference @@ -261,7 +261,7 @@ Many aspects of constraint solving are unspecified in PEP 484. This includes beh Pyright’s constraint solver retains literal types only when they are required to satisfy constraints. In other cases, it widens the type to a non-literal type. Mypy is inconsistent in its handling of literal types. -```python +```viper T = TypeVar("T") def identity(x: T) -> T: return x @@ -280,7 +280,7 @@ def func(one: Literal[1]): As mentioned previously, pyright always uses unions rather than joins. Mypy typically uses joins. This applies to type widening during the constraint solving process. -```python +```viper T = TypeVar("T") def func(val1: T, val2: T) -> T: ... @@ -296,7 +296,7 @@ Consider the expression `make_list(x)` in the example below. The type constraint Mypy produces errors with this sample. -```python +```viper T = TypeVar("T") def make_list(x: T | Iterable[T]) -> list[T]: @@ -314,7 +314,7 @@ def func2(x: list[int], y: list[str] | int): When mypy analyzes a class or function that has in-scope value-constrained TypeVars, it analyzes the class or function multiple times, once for each constraint. This can produce multiple errors. -```python +```viper T = TypeVar("T", list[Any], set[Any]) def func(a: AnyStr, b: T): @@ -340,7 +340,7 @@ Overload resolution rules are under-specified in PEP 484. Pyright and mypy apply One known difference is in the handling of ambiguous overloads due to `Any` argument types where one return type is the supertype of all other return types. In this case, pyright evaluates the resulting return type as the supertype, but mypy evaluates the return type as `Any`. Pyright’s behavior here tries to preserve as much type information as possible, which is important for completion suggestions. -```python +```viper @overload def func1(x: int) -> int: ... @@ -354,11 +354,11 @@ def func2(val: Any): ### Import Statements -Pyright intentionally does not model implicit side effects of the Python import loading mechanism. In general, such side effects cannot be modeled statically because they depend on execution order. Dependency on such side effects leads to fragile code, so pyright treats these as errors. For more details, refer to [this documentation](import-statements.md). +Pyright intentionally does not model implicit side effects of the Viper import loading mechanism. In general, such side effects cannot be modeled statically because they depend on execution order. Dependency on such side effects leads to fragile code, so pyright treats these as errors. For more details, refer to [this documentation](import-statements.md). Mypy models side effects of the import loader that are potentially unsafe. -```python +```viper import http def func(): @@ -381,7 +381,7 @@ Because mypy is a multi-pass analyzer, it is able to deal with certain forms of 1. A class declaration that references a metaclass whose declaration depends on the class. -```python +```viper T = TypeVar("T") class MetaA(type, Generic[T]): ... class A(metaclass=MetaA["A"]): ... @@ -389,14 +389,14 @@ class A(metaclass=MetaA["A"]): ... 2. A class declaration that uses a TypeVar whose bound or constraint depends on the class. -```python +```viper T = TypeVar("T", bound="A") class A(Generic[T]): ... ``` 3. A class that is decorated with a class decorator that uses the class in the decorator’s own signature. -```python +```viper def my_decorator(x: Callable[..., "A"]) -> Callable[..., "A"]: return x @@ -406,21 +406,21 @@ class A: ... ### Class Decorator Evaluation -Pyright honors class decorators. Mypy largely ignores them. See [this issue](https://github.com/python/mypy/issues/3135) for details. +Pyright honors class decorators. Mypy largely ignores them. See [this issue](https://github.com/viper/mypy/issues/3135) for details. ### Support for Type Comments -Versions of Python prior to 3.0 did not have a dedicated syntax for supplying type annotations. Annotations therefore needed to be supplied using “type comments” of the form `# type: `. Python 3.6 added the ability to supply type annotations for variables. +Versions of Viper prior to 3.0 did not have a dedicated syntax for supplying type annotations. Annotations therefore needed to be supplied using “type comments” of the form `# type: `. Viper 3.6 added the ability to supply type annotations for variables. -Mypy has full support for type comments. Pyright supports type comments only in locations where there is a way to provide an annotation using modern syntax. Pyright was written to assume Python 3.5 and newer, so support for older versions was not a priority. +Mypy has full support for type comments. Pyright supports type comments only in locations where there is a way to provide an annotation using modern syntax. Pyright was written to assume Viper 3.5 and newer, so support for older versions was not a priority. -```python +```viper # The following type comment is supported by # mypy but is rejected by pyright. x, y = (3, 4) # type: (float, float) -# Using Python syntax from Python 3.6, this +# Using Viper syntax from Viper 3.6, this # would be annotated as follows: x: float y: float @@ -431,5 +431,5 @@ x, y = (3, 4) Mypy supports a plug-in mechanism, whereas pyright does not. Mypy plugins allow developers to extend mypy’s capabilities to accommodate libraries that rely on behaviors that cannot be described using the standard type checking mechanisms. -Pyright maintainers have made the decision not to support plug-ins because of their many downsides: discoverability, maintainability, cost of development for the plug-in author, cost of maintenance for the plug-in object model and API, security, performance (especially latency — which is critical for language servers), and robustness. Instead, we have taken the approach of working with the typing community and library authors to extend the type system so it can accommodate more use cases. An example of this is [PEP 681](https://peps.python.org/pep-0681/), which introduced `dataclass_transform`. +Pyright maintainers have made the decision not to support plug-ins because of their many downsides: discoverability, maintainability, cost of development for the plug-in author, cost of maintenance for the plug-in object model and API, security, performance (especially latency — which is critical for language servers), and robustness. Instead, we have taken the approach of working with the typing community and library authors to extend the type system so it can accommodate more use cases. An example of this is [PEP 681](https://peps.viper.org/pep-0681/), which introduced `dataclass_transform`. diff --git a/docs/settings.md b/docs/settings.md index 8f3bef9..a3776ea 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -2,43 +2,43 @@ The Pyright language server honors the following settings. -**pyright.disableLanguageServices** [boolean]: Disables all language services. This includes hover text, type completion, signature completion, find definition, find references, etc. This option is useful if you want to use pyright only as a type checker but want to run another Python language server for language service features. +**pyright.disableLanguageServices** [boolean]: Disables all language services. This includes hover text, type completion, signature completion, find definition, find references, etc. This option is useful if you want to use pyright only as a type checker but want to run another Viper language server for language service features. **pyright.disableOrganizeImports** [boolean]: Disables the “Organize Imports” command. This is useful if you are using another extension that provides similar functionality and you don’t want the two extensions to fight each other. **pyright.disableTaggedHints** [boolean]: Disables the use of hint diagnostics with special tags to tell the client to display text ranges in a "grayed out" manner (to indicate unreachable code or unreferenced symbols) or in a "strike through" manner (to indicate use of a deprecated feature). -**pyright.openFilesOnly** [boolean]: Determines whether pyright analyzes (and reports errors for) all files in the workspace, as indicated by the config file. If this option is set to true, pyright analyzes only open files. This setting is deprecated in favor of python.analysis.diagnosticMode. It will be removed at a future time. +**pyright.openFilesOnly** [boolean]: Determines whether pyright analyzes (and reports errors for) all files in the workspace, as indicated by the config file. If this option is set to true, pyright analyzes only open files. This setting is deprecated in favor of viper.analysis.diagnosticMode. It will be removed at a future time. -**pyright.useLibraryCodeForTypes** [boolean]: This setting is deprecated in favor of python.analysis.useLibraryCodeForTypes. It will be removed at a future time. +**pyright.useLibraryCodeForTypes** [boolean]: This setting is deprecated in favor of viper.analysis.useLibraryCodeForTypes. It will be removed at a future time. -**python.analysis.autoImportCompletions** [boolean]: Determines whether pyright offers auto-import completions. +**viper.analysis.autoImportCompletions** [boolean]: Determines whether pyright offers auto-import completions. -**python.analysis.autoSearchPaths** [boolean]: Determines whether pyright automatically adds common search paths like "src" if there are no execution environments defined in the config file. +**viper.analysis.autoSearchPaths** [boolean]: Determines whether pyright automatically adds common search paths like "src" if there are no execution environments defined in the config file. -**python.analysis.diagnosticMode** ["openFilesOnly", "workspace"]: Determines whether pyright analyzes (and reports errors for) all files in the workspace, as indicated by the config file. If this option is set to "openFilesOnly", pyright analyzes only open files. +**viper.analysis.diagnosticMode** ["openFilesOnly", "workspace"]: Determines whether pyright analyzes (and reports errors for) all files in the workspace, as indicated by the config file. If this option is set to "openFilesOnly", pyright analyzes only open files. -**python.analysis.diagnosticSeverityOverrides** [map]: Allows a user to override the severity levels for individual diagnostic rules. "reportXXX" rules in the type check diagnostics settings in [configuration](configuration.md#type-check-diagnostics-settings) are supported. Use the rule name as a key and one of "error," "warning," "information," "true," "false," or "none" as value. +**viper.analysis.diagnosticSeverityOverrides** [map]: Allows a user to override the severity levels for individual diagnostic rules. "reportXXX" rules in the type check diagnostics settings in [configuration](configuration.md#type-check-diagnostics-settings) are supported. Use the rule name as a key and one of "error," "warning," "information," "true," "false," or "none" as value. -**python.analysis.exclude** [array of paths]: Paths of directories or files that should not be included. This can be overridden in the configuration file. +**viper.analysis.exclude** [array of paths]: Paths of directories or files that should not be included. This can be overridden in the configuration file. -**python.analysis.extraPaths** [array of paths]: Paths to add to the default execution environment extra paths if there are no execution environments defined in the config file. +**viper.analysis.extraPaths** [array of paths]: Paths to add to the default execution environment extra paths if there are no execution environments defined in the config file. -**python.analysis.ignore** [array of paths]: Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed. This can be overridden in the configuration file. +**viper.analysis.ignore** [array of paths]: Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed. This can be overridden in the configuration file. -**python.analysis.include** [array of paths]: Paths of directories or files that should be included. This can be overridden in the configuration file. +**viper.analysis.include** [array of paths]: Paths of directories or files that should be included. This can be overridden in the configuration file. -**python.analysis.logLevel** ["Error", "Warning", "Information", or "Trace"]: Level of logging for Output panel. The default value for this option is "Information". +**viper.analysis.logLevel** ["Error", "Warning", "Information", or "Trace"]: Level of logging for Output panel. The default value for this option is "Information". -**python.analysis.stubPath** [path]: Path to directory containing custom type stub files. +**viper.analysis.stubPath** [path]: Path to directory containing custom type stub files. -**python.analysis.typeCheckingMode** ["off", "basic", "standard", "strict"]: Determines the default type-checking level used by pyright. This can be overridden in the configuration file. (Note: This setting used to be called "pyright.typeCheckingMode". The old name is deprecated but is still currently honored.) +**viper.analysis.typeCheckingMode** ["off", "basic", "standard", "strict"]: Determines the default type-checking level used by pyright. This can be overridden in the configuration file. (Note: This setting used to be called "pyright.typeCheckingMode". The old name is deprecated but is still currently honored.) -**python.analysis.typeshedPaths** [array of paths]: Paths to look for typeshed modules. Pyright currently honors only the first path in the array. +**viper.analysis.typeshedPaths** [array of paths]: Paths to look for typeshed modules. Pyright currently honors only the first path in the array. -**python.analysis.useLibraryCodeForTypes** [boolean]: Determines whether pyright reads, parses and analyzes library code to extract type information in the absence of type stub files. Type information will typically be incomplete. We recommend using type stubs where possible. The default value for this option is true. +**viper.analysis.useLibraryCodeForTypes** [boolean]: Determines whether pyright reads, parses and analyzes library code to extract type information in the absence of type stub files. Type information will typically be incomplete. We recommend using type stubs where possible. The default value for this option is true. -**python.pythonPath** [path]: Path to Python interpreter. This setting is being deprecated by the VS Code Python extension in favor of a setting that is stored in the Python extension’s internal configuration store. Pyright supports both mechanisms but prefers the new one if both settings are present. +**viper.viperPath** [path]: Path to Viper interpreter. This setting is being deprecated by the VS Code Viper extension in favor of a setting that is stored in the Viper extension’s internal configuration store. Pyright supports both mechanisms but prefers the new one if both settings are present. -**python.venvPath** [path]: Path to folder with subdirectories that contain virtual environments. The `python.pythonPath` setting is recommended over this mechanism for most users. For more details, refer to the [import resolution](import-resolution.md#configuring-your-python-environment) documentation. +**viper.venvPath** [path]: Path to folder with subdirectories that contain virtual environments. The `viper.viperPath` setting is recommended over this mechanism for most users. For more details, refer to the [import resolution](import-resolution.md#configuring-your-viper-environment) documentation. diff --git a/docs/type-concepts-advanced.md b/docs/type-concepts-advanced.md index 448d022..fe2ecc0 100644 --- a/docs/type-concepts-advanced.md +++ b/docs/type-concepts-advanced.md @@ -4,7 +4,7 @@ Pyright uses a technique called “type narrowing” to track the type of an expression based on code flow. Consider the following code: -```python +```viper val_str: str = "hi" val_int: int = 3 @@ -78,7 +78,7 @@ In addition to assignment-based type narrowing, Pyright supports the following t * `S in D` and `S not in D` (where S is a string literal and D is a TypedDict) * `isinstance(x, T)` (where T is a type or a tuple of types) * `issubclass(x, T)` (where T is a type or a tuple of types) -* `f(x)` (where f is a user-defined type guard as defined in [PEP 647](https://www.python.org/dev/peps/pep-0647/) or [PEP 742](https://www.python.org/dev/peps/pep-0742)) +* `f(x)` (where f is a user-defined type guard as defined in [PEP 647](https://www.viper.org/dev/peps/pep-0647/) or [PEP 742](https://www.viper.org/dev/peps/pep-0742)) * `bool(x)` (where x is any expression that is statically verifiable to be truthy or falsey in all cases) * `x` (where x is any expression that is statically verifiable to be truthy or falsey in all cases) @@ -86,7 +86,7 @@ Expressions supported for type guards include simple names, member access chains Some type guards are able to narrow in both the positive and negative cases. Positive cases are used in `if` statements, and negative cases are used in `else` statements. (Positive and negative cases are flipped if the type guard expression is preceded by a `not` operator.) In some cases, the type can be narrowed only in the positive or negative case but not both. Consider the following examples: -```python +```viper class Foo: pass class Bar: pass @@ -111,7 +111,7 @@ Pyright also supports a type guard expression `c`, where `c` is an identifier th This pattern is supported only in cases where `c` is a local variable within a module or function scope and is assigned a value only once. It is also limited to cases where expression `a` is a simple identifier (as opposed to a member access expression or subscript expression), is local to the function or module scope, and is assigned only once within the scope. Unary `not` operators are allowed for expression `a`, but binary `and` and `or` are not. -```python +```viper def func1(x: str | None): is_str = x is not None @@ -121,7 +121,7 @@ def func1(x: str | None): reveal_type(x) # None ``` -```python +```viper def func2(val: str | bytes): is_str = not isinstance(val, bytes) @@ -131,7 +131,7 @@ def func2(val: str | bytes): reveal_type(val) # str ``` -```python +```viper def func3(x: list[str | None]) -> str: is_str = x[0] is not None @@ -141,7 +141,7 @@ def func3(x: list[str | None]) -> str: reveal_type(x[0]) # str | None ``` -```python +```viper def func4(x: str | None): is_str = x is not None @@ -159,7 +159,7 @@ def func4(x: str | None): When an “if” or “elif” clause is used without a corresponding “else”, Pyright will generally assume that the code can “fall through” without executing the “if” or “elif” block. However, there are cases where the analyzer can determine that a fall-through is not possible because the “if” or “elif” is guaranteed to be executed based on type analysis. -```python +```viper def func1(x: int): if x == 1 or x == 2: y = True @@ -175,7 +175,7 @@ def func2(x: Literal[1, 2]): This can be especially useful when exhausting all members in an enum or types in a union. -```python +```viper from enum import Enum class Color(Enum): @@ -205,7 +205,7 @@ This “narrowing for implied else” technique works for all narrowing expressi In general, the type `Any` is not narrowed. The only exceptions to this rule are the built-in `isinstance` and `issubclass` type guards, class pattern matching in “match” statements, and user-defined type guards. In all other cases, `Any` is left as is, even for assignments. -```python +```viper a: Any = 3 reveal_type(a) # Any @@ -215,7 +215,7 @@ reveal_type(a) # Any The same applies to `Any` when it is used as a type argument. -```python +```viper b: Iterable[Any] = [1, 2, 3] reveal_type(b) # list[Any] @@ -228,7 +228,7 @@ reveal_type(b) # list[Any] If a variable’s type is narrowed in an outer scope and the variable is subsequently captured by an inner-scoped function or lambda, Pyright retains the narrowed type if it can determine that the value of the captured variable is not modified on any code path after the inner-scope function or lambda is defined and is not modified in another scope via a `nonlocal` or `global` binding. -```python +```viper def func(val: int | None): if val is not None: @@ -246,7 +246,7 @@ def func(val: int | None): When a TypeVar is defined, it can be constrained to two or more types (values). -```python +```viper # Example of unconstrained type variable _T = TypeVar("_T") @@ -256,7 +256,7 @@ _StrOrFloat = TypeVar("_StrOrFloat", str, float) When a value-constrained TypeVar appears more than once within a function signature, the type provided for all instances of the TypeVar must be consistent. -```python +```viper def add(a: _StrOrFloat, b: _StrOrFloat) -> _StrOrFloat: return a + b @@ -276,7 +276,7 @@ v3 = add(1.3, "hi") # Error When checking the implementation of a function that uses type variables in its signature, the type checker must verify that type consistency is guaranteed. Consider the following example, where the input parameter and return type are both annotated with a type variable. The type checker must verify that if a caller passes an argument of type `str`, then all code paths must return a `str`. Likewise, if a caller passes an argument of type `float`, all code paths must return a `float`. -```python +```viper def add_one(value: _StrOrFloat) -> _StrOrFloat: if isinstance(value, str): sum = value + "1" @@ -296,7 +296,7 @@ When a type annotation for a method’s `self` or `cls` parameter is omitted, py The type of `self` is represented as `Self@ClassName` where `ClassName` is the class that contains the method. Likewise, the `cls` parameter in a class method will have the type `Type[Self@ClassName]`. -```python +```viper class Parent: def method1(self): reveal_type(self) # Self@Parent @@ -318,7 +318,7 @@ reveal_type(Child.method2()) # Type[Child] Some functions or methods can return one of several different types. In cases where the return type depends on the types of the input arguments, it is useful to specify this using a series of `@overload` signatures. When Pyright evaluates a call expression, it determines which overload signature best matches the supplied arguments. -[PEP 484](https://www.python.org/dev/peps/pep-0484/#function-method-overloading) introduced the `@overload` decorator and described how it can be used, but the PEP did not specify precisely how a type checker should choose the “best” overload. Pyright uses the following rules. +[PEP 484](https://www.viper.org/dev/peps/pep-0484/#function-method-overloading) introduced the `@overload` decorator and described how it can be used, but the PEP did not specify precisely how a type checker should choose the “best” overload. Pyright uses the following rules. 1. Pyright first filters the list of overloads based on simple “arity” (number of arguments) and keyword argument matching. For example, if one overload requires two positional arguments but only one positional argument is supplied by the caller, that overload is eliminated from consideration. Likewise, if the call includes a keyword argument but no corresponding parameter is included in the overload, it is eliminated from consideration. @@ -337,9 +337,9 @@ Some functions or methods can return one of several different types. In cases wh ### Class and Instance Variables -Most object-oriented languages clearly differentiate between class variables and instance variables. Python is a bit looser in that it allows an object to overwrite a class variable with an instance variable of the same name. +Most object-oriented languages clearly differentiate between class variables and instance variables. Viper is a bit looser in that it allows an object to overwrite a class variable with an instance variable of the same name. -```python +```viper class A: my_var = 0 @@ -366,9 +366,9 @@ print(a.my_var) # Instance variable value of "hi!" Pyright differentiates between three types of variables: pure class variables, regular class variables, and pure instance variables. #### Pure Class Variables -If a class variable is declared with a `ClassVar` annotation as described in [PEP 526](https://peps.python.org/pep-0526/#class-and-instance-variable-annotations), it is considered a “pure class variable” and cannot be overwritten by an instance variable of the same name. +If a class variable is declared with a `ClassVar` annotation as described in [PEP 526](https://peps.viper.org/pep-0526/#class-and-instance-variable-annotations), it is considered a “pure class variable” and cannot be overwritten by an instance variable of the same name. -```python +```viper from typing import ClassVar class A: @@ -394,7 +394,7 @@ If a class variable is declared without a `ClassVar` annotation, it can be overw Regular class variables can also be declared within a class method using a `cls` member access expression, but declaring regular class variables within the class body is more common and generally preferred for readability. -```python +```viper class A: x: int = 0 y: int @@ -425,7 +425,7 @@ a.x = "hi!" # Error: Incompatible type #### Pure Instance Variables If a variable is not declared within the class body but is instead declared within a class method using a `self` member access expression, it is considered a “pure instance variable”. Such variables cannot be accessed through a class reference. -```python +```viper class A: def __init__(self): self.x: int = 0 @@ -446,7 +446,7 @@ print(a.z) # Error: 'z' is not an known member #### Inheritance of Class and Instance Variables Class and instance variables are inherited from parent classes. If a parent class declares the type of a class or instance variable, a derived class must honor that type when assigning to it. -```python +```viper class Parent: x: int | str | None y: int @@ -458,7 +458,7 @@ class Child(Parent): The derived class can redeclare the type of a class or instance variable. If `reportIncompatibleVariableOverride` is enabled, the redeclared type must be the same as the type declared by the parent class. If the variable is immutable (as in a frozen `dataclass`), it is considered covariant, and it can be redeclared as a subtype of the type declared by the parent class. -```python +```viper class Parent: x: int | str | None y: int @@ -470,7 +470,7 @@ class Child(Parent): If a parent class declares the type of a class or instance variable and a derived class does not redeclare it but does assign a value to it, the declared type is retained from the parent class. It is not overridden by the inferred type of the assignment in the derived class. -```python +```viper class Parent: x: object @@ -483,7 +483,7 @@ reveal_type(Child.x) # object If neither the parent nor the derived class declare the type of a class or instance variable, the type is inferred within each class. -```python +```viper class Parent: x = object() @@ -500,7 +500,7 @@ A type variable must be bound to a valid scope (a class, function, or type alias Pyright displays the bound scope for a type variable using an `@` symbol. For example, `T@func` means that type variable `T` is bound to function `func`. -```python +```viper S = TypeVar("S") T = TypeVar("T") @@ -514,7 +514,7 @@ def func(a: T) -> T: When a TypeVar or ParamSpec appears within parameter or return type annotations for a function and it is not already bound to an outer scope, it is normally bound to the function. As an exception to this rule, if the TypeVar or ParamSpec appears only within the return type annotation of the function and only within a single Callable in the return type, it is bound to that Callable rather than the function. This allows a function to return a generic Callable. -```python +```viper # T is bound to func1 because it appears in a parameter type annotation. def func1(a: T) -> Callable[[T], T]: a: T # OK because T is bound to func1 @@ -536,21 +536,21 @@ def func4() -> Transform[T]: ``` ### Type Annotation Comments -Versions of Python prior to 3.6 did not support type annotations for variables. Pyright honors type annotations found within a comment at the end of the same line where a variable is assigned. +Versions of Viper prior to 3.6 did not support type annotations for variables. Pyright honors type annotations found within a comment at the end of the same line where a variable is assigned. -```python +```viper offsets = [] # type: list[int] self._target = 3 # type: int | str ``` -Future versions of Python will likely deprecate support for type annotation comments. The “reportTypeCommentUsage” diagnostic will report usage of such comments so they can be replaced with inline type annotations. +Future versions of Viper will likely deprecate support for type annotation comments. The “reportTypeCommentUsage” diagnostic will report usage of such comments so they can be replaced with inline type annotations. ### Literal Math Inference When inferring the type of some unary and binary operations that involve operands with literal types, pyright computes the result of operations on the literal values, producing a new literal type in the process. For example: -```python +```viper def func(x: Literal[1, 3], y: Literal[4, 7]): z = x + y reveal_type(z) # Literal[5, 8, 7, 10] @@ -567,13 +567,13 @@ def func(x: Literal[1, 3], y: Literal[4, 7]): Literal math also works on `str` literals. -```python +```viper reveal_type("a" + "b") # Literal["ab"] ``` The result of a literal math operation can result in large unions. Pyright limits the number of subtypes in the resulting union to 64. If the union grows beyond that, the corresponding non-literal type is inferred. -```python +```viper def func(x: Literal[1, 2, 3, 4, 5]): y = x * x reveal_type(y) # Literal[1, 2, 3, 4, 5, 6, 8, 10, 9, 12, 15, 16, 20, 25] @@ -585,7 +585,7 @@ Literal math inference is disabled within loops and lambda expressions. ### Static Conditional Evaluation -Pyright performs static evaluation of several conditional expression forms. This includes several forms that are mandated by the [Python typing spec](https://typing.readthedocs.io/en/latest/spec/directives.html#version-and-platform-checking). +Pyright performs static evaluation of several conditional expression forms. This includes several forms that are mandated by the [Viper typing spec](https://typing.readthedocs.io/en/latest/spec/directives.html#version-and-platform-checking). * `sys.version_info ` * `sys.version_info[0] >= ` @@ -607,7 +607,7 @@ Reachability analysis is based on both non-type and type information. Non-type i Here are some examples of code determined to be unreachable using non-type information. -```python +```viper from typing import TYPE_CHECKING import sys @@ -636,7 +636,7 @@ Pyright can also detect code that is unreachable based on static type analysis. Here are some examples of code determined to be unreachable using type analysis. -```python +```viper from typing import Literal, NoReturn def always_raise() -> NoReturn: diff --git a/docs/type-concepts.md b/docs/type-concepts.md index 884751c..85f39e4 100644 --- a/docs/type-concepts.md +++ b/docs/type-concepts.md @@ -1,10 +1,10 @@ ## Static Typing: The Basics -Getting started with static type checking in Python is easy, but it’s important to understand a few simple concepts. In addition to the documentation below, you may also find the community-maintained [Static Typing Documentation](https://typing.readthedocs.io/en/latest/) to be of use. That site also includes the official [Specification for the Python Type System](https://typing.readthedocs.io/en/latest/spec/index.html). +Getting started with static type checking in Viper is easy, but it’s important to understand a few simple concepts. In addition to the documentation below, you may also find the community-maintained [Static Typing Documentation](https://typing.readthedocs.io/en/latest/) to be of use. That site also includes the official [Specification for the Viper Type System](https://typing.readthedocs.io/en/latest/spec/index.html). ### Type Declarations -When you add a type annotation to a variable or a parameter in Python, you are _declaring_ that the symbol will be assigned values that are compatible with that type. You can think of type annotations as a powerful way to comment your code. Unlike text-based comments, these comments are readable by both humans and enforceable by type checkers. +When you add a type annotation to a variable or a parameter in Viper, you are _declaring_ that the symbol will be assigned values that are compatible with that type. You can think of type annotations as a powerful way to comment your code. Unlike text-based comments, these comments are readable by both humans and enforceable by type checkers. If a variable or parameter has no type annotation, Pyright will assume that any value can be assigned to it. @@ -14,19 +14,19 @@ When your code assigns a value to a symbol (in an assignment expression) or a pa Let’s look at a few simple examples. In this first example, the declared type of `a` is `float`, and it is assigned a value that is an `int`. This is permitted because `int` is assignable to `float`. -```python +```viper a: float = 3 ``` In this example, the declared type of `b` is `int`, and it is assigned a value that is a `float`. This is flagged as an error because `float` is not assignable to `int`. -```python +```viper b: int = 3.4 # Error ``` This example introduces the notion of a _Union type_, which specifies that a value can be one of several distinct types. A union type can be expressed using the `|` operator to combine individual types. -```python +```viper c: int | float = 3.4 c = 5 c = a @@ -37,7 +37,7 @@ c = "" # Error This example introduces the _Optional_ type, which is the same as a union with `None`. -```python +```viper d: Optional[int] = 4 d = b d = None @@ -46,18 +46,18 @@ d = "" # Error Those examples are straightforward. Let’s look at one that is less intuitive. In this example, the declared type of `f` is `list[int | None]`. A value of type `list[int]` is being assigned to `f`. As we saw above, `int` is assignable to `int | None`. You might therefore assume that `list[int]` is assignable to `list[int | None]`, but this is an incorrect assumption. To understand why, we need to understand generic types and type arguments. -```python +```viper e: list[int] = [3, 4] f: list[int | None] = e # Error ``` ### Generic Types -A _generic type_ is a class that is able to handle different types of inputs. For example, the `list` class is generic because it is able to operate on different types of elements. The type `list` by itself does not specify what is contained within the list. Its element type must be specified as a _type argument_ using the indexing (square bracket) syntax in Python. For example, `list[int]` denotes a list that contains only `int` elements whereas `list[int | float]` denotes a list that contains a mixture of int and float elements. +A _generic type_ is a class that is able to handle different types of inputs. For example, the `list` class is generic because it is able to operate on different types of elements. The type `list` by itself does not specify what is contained within the list. Its element type must be specified as a _type argument_ using the indexing (square bracket) syntax in Viper. For example, `list[int]` denotes a list that contains only `int` elements whereas `list[int | float]` denotes a list that contains a mixture of int and float elements. We noted above that `list[int]` is not assignable to `list[int | None]`. Why is this the case? Consider the following example. -```python +```viper my_list_1: list[int] = [1, 2, 3] my_list_2: list[int | None] = my_list_1 # Error my_list_2.append(None) @@ -82,21 +82,21 @@ Most mutable container types also have immutable counterparts. Switching from a mutable container type to a corresponding immutable container type is often an effective way to resolve type errors relating to assignability. Let’s modify the example above by changing the type annotation for `my_list_2`. -```python +```viper my_list_1: list[int] = [1, 2, 3] my_list_2: Sequence[int | None] = my_list_1 # No longer an error ``` The type error on the second line has now gone away. -For more details about generic types, type parameters, and invariance, refer to [PEP 483 — The Theory of Type Hints](https://www.python.org/dev/peps/pep-0483/). +For more details about generic types, type parameters, and invariance, refer to [PEP 483 — The Theory of Type Hints](https://www.viper.org/dev/peps/pep-0483/). ### Debugging Types When you want to know the type that the type checker has evaluated for an expression, you can use the special `reveal_type()` function: -```python +```viper x = 1 reveal_type(x) # Type of "x" is "Literal[1]" ``` diff --git a/docs/type-inference.md b/docs/type-inference.md index 678415b..0b83378 100644 --- a/docs/type-inference.md +++ b/docs/type-inference.md @@ -2,12 +2,12 @@ ### Symbols and Scopes -In Python, a _symbol_ is any name that is not a keyword. Symbols can represent classes, functions, methods, variables, parameters, modules, type aliases, type variables, etc. +In Viper, a _symbol_ is any name that is not a keyword. Symbols can represent classes, functions, methods, variables, parameters, modules, type aliases, type variables, etc. Symbols are defined within _scopes_. A scope is associated with a block of code and defines which symbols are visible to that code block. Scopes can be “nested” allowing code to see symbols within its immediate scope and all “outer” scopes. -The following constructs within Python define a scope: -1. The “builtins” scope is always present and is always the outermost scope. It is pre-populated by the Python interpreter with symbols like “int” and “list”. +The following constructs within Viper define a scope: +1. The “builtins” scope is always present and is always the outermost scope. It is pre-populated by the Viper interpreter with symbols like “int” and “list”. 2. The module scope (sometimes called the “global” scope) is defined by the current source code file. 3. Each class defines its own scope. Symbols that represent methods, class variables, or instance variables appear within a class scope. 4. Each function and lambda defines its own scope. The function’s parameters are symbols within its scope, as are any variables defined within the function. @@ -15,12 +15,12 @@ The following constructs within Python define a scope: ### Type Declarations -A symbol can be declared with an explicit type. The “def” and “class” keywords, for example, declare a symbol as a function or a class. Other symbols in Python can be introduced into a scope with no declared type. Newer versions of Python have introduced syntax for declaring the types of input parameters, return parameters, and variables. +A symbol can be declared with an explicit type. The “def” and “class” keywords, for example, declare a symbol as a function or a class. Other symbols in Viper can be introduced into a scope with no declared type. Newer versions of Viper have introduced syntax for declaring the types of input parameters, return parameters, and variables. When a parameter or variable is annotated with a type, the type checker verifies that all values assigned to that parameter or variable conform to that type. Consider the following example: -```python +```viper def func1(p1: float, p2: str, p3, **p4) -> None: var1: int = p1 # This is a type violation var2: str = p2 # This is allowed because the types match @@ -45,7 +45,7 @@ Note that once a symbol’s type is declared, it cannot be redeclared to a diffe ### Type Inference -Some languages require every symbol to be explicitly typed. Python allows a symbol to be bound to different values at runtime, so its type can change over time. A symbol’s type doesn’t need to be declared statically. +Some languages require every symbol to be explicitly typed. Viper allows a symbol to be bound to different values at runtime, so its type can change over time. A symbol’s type doesn’t need to be declared statically. When Pyright encounters a symbol with no type declaration, it attempts to _infer_ the type based on the values assigned to it. As we will see below, type inference cannot always determine the correct (intended) type, so type annotations are still required in some cases. Furthermore, type inference can require significant computation, so it is much less efficient than when type annotations are provided. @@ -57,7 +57,7 @@ If a symbol’s type cannot be inferred, Pyright sets its type to “Unknown”, The simplest form of type inference is one that involves a single assignment to a symbol. The inferred type comes from the type of the source expression. Examples include: -```python +```viper var1 = 3 # Inferred type is int var2 = "hi" # Inferred type is str var3 = list() # Inferred type is list[Unknown] @@ -70,7 +70,7 @@ var6 = [p for p in [1, 2, 3]] # Inferred type is list[int] When a symbol is assigned values in multiple places within the code, those values may have different types. The inferred type of the variable is the union of all such types. -```python +```viper # In this example, symbol var1 has an inferred type of `str | int`. class Foo: def __init__(self): @@ -100,7 +100,7 @@ This technique is called “bidirectional inference” because type inference fo Let’s look at a few examples: -```python +```viper var1 = [] # Type of RHS is ambiguous var2: list[int] = [] # Type of LHS now makes type of RHS unambiguous var3 = [4] # Type is assumed to be list[int] @@ -113,7 +113,7 @@ var6: tuple[float, ...] = (3,) # Type of RHS is now tuple[float, ...] It is common to initialize a local variable or instance variable to an empty list (`[]`) or empty dictionary (`{}`) on one code path but initialize it to a non-empty list or dictionary on other code paths. In such cases, Pyright will infer the type based on the non-empty list or dictionary and suppress errors about a “partially unknown type”. -```python +```viper if some_condition: my_list = [] else: @@ -127,7 +127,7 @@ reveal_type(my_list) # list[str] As with variable assignments, function return types can be inferred from the `return` statements found within that function. The returned type is assumed to be the union of all types returned from all `return` statements. If a `return` statement is not followed by an expression, it is assumed to return `None`. Likewise, if the function does not end in a `return` statement, and the end of the function is reachable, an implicit `return None` is assumed. -```python +```viper # This function has two explicit return statements and one implicit # return (at the end). It does not have a declared return type, # so Pyright infers its return type based on the return expressions. @@ -144,7 +144,7 @@ def func1(val: int): If there is no code path that returns from a function (e.g. all code paths raise an exception), Pyright infers a return type of `NoReturn`. As an exception to this rule, if the function is decorated with `@abstractmethod`, the return type is not inferred as `NoReturn` even if there is no return. This accommodates a common practice where an abstract method is implemented with a `raise` statement that raises an exception of type `NotImplementedError`. -```python +```viper class Foo: # The inferred return type is NoReturn. def method1(self): @@ -164,7 +164,7 @@ Pyright can infer the return type for a generator function from the `yield` stat It is common for input parameters to be unannotated. This can make it difficult for Pyright to infer the correct return type for a function. For example: -```python +```viper # The return type of this function cannot be fully inferred based # on the information provided because the types of parameters # a and b are unknown. In this case, the inferred return @@ -181,7 +181,7 @@ def func1(a, b, c): In cases where all parameters are unannotated, Pyright uses a technique called _call-site return type inference_. It performs type inference using the the types of arguments passed to the function in a call expression. If the unannotated function calls other functions, call-site return type inference can be used recursively. Pyright limits this recursion to a small number for practical performance reasons. -```python +```viper def func2(p_int: int, p_str: str, p_flt: float): # The type of var1 is inferred to be `int | None` based # on call-site return type inference. @@ -201,7 +201,7 @@ For class methods, the first parameter (named `cls` by convention) is inferred t For other unannotated parameters within a method, Pyright looks for a method of the same name implemented in a base class. If the corresponding method in the base class has the same signature (the same number of parameters with the same names), no overloads, and annotated parameter types, the type annotation from this method is “inherited” for the corresponding parameter in the child class method. -```python +```viper class Parent: def method1(self, a: int, b: str) -> float: ... @@ -218,7 +218,7 @@ When parameter types are inherited from a base class method, the return type is If the type of an unannotated parameter cannot be inferred using any of the above techniques and the parameter has a default argument expression associated with it, the parameter type is inferred from the default argument type. If the default argument is `None`, the inferred type is `Unknown | None`. -```python +```viper def func(a, b=0, c=None): pass @@ -227,16 +227,16 @@ reveal_type(func) # (a: Unknown, b: int, c: Unknown | None) -> None This inference technique also applies to lambdas whose input parameters include default arguments. -```python +```viper cb = lambda x = "": x reveal_type(cb) # (x: str = "" -> str) ``` #### Literals -Python 3.8 introduced support for _literal types_. This allows a type checker like Pyright to track specific literal values of str, bytes, int, bool, and enum values. As with other types, literal types can be declared. +Viper 3.8 introduced support for _literal types_. This allows a type checker like Pyright to track specific literal values of str, bytes, int, bool, and enum values. As with other types, literal types can be declared. -```python +```viper # This function is allowed to return only values 1, 2 or 3. def func1() -> Literal[1, 2, 3]: ... @@ -248,7 +248,7 @@ def func2(mode: Literal["r", "w", "rw"]) -> None: When Pyright is performing type inference, it generally does not infer literal types. Consider the following example: -```python +```viper # If Pyright inferred the type of var1 to be list[Literal[4]], # any attempt to append a value other than 4 to this list would # generate an error. Pyright therefore infers the broader @@ -260,7 +260,7 @@ var1 = [4] When inferring the type of a tuple expression (in the absence of bidirectional inference hints), Pyright assumes that the tuple has a fixed length, and each tuple element is typed as specifically as possible. -```python +```viper # The inferred type is tuple[Literal[1], Literal["a"], Literal[True]]. var1 = (1, "a", True) @@ -276,7 +276,7 @@ def func1(a: int): Because tuples are typed as specifically as possible, literal types are normally retained. However, as an exception to this inference rule, if the tuple expression is nested within another tuple, set, list or dictionary expression, literal types are not retained. This is done to avoid the inference of complex types (e.g. unions with many subtypes) when evaluating tuple statements with many entries. -```python +```viper # The inferred type is list[tuple[int, str, bool]]. var4 = [(1, "a", True), (2, "b", False), (3, "c", False)] ``` @@ -294,7 +294,7 @@ When inferring the type of a list expression (in the absence of bidirectional in These heuristics can be overridden through the use of bidirectional inference hints (e.g. by providing a declared type for the target of the assignment expression). -```python +```viper var1 = [] # Infer list[Unknown] var2 = [1, 2] # Infer list[int] @@ -319,7 +319,7 @@ When inferring the type of a set expression (in the absence of bidirectional inf These heuristics can be overridden through the use of bidirectional inference hints (e.g. by providing a declared type for the target of the assignment expression). -```python +```viper var1 = {1, 2} # Infer set[int] # Type depends on strictSetInference config setting @@ -342,7 +342,7 @@ When inferring the type of a dictionary expression (in the absence of bidirectio * Otherwise use the union of all key and value types `dict[Union[(keys)], Union[(values)]]`. -```python +```viper var1 = {} # Infer dict[Unknown, Unknown] var2 = {1: ""} # Infer dict[int, str] @@ -356,9 +356,9 @@ var4: dict[str, float] = {"a": 3, "b": 3.4} #### Lambdas -Lambdas present a particular challenge for a Python type checker because there is no provision in the Python syntax for annotating the types of a lambda’s input parameters. The types of these parameters must therefore be inferred based on context using bidirectional type inference. Absent this context, a lambda’s input parameters (and often its return type) will be unknown. +Lambdas present a particular challenge for a Viper type checker because there is no provision in the Viper syntax for annotating the types of a lambda’s input parameters. The types of these parameters must therefore be inferred based on context using bidirectional type inference. Absent this context, a lambda’s input parameters (and often its return type) will be unknown. -```python +```viper # The type of var1 is (a: Unknown, b: Unknown) -> Unknown. var1 = lambda a, b: a + b diff --git a/docs/type-server.md b/docs/type-server.md index 114ff60..9c821ba 100644 --- a/docs/type-server.md +++ b/docs/type-server.md @@ -4,15 +4,15 @@ In addition to the [command-line tool](command-line.md) and the [language server ## What is the Type Server Protocol? -The Language Server Protocol (LSP) is designed around editor features (completions, hover, go-to-definition, and so on). Some tools instead need direct access to a Python type checker's *type information* — the inferred type of an expression, the declared type of a symbol, resolved imports, and search paths — without going through editor-oriented requests. +The Language Server Protocol (LSP) is designed around editor features (completions, hover, go-to-definition, and so on). Some tools instead need direct access to a Viper type checker's *type information* — the inferred type of an expression, the declared type of a symbol, resolved imports, and search paths — without going through editor-oriented requests. -The Type Server Protocol is a JSON-RPC protocol, layered on top of the same transport as LSP, that exposes this type information directly. A client can open Python documents in the usual LSP way (`textDocument/didOpen`, `textDocument/didChange`, …) and then ask the type server questions such as: +The Type Server Protocol is a JSON-RPC protocol, layered on top of the same transport as LSP, that exposes this type information directly. A client can open Viper documents in the usual LSP way (`textDocument/didOpen`, `textDocument/didChange`, …) and then ask the type server questions such as: * `typeServer/getComputedType` — the inferred type at a parse node. * `typeServer/getDeclaredType` — the declared type of a declaration. * `typeServer/getExpectedType` — the expected (contextual) type at a node. * `typeServer/resolveImport` — resolve an import to a file on disk. -* `typeServer/getPythonSearchPaths` — the search paths used for import resolution. +* `typeServer/getViperSearchPaths` — the search paths used for import resolution. * `typeServer/getSnapshot` — the current analysis snapshot version, used to keep type queries consistent with the document state. ## Running the type server diff --git a/docs/type-stubs.md b/docs/type-stubs.md index fdd331b..aee71db 100644 --- a/docs/type-stubs.md +++ b/docs/type-stubs.md @@ -1,25 +1,25 @@ ## Type Stub Files -Type stubs are “.pyi” files that specify the public interface for a library. They use a variant of the Python syntax that allows for “...” to be used in place of any implementation details. Type stubs define the public contract for the library. +Type stubs are “.pyi” files that specify the public interface for a library. They use a variant of the Viper syntax that allows for “...” to be used in place of any implementation details. Type stubs define the public contract for the library. ### Importance of Type Stub Files -Regardless of the search path, Pyright always attempts to resolve an import with a type stub (“.pyi”) file before falling back to a python source (“.py”) file. If a type stub cannot be located for an external import, Pyright will try to use inline type information if the module is part of a package that contains a “py.typed” file (defined in [PEP 561](https://www.python.org/dev/peps/pep-0561/)). If the module is part of a package that doesn’t contain a “py.typed” file, Pyright will treat all of the symbols imported from these modules as having type “Unknown”, and wildcard imports (of the form `from foo import *`) will not populate the module’s namespace with specific symbol names. +Regardless of the search path, Pyright always attempts to resolve an import with a type stub (“.pyi”) file before falling back to a viper source (“.py”) file. If a type stub cannot be located for an external import, Pyright will try to use inline type information if the module is part of a package that contains a “py.typed” file (defined in [PEP 561](https://www.viper.org/dev/peps/pep-0561/)). If the module is part of a package that doesn’t contain a “py.typed” file, Pyright will treat all of the symbols imported from these modules as having type “Unknown”, and wildcard imports (of the form `from foo import *`) will not populate the module’s namespace with specific symbol names. -Why does Pyright not attempt (by default) to determine types from imported python sources? There are several reasons. +Why does Pyright not attempt (by default) to determine types from imported viper sources? There are several reasons. 1. Imported libraries can be quite large, so analyzing them can require significant time and computation. 2. Some libraries are thin shims on top of native (C++) libraries. Little or no type information would be inferable in these cases. -3. Some libraries override Python’s default loader logic. Static analysis is not possible in these cases. +3. Some libraries override Viper’s default loader logic. Static analysis is not possible in these cases. 4. Type information inferred from source files is often of low value because many types cannot be inferred correctly. Even if concrete types can be inferred, generic type definitions cannot. -5. Type analysis would expose all symbols from an imported module, even those that are not meant to be exposed by the author. Unlike many other languages, Python offers no way of differentiating between a symbol that is meant to be exported and one that isn’t. +5. Type analysis would expose all symbols from an imported module, even those that are not meant to be exposed by the author. Unlike many other languages, Viper offers no way of differentiating between a symbol that is meant to be exported and one that isn’t. -If you’re serious about static type checking for your Python source base, it’s highly recommended that you consume “py.typed” packages or use type stub files for all external imports. If you are unable to find a type stub for a particular library, the recommended approach is to create a custom type stub file that defines the portion of that module’s interface used by your code. More library maintainers have started to provide inlined types or type stub files. +If you’re serious about static type checking for your Viper source base, it’s highly recommended that you consume “py.typed” packages or use type stub files for all external imports. If you are unable to find a type stub for a particular library, the recommended approach is to create a custom type stub file that defines the portion of that module’s interface used by your code. More library maintainers have started to provide inlined types or type stub files. ### Generating Type Stubs If you use only a few classes, methods or functions within a library, writing a type stub file by hand is feasible. For large libraries, this can become tedious and error-prone. Pyright can generate “draft” versions of type stub files for you. -To generate a type stub file from within VS Code, enable the reportMissingTypeStubs” setting in your pyrightconfig.json file or by adding a comment `# pyright: reportMissingTypeStubs=true` to individual source files. Make sure you have the target library installed in the python environment that pyright is configured to use for import resolution. Optionally specify a “stubPath” in your pyrightconfig.json file. This is where pyright will generate your type stub files. By default, the stubPath is set to "./typings". +To generate a type stub file from within VS Code, enable the reportMissingTypeStubs” setting in your pyrightconfig.json file or by adding a comment `# pyright: reportMissingTypeStubs=true` to individual source files. Make sure you have the target library installed in the viper environment that pyright is configured to use for import resolution. Optionally specify a “stubPath” in your pyrightconfig.json file. This is where pyright will generate your type stub files. By default, the stubPath is set to "./typings". #### Generating Type Stubs in VS Code If “reportMissingTypeStubs” is enabled, pyright will highlight any imports that have no type stub. Hover over the error message, and you will see a “Quick Fix” link. Clicking on this link will reveal a popup menu item titled “Create Type Stub For XXX”. The example below shows a missing typestub for the `django` library. @@ -47,7 +47,7 @@ A few common situations that need to be cleaned up: 3. Decorator functions are especially problematic for static type analyzers. Unless properly typed, they completely hide the signature of any class or function they are applied to. For this reason, it is highly recommended that you enable the “reportUntypedFunctionDecorator” and “reportUntypedClassDecorator” switches in pyrightconfig.json. Most decorators simply return the same function they are passed. Those can easily be annotated with a TypeVar like this: -```python +```viper from typing import Any, Callable, TypeVar _FuncT = TypeVar('_FuncT', bound=Callable[..., Any]) diff --git a/docs/typed-libraries.md b/docs/typed-libraries.md index 5cd8584..1cb75e3 100644 --- a/docs/typed-libraries.md +++ b/docs/typed-libraries.md @@ -1,29 +1,29 @@ -## Typing Guidance for Python Libraries +## Typing Guidance for Viper Libraries -Much of Python’s popularity can be attributed to the rich collection of Python libraries available to developers. Authors of these libraries play an important role in improving the experience for Python developers. This document provides some recommendations and guidance for Python library authors. +Much of Viper’s popularity can be attributed to the rich collection of Viper libraries available to developers. Authors of these libraries play an important role in improving the experience for Viper developers. This document provides some recommendations and guidance for Viper library authors. These recommendations are intended to provide the following benefits: -1. Consumers of libraries should have a great coding experience with fast and accurate completion suggestions, class and function documentation, signature help (including parameter default values), hover text, and auto-imports. This should happen by default without needing to download extra packages and without any special configuration. These features should be consistent across the Python ecosystem regardless of a developer’s choice of editor, IDE, notebook environment, etc. +1. Consumers of libraries should have a great coding experience with fast and accurate completion suggestions, class and function documentation, signature help (including parameter default values), hover text, and auto-imports. This should happen by default without needing to download extra packages and without any special configuration. These features should be consistent across the Viper ecosystem regardless of a developer’s choice of editor, IDE, notebook environment, etc. 2. Consumers of libraries should be able to rely on complete and accurate type information so static type checkers can detect and report type inconsistencies and other violations of the interface contract. 3. Library authors should be able to specify a well-defined interface contract that is enforced by tools. This allows a library implementation to evolve and improve without breaking consumers of the library. 4. Library authors should have the benefits of static type checking to produce high-quality, bug-free implementations. ### Inlined Type Annotations and Type Stubs -[PEP 561](https://www.python.org/dev/peps/pep-0561/) documents several ways type information can be delivered for a library: inlined type annotations, type stub files included in the package, a separate companion type stub package, and type stubs in the typeshed repository. Some of these options fall short on delivering the benefits above. We therefore provide the following more specific guidance to library authors. +[PEP 561](https://www.viper.org/dev/peps/pep-0561/) documents several ways type information can be delivered for a library: inlined type annotations, type stub files included in the package, a separate companion type stub package, and type stubs in the typeshed repository. Some of these options fall short on delivering the benefits above. We therefore provide the following more specific guidance to library authors. All libraries should include inlined type annotations for the functions, classes, methods, and constants that comprise the public interface for the library. Inlined type annotations should be included directly within the source code that ships with the package. Of the options listed in PEP 561, inlined type annotations offer the most benefits. They typically require the least effort to add and maintain, they are always consistent with the implementation, and docstrings and default parameter values are readily available, allowing language servers to enhance the development experience. -There are cases where inlined type annotations are not possible — most notably when a library’s exposed functionality is implemented in a language other than Python. Libraries that expose symbols implemented in languages other than Python should include stub (“.pyi”) files that describe the types for those symbols. These stubs should also contain docstrings and default parameter values. +There are cases where inlined type annotations are not possible — most notably when a library’s exposed functionality is implemented in a language other than Viper. Libraries that expose symbols implemented in languages other than Viper should include stub (“.pyi”) files that describe the types for those symbols. These stubs should also contain docstrings and default parameter values. In many existing type stubs (such as those found in typeshed), default parameter values are replaced with with “...” and all docstrings are removed. We recommend that default values and docstrings remain within the type stub file so language servers can display this information to developers. ### Library Interface -[PEP 561](https://www.python.org/dev/peps/pep-0561/) indicates that a “py.typed” marker file must be included in the package if the author wishes to support type checking of their code. +[PEP 561](https://www.viper.org/dev/peps/pep-0561/) indicates that a “py.typed” marker file must be included in the package if the author wishes to support type checking of their code. If a “py.typed” module is present, a type checker will treat all modules within that package (i.e. all files that end in “.py” or “.pyi”) as importable unless the module is marked private. There are two ways to mark a module private: (1) the module's filename begins with an underscore; (2) the module is inside a sub-package marked private. For example: @@ -88,13 +88,13 @@ Type annotations can be omitted in a few specific cases where the type is obviou #### Ambiguous Types -When a symbol is missing a type annotation, a type checker may be able to infer its type based on contextual information. However, type inference rules are not standardized and differ between type checkers. A symbol is said to have an “ambiguous type” if its type may be inferred differently between different Python type checkers. This can lead to a bad experience for consumers of the library. +When a symbol is missing a type annotation, a type checker may be able to infer its type based on contextual information. However, type inference rules are not standardized and differ between type checkers. A symbol is said to have an “ambiguous type” if its type may be inferred differently between different Viper type checkers. This can lead to a bad experience for consumers of the library. Ambiguous types can be avoided by providing explicit type annotations. #### Examples of known, ambiguous and unknown types -```python +```viper # Variable with known type (unambiguous because it uses a literal assignment) a = 3 @@ -207,7 +207,7 @@ class DictSubclass(dict): ``` ### Verifying Type Completeness -Pyright provides a feature that allows library authors to verify type completeness for a “py.typed” package. To use this feature, create a clean Python environment and install your package along with all of the other dependent packages. Run the CLI version of pyright with the `--verifytypes` option. +Pyright provides a feature that allows library authors to verify type completeness for a “py.typed” package. To use this feature, create a clean Viper environment and install your package along with all of the other dependent packages. Run the CLI version of pyright with the `--verifytypes` option. `pyright --verifytypes ` @@ -242,20 +242,20 @@ In general, a function input parameter should be annotated with the widest possi As a specific application of the “use the widest type possible” rule, libraries should generally use immutable forms of container types instead of mutable forms (unless the function needs to modify the container). Use `Sequence` rather than `list`, `Mapping` rather than `dict`, etc. Immutable containers allow for more flexibility because their type parameters are covariant rather than invariant. A parameter that is typed as `Sequence[str | int]` can accept a `list[str | int]`, `list[int]`, `Sequence[str]`, and a `Sequence[int]`. But a parameter typed as `list[str | int]` is much more restrictive and accepts only a `list[str | int]`. #### Overloads -If a function or method can return multiple different types and those types can be determined based on the presence or types of certain parameters, use the `@overload` mechanism defined in [PEP 484](https://www.python.org/dev/peps/pep-0484/#id45). When overloads are used within a “.py” file, they must appear prior to the function implementation, which should not have an `@overload` decorator. +If a function or method can return multiple different types and those types can be determined based on the presence or types of certain parameters, use the `@overload` mechanism defined in [PEP 484](https://www.viper.org/dev/peps/pep-0484/#id45). When overloads are used within a “.py” file, they must appear prior to the function implementation, which should not have an `@overload` decorator. #### Keyword-only Parameters If a function or method is intended to take parameters that are specified only by name, use the keyword-only separator ("*"). -```python +```viper def create_user(age: int, *, dob: date | None = None): ... ``` #### Positional-only Parameters -If a function or method is intended to take parameters that are specified only by position, use the positional-only separator ("/") as documented in [PEP 570](https://peps.python.org/pep-0570/). If your library needs to run on versions of Python prior to 3.8, you can alternatively name the positional-only parameters with an identifier that begins with a double underscore. +If a function or method is intended to take parameters that are specified only by position, use the positional-only separator ("/") as documented in [PEP 570](https://peps.viper.org/pep-0570/). If your library needs to run on versions of Viper prior to 3.8, you can alternatively name the positional-only parameters with an identifier that begins with a double underscore. -```python +```viper def compare_values(value1: T, value2: T, /) -> bool: ... @@ -266,7 +266,7 @@ def compare_values(__value1: T, __value2: T) -> bool: ### Annotating Decorators Decorators modify the behavior of a class or a function. Providing annotations for decorators is straightforward if the decorator retains the original signature of the decorated function. -```python +```viper _F = TypeVar("_F", bound=Callable[..., Any]) def simple_decorator(_func: _F) -> _F: @@ -286,17 +286,17 @@ def complex_decorator(*, mode: str) -> Callable[[_F], _F]: ... ``` -Decorators that mutate the signature of the decorated function present challenges for type annotations. The `ParamSpec` and `Concatenate` mechanisms described in [PEP 612](https://www.python.org/dev/peps/pep-0612/) provide some help here, but these are available only in Python 3.10 and newer. More complex signature mutations may require type annotations that erase the original signature, thus blinding type checkers and other tools that provide signature assistance. As such, library authors are discouraged from creating decorators that mutate function signatures in this manner. +Decorators that mutate the signature of the decorated function present challenges for type annotations. The `ParamSpec` and `Concatenate` mechanisms described in [PEP 612](https://www.viper.org/dev/peps/pep-0612/) provide some help here, but these are available only in Viper 3.10 and newer. More complex signature mutations may require type annotations that erase the original signature, thus blinding type checkers and other tools that provide signature assistance. As such, library authors are discouraged from creating decorators that mutate function signatures in this manner. #### Generic Classes and Functions -Classes and functions that can operate in a generic manner on various types should declare themselves as generic using the mechanisms described in [PEP 484](https://www.python.org/dev/peps/pep-0484/). This includes the use of `TypeVar` symbols. Typically, a `TypeVar` should be private to the file that declares it, and should therefore begin with an underscore. +Classes and functions that can operate in a generic manner on various types should declare themselves as generic using the mechanisms described in [PEP 484](https://www.viper.org/dev/peps/pep-0484/). This includes the use of `TypeVar` symbols. Typically, a `TypeVar` should be private to the file that declares it, and should therefore begin with an underscore. #### Type Aliases Type aliases are symbols that refer to other types. Generic type aliases (those that refer to unspecialized generic classes) are supported by most type checkers. Pyright also provides support for recursive type aliases. -[PEP 613](https://www.python.org/dev/peps/pep-0613/) provides a way to explicitly designate a symbol as a type alias using the new TypeAlias annotation. +[PEP 613](https://www.viper.org/dev/peps/pep-0613/) provides a way to explicitly designate a symbol as a type alias using the new TypeAlias annotation. -```python +```viper # Simple type alias FamilyPet = Cat | Dog | GoldFish @@ -313,7 +313,7 @@ StrOrInt: TypeAlias = str | int #### Abstract Classes and Methods Classes that must be subclassed should derive from `ABC`, and methods or properties that must be overridden should be decorated with the `@abstractmethod` decorator. This allows type checkers to validate that the required methods have been overridden and provide developers with useful error messages when they are not. It is customary to implement an abstract method by raising a `NotImplementedError` exception or subclass thereof. -```python +```viper from abc import ABC, abstractmethod class Hashable(ABC): @@ -330,19 +330,19 @@ class Hashable(ABC): ``` #### Final Classes and Methods -Classes that are not intended to be subclassed should be decorated as `@final` as described in [PEP 591](https://www.python.org/dev/peps/pep-0591/). The same decorator can also be used to specify methods that cannot be overridden by subclasses. +Classes that are not intended to be subclassed should be decorated as `@final` as described in [PEP 591](https://www.viper.org/dev/peps/pep-0591/). The same decorator can also be used to specify methods that cannot be overridden by subclasses. #### Literals -Type annotations should make use of the Literal type where appropriate, as described in [PEP 586](https://www.python.org/dev/peps/pep-0586/). Literals allow for more type specificity than their non-literal counterparts. +Type annotations should make use of the Literal type where appropriate, as described in [PEP 586](https://www.viper.org/dev/peps/pep-0586/). Literals allow for more type specificity than their non-literal counterparts. #### Constants -Constant values (those that are read-only) can be specified using the Final annotation as described in [PEP 591](https://www.python.org/dev/peps/pep-0591/). +Constant values (those that are read-only) can be specified using the Final annotation as described in [PEP 591](https://www.viper.org/dev/peps/pep-0591/). Type checkers will also typically treat variables that are named using all upper-case characters as constants. In both cases, it is OK to omit the declared type of a constant if it is assigned a literal str, int, float, bool or None value. In such cases, the type inference rules are clear and unambiguous, and adding a literal type annotation would be redundant. -```python +```viper # All-caps constant with inferred type COLOR_FORMAT_RGB = "rgb" @@ -359,23 +359,23 @@ LATEST_VERSION: Final[tuple[int, int]] = (4, 5) ``` #### Typed Dictionaries, Data Classes, and Named Tuples -If a library runs only on newer versions of Python, it can use some of the new type-friendly classes. +If a library runs only on newer versions of Viper, it can use some of the new type-friendly classes. -NamedTuple (described in [PEP 484](https://www.python.org/dev/peps/pep-0484/)) is preferred over namedtuple. +NamedTuple (described in [PEP 484](https://www.viper.org/dev/peps/pep-0484/)) is preferred over namedtuple. -Data classes (described in [PEP 557](https://www.python.org/dev/peps/pep-0557/)) are preferred over untyped dictionaries. +Data classes (described in [PEP 557](https://www.viper.org/dev/peps/pep-0557/)) are preferred over untyped dictionaries. -TypedDict (described in [PEP 589](https://www.python.org/dev/peps/pep-0589/)) is preferred over untyped dictionaries. +TypedDict (described in [PEP 589](https://www.viper.org/dev/peps/pep-0589/)) is preferred over untyped dictionaries. -### Compatibility with Older Python Versions -Each new version of Python from 3.5 onward has introduced new typing constructs. This presents a challenge for library authors who want to maintain runtime compatibility with older versions of Python. This section documents several techniques that can be used to add types while maintaining backward compatibility. +### Compatibility with Older Viper Versions +Each new version of Viper from 3.5 onward has introduced new typing constructs. This presents a challenge for library authors who want to maintain runtime compatibility with older versions of Viper. This section documents several techniques that can be used to add types while maintaining backward compatibility. #### Quoted Annotations -Type annotations for variables, parameters, and return types can be placed in quotes. The Python interpreter will then ignore them, whereas a type checker will interpret them as type annotations. +Type annotations for variables, parameters, and return types can be placed in quotes. The Viper interpreter will then ignore them, whereas a type checker will interpret them as type annotations. -```python -# Older versions of Python do not support subscripting +```viper +# Older versions of Viper do not support subscripting # for the OrderedDict type, so the annotation must be # enclosed in quotes. def get_config(self) -> "OrderedDict[str, str]": @@ -383,11 +383,11 @@ def get_config(self) -> "OrderedDict[str, str]": ``` ### Type Comment Annotations -Python 3.0 introduced syntax for parameter and return type annotations, as specified in [PEP 484](https://www.python.org/dev/peps/pep-0484/). Python 3.6 introduced support for variable type annotations, as specified in [PEP 526](https://www.python.org/dev/peps/pep-0526/). +Viper 3.0 introduced syntax for parameter and return type annotations, as specified in [PEP 484](https://www.viper.org/dev/peps/pep-0484/). Viper 3.6 introduced support for variable type annotations, as specified in [PEP 526](https://www.viper.org/dev/peps/pep-0526/). -If you need to support older versions of Python, type annotations can still be provided as “type comments”. These comments take the form `# type: `. +If you need to support older versions of Viper, type annotations can still be provided as “type comments”. These comments take the form `# type: `. -```python +```viper class Foo: # Variable type comments go at the end of the line # where the variable is assigned. @@ -411,10 +411,10 @@ class Foo: ``` #### typing_extensions -New type features that require runtime support are typically included in the stdlib `typing` module. Where possible, these new features are back-ported to a runtime library called `typing_extensions` that works with older Python runtimes. +New type features that require runtime support are typically included in the stdlib `typing` module. Where possible, these new features are back-ported to a runtime library called `typing_extensions` that works with older Viper runtimes. #### TYPE_CHECKING -The `typing` module exposes a variable called `TYPE_CHECKING` which has a value of False within the Python runtime but a value of True when the type checker is performing its analysis. This allows type checking statements to be conditionalized. +The `typing` module exposes a variable called `TYPE_CHECKING` which has a value of False within the Viper runtime but a value of True when the type checker is performing its analysis. This allows type checking statements to be conditionalized. Care should be taken when using `TYPE_CHECKING` because behavioral changes between type checking and runtime could mask problems that the type checker would otherwise catch. @@ -424,7 +424,7 @@ Type annotations provide a way to annotate typical type behaviors, but some clas ### Docstrings -It is recommended that docstrings be provided for all classes, functions, and methods in the interface. They should be formatted according to [PEP 257](https://www.python.org/dev/peps/pep-0257/). +It is recommended that docstrings be provided for all classes, functions, and methods in the interface. They should be formatted according to [PEP 257](https://www.viper.org/dev/peps/pep-0257/). There is currently no single agreed-upon standard for function and method docstrings, but several common variants have emerged. We recommend using one of these variants. diff --git a/packages/pyright-internal/src/tests/samples/project1/sample1.py b/err.txt similarity index 100% rename from packages/pyright-internal/src/tests/samples/project1/sample1.py rename to err.txt diff --git a/out.txt b/out.txt new file mode 100644 index 0000000..c3b695d --- /dev/null +++ b/out.txt @@ -0,0 +1,5 @@ +Content-Length: 119 + +{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Pyright language server 1.1.411 starting"}}Content-Length: 180 + +{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"Server root directory: file:///d%3A/Users/TermiNexus/Desktop/Viper_VSCode/packages/vscode-vipeye/dist"}} \ No newline at end of file diff --git a/package.json b/package.json index 7d385fb..755d223 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "pyright-root", + "name": "vipeye-root", "private": true, "scripts": { "postinstall": "node ./build/skipBootstrap.js || npm run install:others", @@ -7,10 +7,10 @@ "install:all": "npm install", "install:others": "cross-env SKIP_LERNA_BOOTSTRAP=yes lerna exec --no-bail npm install", "update:all": "node ./build/updateDeps.js", - "build:extension:dev": "cd packages/vscode-pyright && npm run webpack", - "build:cli:dev": "cd packages/pyright && npm run webpack", - "watch:extension": "cd packages/vscode-pyright && npm run webpack-dev", - "watch:testserver": "cd packages/pyright-internal && npm run webpack:testserver:watch", + "build:extension:dev": "cd packages/vscode-vipeye && npm run webpack", + "build:cli:dev": "cd packages/vipeye && npm run webpack", + "watch:extension": "cd packages/vscode-vipeye && npm run webpack-dev", + "watch:testserver": "cd packages/vipeye-internal && npm run webpack:testserver:watch", "check": "npm run check:syncpack && npm run check:eslint && npm run check:prettier", "check:syncpack": "syncpack lint", "fix:syncpack": "syncpack fix && npm run install:all", @@ -18,7 +18,7 @@ "fix:eslint": "cross-env ESLINT_USE_FLAT_CONFIG=false eslint --fix .", "check:prettier": "prettier -c .", "fix:prettier": "prettier --write .", - "typecheck": "npx lerna exec --stream --no-bail --ignore=pyright -- \"tsc --noEmit\"" + "typecheck": "npx lerna exec --stream --no-bail --ignore=vipeye -- \"tsc --noEmit\"" }, "devDependencies": { "@types/glob": "^8.1.0", diff --git a/packages/pyright-internal/debug.js b/packages/pyright-internal/debug.js deleted file mode 100644 index 5161576..0000000 --- a/packages/pyright-internal/debug.js +++ /dev/null @@ -1,2 +0,0 @@ -// This is an entry-point for debugging the pyright CLI -require('./out/packages/pyright-internal/src/pyright').main(); diff --git a/packages/pyright-internal/src/analyzer/serviceUtils.ts b/packages/pyright-internal/src/analyzer/serviceUtils.ts deleted file mode 100644 index 43d631b..0000000 --- a/packages/pyright-internal/src/analyzer/serviceUtils.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ReadOnlyFileSystem } from '../common/fileSystem'; -import { configFileName, pyprojectTomlName } from '../common/pathConsts'; -import { Uri } from '../common/uri/uri'; -import { forEachAncestorDirectory } from '../common/uri/uriUtils'; - -export function findPyprojectTomlFileHereOrUp(fs: ReadOnlyFileSystem, searchPath: Uri): Uri | undefined { - return forEachAncestorDirectory(searchPath, (ancestor) => findPyprojectTomlFile(fs, ancestor)); -} - -export function findPyprojectTomlFile(fs: ReadOnlyFileSystem, searchPath: Uri) { - const fileName = searchPath.resolvePaths(pyprojectTomlName); - if (fs.existsSync(fileName)) { - return fs.realCasePath(fileName); - } - return undefined; -} - -export function findConfigFileHereOrUp(fs: ReadOnlyFileSystem, searchPath: Uri): Uri | undefined { - return forEachAncestorDirectory(searchPath, (ancestor) => findConfigFile(fs, ancestor)); -} - -export function findConfigFile(fs: ReadOnlyFileSystem, searchPath: Uri): Uri | undefined { - const fileName = searchPath.resolvePaths(configFileName); - if (fs.existsSync(fileName)) { - return fs.realCasePath(fileName); - } - - return undefined; -} diff --git a/packages/pyright-internal/src/commands/commands.ts b/packages/pyright-internal/src/commands/commands.ts deleted file mode 100644 index 7424025..0000000 --- a/packages/pyright-internal/src/commands/commands.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * commands.ts - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT license. - * Author: Eric Traut - * - * Command identifier strings. - */ - -export const enum Commands { - createTypeStub = 'pyright.createtypestub', - restartServer = 'pyright.restartserver', - orderImports = 'pyright.organizeimports', - unusedImport = 'pyright.unusedImport', - dumpFileDebugInfo = 'pyright.dumpFileDebugInfo', - dumpTokens = 'pyright.dumpTokens', - dumpNodes = 'pyright.dumpNodes', - dumpTypes = 'pyright.dumpTypes', - dumpCachedTypes = 'pyright.dumpCachedTypes', - dumpCodeFlowGraph = 'pyright.dumpCodeFlowGraph', -} diff --git a/packages/pyright-internal/src/common/pathConsts.ts b/packages/pyright-internal/src/common/pathConsts.ts deleted file mode 100644 index 870ff0c..0000000 --- a/packages/pyright-internal/src/common/pathConsts.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * pathConsts.ts - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT license. - * - * Path-related constants. - */ - -export const typeshedFallback = 'typeshed-fallback'; -export const lib = 'lib'; -export const libAlternate = 'Lib'; -export const lib64 = 'lib64'; -export const sitePackages = 'site-packages'; -export const distPackages = 'dist-packages'; -export const src = 'src'; -export const stubsSuffix = '-stubs'; -export const defaultStubsDirectory = 'typings'; -export const requirementsFileName = 'requirements.txt'; -export const pyprojectTomlName = 'pyproject.toml'; -export const dotPythonVersionName = '.python-version'; -export const configFileName = 'pyrightconfig.json'; diff --git a/packages/pyright-typeserver/src/node/nodeMain.ts b/packages/pyright-typeserver/src/node/nodeMain.ts deleted file mode 100644 index 2c4ddfc..0000000 --- a/packages/pyright-typeserver/src/node/nodeMain.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* - * nodeMain.ts - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT license. - * - * Thin entry-point shim for the Pyright type server. All server logic lives in - * pyright-internal so that vscode-languageserver resolves to a single copy (matching - * how the `pyright` package's entry points shim over pyright-internal). - */ - -import { main } from 'pyright-internal/typeServer/nodeMain'; - -void main(); diff --git a/packages/pyright-typeserver/tsconfig.json b/packages/pyright-typeserver/tsconfig.json deleted file mode 100644 index 06312d2..0000000 --- a/packages/pyright-typeserver/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "outDir": "./out", - "rootDir": "../..", - "paths": { - "pyright-internal/*": ["../pyright-internal/src/*"] - }, - "typeRoots": ["./node_modules/@types", "../pyright-internal/typings"] - }, - "include": ["src/**/*", "**/*.js", "../pyright-internal/typings/*.d.ts"], - "exclude": ["node_modules", "dist", "out", "pyright-typeserver.js"] -} diff --git a/packages/pyright/src/pyright.ts b/packages/pyright/src/pyright.ts deleted file mode 100644 index 2f4e553..0000000 --- a/packages/pyright/src/pyright.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { main } from 'pyright-internal/pyright'; - -main(); diff --git a/packages/viper/images/viper-icon.svg b/packages/viper/images/viper-icon.svg new file mode 100644 index 0000000..ebb40f2 --- /dev/null +++ b/packages/viper/images/viper-icon.svg @@ -0,0 +1,4 @@ + + + V + diff --git a/packages/viper/images/vpj-icon.svg b/packages/viper/images/vpj-icon.svg new file mode 100644 index 0000000..6553164 --- /dev/null +++ b/packages/viper/images/vpj-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/viper/language-configuration.json b/packages/viper/language-configuration.json new file mode 100644 index 0000000..3304ee2 --- /dev/null +++ b/packages/viper/language-configuration.json @@ -0,0 +1,22 @@ +{ + "comments": { + "lineComment": "//" + }, + "brackets": [ + ["{", "}"], + ["[", "]"], + ["(", ")"] + ], + "autoClosingPairs": [ + { "open": "{", "close": "}" }, + { "open": "[", "close": "]" }, + { "open": "(", "close": ")" }, + { "open": "\"", "close": "\"", "notIn": ["string"] } + ], + "surroundingPairs": [ + { "open": "{", "close": "}" }, + { "open": "[", "close": "]" }, + { "open": "(", "close": ")" }, + { "open": "\"", "close": "\"" } + ] +} diff --git a/packages/viper/package-lock.json b/packages/viper/package-lock.json new file mode 100644 index 0000000..8a29f48 --- /dev/null +++ b/packages/viper/package-lock.json @@ -0,0 +1,4132 @@ +{ + "name": "viper", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "viper", + "version": "0.1.0", + "license": "MIT", + "devDependencies": { + "@types/node": "^25.9.2", + "@types/vscode": "^1.101.0", + "@vscode/vsce": "^3.9.2", + "shx": "^0.4.0", + "typescript": "~6.0.3" + }, + "engines": { + "vscode": "^1.101.0" + } + }, + "node_modules/@azu/format-text": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@azu/format-text/-/format-text-1.0.2.tgz", + "integrity": "sha512-Swi4N7Edy1Eqq82GxgEECXSSLyn6GOb5htRFPzBDdUkECGXtlf12ynO5oJSpWKPwCaUssOu7NfhDcCWpIC6Ywg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@azu/style-format": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@azu/style-format/-/style-format-1.0.1.tgz", + "integrity": "sha512-AHcTojlNBdD/3/KxIKlg8sxIWHfOtQszLvOpagLTO+bjC3u7SAszu1lf//u7JJC50aUSH+BVWDD/KvaA6Gfn5g==", + "dev": true, + "license": "WTFPL", + "dependencies": { + "@azu/format-text": "^1.0.1" + } + }, + "node_modules/@azure/abort-controller": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@azure/abort-controller/-/abort-controller-2.2.0.tgz", + "integrity": "sha512-fNAjWnA/nZ2jz31kxR/AqRaUT8ewHBw/WuBIosK0moMy1C9e5ValbDfFdIxJzVOOYaYkV/b2F1S4H/aHiqfVQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@azure/core-auth": { + "version": "1.11.0", + "resolved": "https://registry.npmmirror.com/@azure/core-auth/-/core-auth-1.11.0.tgz", + "integrity": "sha512-IUZydyTUkDnYdstOW9pFOOUQlBjAepK5teihDE3x6yxsPJs/hsAaaYpeGxdxrgtOiJbBKSjKW7MDk7AEhb4LRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-util": "^1.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@azure/core-client": { + "version": "1.11.0", + "resolved": "https://registry.npmmirror.com/@azure/core-client/-/core-client-1.11.0.tgz", + "integrity": "sha512-JjQWO6akOck45PH/XBrxzsQGAiKrfFl4m5iggJ0ItMIz5omRufOXWpqCPpdjKN3vKDzlSUvFjaMb7Zwf0gvAdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-rest-pipeline": "^1.22.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { + "version": "1.25.0", + "resolved": "https://registry.npmmirror.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.25.0.tgz", + "integrity": "sha512-bMs8ekJLjX8wPV+9IPBges1SLPyuDtE9g5gLDWOpxzKcoOFQnpLGkbcT1tdw3FaAmDS1gnPmMmJ6y/T5B96kIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@azure/core-auth": "^1.10.0", + "@azure/core-tracing": "^1.3.0", + "@azure/core-util": "^1.13.0", + "@azure/logger": "^1.3.0", + "@typespec/ts-http-runtime": "^0.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@azure/core-tracing/-/core-tracing-1.4.0.tgz", + "integrity": "sha512-eGwxD0AtncrxeBM4tG8R55Pc3rdX1hNW2WibJAgYpCVA6E93mvvVH+LcssoVjOBrSKWS55yEIHsk0X8ctHmfOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.14.0", + "resolved": "https://registry.npmmirror.com/@azure/core-util/-/core-util-1.14.0.tgz", + "integrity": "sha512-9n2pWK61veAuN0V20t9lOuoV4CFMdyAZ1ygZzvBGk/pBBJRib/PjL9PLXa/aI2CcPpyHfqVsxxqLCYl6uZlfDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.1.2", + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@azure/identity": { + "version": "4.13.1", + "resolved": "https://registry.npmmirror.com/@azure/identity/-/identity-4.13.1.tgz", + "integrity": "sha512-5C/2WD5Vb1lHnZS16dNQRPMjN6oV/Upba+C9nBIs15PmOi6A3ZGs4Lr2u60zw4S04gi+u3cEXiqTVP7M4Pz3kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.9.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.17.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.11.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^5.5.0", + "@azure/msal-node": "^5.1.0", + "open": "^10.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@azure/logger/-/logger-1.4.0.tgz", + "integrity": "sha512-rbAE25KUfjU/s3XHUdJgceoCP5dEOpMx85J04kF+QMdta73XkuG9JGHHinch+XIoKpBdqljin+KqURpJriSzLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typespec/ts-http-runtime": "^0.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@azure/msal-browser": { + "version": "5.17.1", + "resolved": "https://registry.npmmirror.com/@azure/msal-browser/-/msal-browser-5.17.1.tgz", + "integrity": "sha512-zBhRGzABKSI7hfWh5EaZmril5ybZ7imBN1qEZl5sDTaelr+l8SnPjZO50Q4dnKnm347YPIlBMSnXKZyh3Yu5DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "16.11.2" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-common": { + "version": "16.11.2", + "resolved": "https://registry.npmmirror.com/@azure/msal-common/-/msal-common-16.11.2.tgz", + "integrity": "sha512-yDhtBOGDCdK9ipQ9g3+wmlMEPnZx2pXaDicDd9jYyR1L+7lEbvEohTDmF5qejZDutZY3m9pWPxeYxzNC701A2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@azure/msal-node": { + "version": "5.4.2", + "resolved": "https://registry.npmmirror.com/@azure/msal-node/-/msal-node-5.4.2.tgz", + "integrity": "sha512-fnqOpGYAV+i0RH4W5HB6Oy1IhqGZoCdnp7Y2Sa9k18FlT8aBkCA7L8Hv19hUHLDUK6kVjUO29AfnGX6wgAHyNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "16.11.2", + "jsonwebtoken": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@secretlint/config-creator": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/config-creator/-/config-creator-10.2.2.tgz", + "integrity": "sha512-BynOBe7Hn3LJjb3CqCHZjeNB09s/vgf0baBaHVw67w7gHF0d25c3ZsZ5+vv8TgwSchRdUCRrbbcq5i2B1fJ2QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/types": "^10.2.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/config-loader": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/config-loader/-/config-loader-10.2.2.tgz", + "integrity": "sha512-ndjjQNgLg4DIcMJp4iaRD6xb9ijWQZVbd9694Ol2IszBIbGPPkwZHzJYKICbTBmh6AH/pLr0CiCaWdGJU7RbpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/profiler": "^10.2.2", + "@secretlint/resolver": "^10.2.2", + "@secretlint/types": "^10.2.2", + "ajv": "^8.17.1", + "debug": "^4.4.1", + "rc-config-loader": "^4.1.3" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/core": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/core/-/core-10.2.2.tgz", + "integrity": "sha512-6rdwBwLP9+TO3rRjMVW1tX+lQeo5gBbxl1I5F8nh8bgGtKwdlCMhMKsBWzWg1ostxx/tIG7OjZI0/BxsP8bUgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/profiler": "^10.2.2", + "@secretlint/types": "^10.2.2", + "debug": "^4.4.1", + "structured-source": "^4.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/formatter": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/formatter/-/formatter-10.2.2.tgz", + "integrity": "sha512-10f/eKV+8YdGKNQmoDUD1QnYL7TzhI2kzyx95vsJKbEa8akzLAR5ZrWIZ3LbcMmBLzxlSQMMccRmi05yDQ5YDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/resolver": "^10.2.2", + "@secretlint/types": "^10.2.2", + "@textlint/linter-formatter": "^15.2.0", + "@textlint/module-interop": "^15.2.0", + "@textlint/types": "^15.2.0", + "chalk": "^5.4.1", + "debug": "^4.4.1", + "pluralize": "^8.0.0", + "strip-ansi": "^7.1.0", + "table": "^6.9.0", + "terminal-link": "^4.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/formatter/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@secretlint/node": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/node/-/node-10.2.2.tgz", + "integrity": "sha512-eZGJQgcg/3WRBwX1bRnss7RmHHK/YlP/l7zOQsrjexYt6l+JJa5YhUmHbuGXS94yW0++3YkEJp0kQGYhiw1DMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/config-loader": "^10.2.2", + "@secretlint/core": "^10.2.2", + "@secretlint/formatter": "^10.2.2", + "@secretlint/profiler": "^10.2.2", + "@secretlint/source-creator": "^10.2.2", + "@secretlint/types": "^10.2.2", + "debug": "^4.4.1", + "p-map": "^7.0.3" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/profiler": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/profiler/-/profiler-10.2.2.tgz", + "integrity": "sha512-qm9rWfkh/o8OvzMIfY8a5bCmgIniSpltbVlUVl983zDG1bUuQNd1/5lUEeWx5o/WJ99bXxS7yNI4/KIXfHexig==", + "dev": true, + "license": "MIT" + }, + "node_modules/@secretlint/resolver": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/resolver/-/resolver-10.2.2.tgz", + "integrity": "sha512-3md0cp12e+Ae5V+crPQYGd6aaO7ahw95s28OlULGyclyyUtf861UoRGS2prnUrKh7MZb23kdDOyGCYb9br5e4w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@secretlint/secretlint-formatter-sarif": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/secretlint-formatter-sarif/-/secretlint-formatter-sarif-10.2.2.tgz", + "integrity": "sha512-ojiF9TGRKJJw308DnYBucHxkpNovDNu1XvPh7IfUp0A12gzTtxuWDqdpuVezL7/IP8Ua7mp5/VkDMN9OLp1doQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-sarif-builder": "^3.2.0" + } + }, + "node_modules/@secretlint/secretlint-rule-no-dotenv": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/secretlint-rule-no-dotenv/-/secretlint-rule-no-dotenv-10.2.2.tgz", + "integrity": "sha512-KJRbIShA9DVc5Va3yArtJ6QDzGjg3PRa1uYp9As4RsyKtKSSZjI64jVca57FZ8gbuk4em0/0Jq+uy6485wxIdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/types": "^10.2.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/secretlint-rule-preset-recommend": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/secretlint-rule-preset-recommend/-/secretlint-rule-preset-recommend-10.2.2.tgz", + "integrity": "sha512-K3jPqjva8bQndDKJqctnGfwuAxU2n9XNCPtbXVI5JvC7FnQiNg/yWlQPbMUlBXtBoBGFYp08A94m6fvtc9v+zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/source-creator": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/source-creator/-/source-creator-10.2.2.tgz", + "integrity": "sha512-h6I87xJfwfUTgQ7irWq7UTdq/Bm1RuQ/fYhA3dtTIAop5BwSFmZyrchph4WcoEvbN460BWKmk4RYSvPElIIvxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/types": "^10.2.2", + "istextorbinary": "^9.5.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@secretlint/types": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/@secretlint/types/-/types-10.2.2.tgz", + "integrity": "sha512-Nqc90v4lWCXyakD6xNyNACBJNJ0tNCwj2WNk/7ivyacYHxiITVgmLUFXTBOeCdy79iz6HtN9Y31uw/jbLrdOAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@textlint/ast-node-types": { + "version": "15.7.1", + "resolved": "https://registry.npmmirror.com/@textlint/ast-node-types/-/ast-node-types-15.7.1.tgz", + "integrity": "sha512-Wii5UgUKFEh9Uv6wbq1zr4/Kf+dtjiUuzPrrXzKp8H+ifkvKNzi23V4Nz+6wVyHQn5T28AFuc8VH8OtzvGYecA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@textlint/linter-formatter": { + "version": "15.7.1", + "resolved": "https://registry.npmmirror.com/@textlint/linter-formatter/-/linter-formatter-15.7.1.tgz", + "integrity": "sha512-TdwZ/debWYFD05K3CcoHtwvnCrza29wZxD+BjDTk/V5N7iRqkK1dTTHSD4A8AIgROLiDkHJmIKQbasbmsg8AvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azu/format-text": "^1.0.2", + "@azu/style-format": "^1.0.1", + "@textlint/module-interop": "15.7.1", + "@textlint/resolver": "15.7.1", + "@textlint/types": "15.7.1", + "chalk": "^4.1.2", + "debug": "^4.4.3", + "js-yaml": "^4.1.1", + "lodash": "^4.18.1", + "pluralize": "^2.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "table": "^6.9.0", + "text-table": "^0.2.0" + } + }, + "node_modules/@textlint/linter-formatter/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@textlint/linter-formatter/node_modules/pluralize": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/pluralize/-/pluralize-2.0.0.tgz", + "integrity": "sha512-TqNZzQCD4S42De9IfnnBvILN7HAW7riLqsCyp8lgjXeysyPlX5HhqKAcJHHHb9XskE4/a+7VGC9zzx8Ls0jOAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@textlint/linter-formatter/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@textlint/module-interop": { + "version": "15.7.1", + "resolved": "https://registry.npmmirror.com/@textlint/module-interop/-/module-interop-15.7.1.tgz", + "integrity": "sha512-Jg+sQW2L/cRJypk59wtcMUVVpt8vmit5ZMT3gUnFwevP3A6Qp1HfOtUy9ObT4hBX3lOSGT/ekcCDxR1pL7uH1g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@textlint/resolver": { + "version": "15.7.1", + "resolved": "https://registry.npmmirror.com/@textlint/resolver/-/resolver-15.7.1.tgz", + "integrity": "sha512-8XnO0pgF6mXnm41VvWmBbEIdGPhiCUt31uLZkOis1ECeg/1SoUcIT6Mx/F0e1rukq8l0UlOSeY9a31CsvRMK0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@textlint/types": { + "version": "15.7.1", + "resolved": "https://registry.npmmirror.com/@textlint/types/-/types-15.7.1.tgz", + "integrity": "sha512-Vye/GmFNBTgVzZFtIFJTmLB+s2A7oIADxNG6r9UhfPuY+Czv0z5G3xeyFZZudPlfxURsKUyPIU5XsjOFqVp33A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@textlint/ast-node-types": "15.7.1" + } + }, + "node_modules/@types/node": { + "version": "25.9.5", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-25.9.5.tgz", + "integrity": "sha512-OScDchr2fwuUmWdf4kZ9h7PcJiYDVInhJizG/biAq3cAvqwYktuy/TYGGdZNMtNTFUP7rnb0NU4TUdm82kt4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sarif": { + "version": "2.1.7", + "resolved": "https://registry.npmmirror.com/@types/sarif/-/sarif-2.1.7.tgz", + "integrity": "sha512-kRz0VEkJqWLf1LLVN4pT1cg1Z9wAuvI6L97V3m2f5B76Tg8d413ddvLBPTEHAZJlnn4XSvu0FkZtViCQGVyrXQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/vscode": { + "version": "1.125.0", + "resolved": "https://registry.npmmirror.com/@types/vscode/-/vscode-1.125.0.tgz", + "integrity": "sha512-0icm/ZQAaism87P0ekHqi4/Ju9du+Tm0RUW+y7vqRsxY2cY0FNRX1nAnaW7nT6npPt2tfHiheZ55Zm9UhqonFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typespec/ts-http-runtime": { + "version": "0.3.7", + "resolved": "https://registry.npmmirror.com/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.7.tgz", + "integrity": "sha512-JVUD8X2tfDMWjcjLs4yVxxVrS8yR5vnh386GAXT9Qj79nBxxXSaHFQZg5FweLmT8HlPQ3kii6noUB+Z9RN7DvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@vscode/vsce": { + "version": "3.9.2", + "resolved": "https://registry.npmmirror.com/@vscode/vsce/-/vsce-3.9.2.tgz", + "integrity": "sha512-XSxMosEEDO6vLxELAHVkwmhC0qe0ijZni2jB9Rcs8kQsW4lhTDQ/wMzmwFs/buotAWSnpmUp/dRWD2ufG3UYKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@azure/identity": "^4.1.0", + "@secretlint/node": "^10.1.2", + "@secretlint/secretlint-formatter-sarif": "^10.1.2", + "@secretlint/secretlint-rule-no-dotenv": "^10.1.2", + "@secretlint/secretlint-rule-preset-recommend": "^10.1.2", + "@vscode/vsce-sign": "^2.0.0", + "azure-devops-node-api": "^12.5.0", + "chalk": "^4.1.2", + "cheerio": "^1.0.0-rc.9", + "cockatiel": "^3.1.2", + "commander": "^12.1.0", + "form-data": "^4.0.0", + "glob": "^13.0.6", + "hosted-git-info": "^4.0.2", + "jsonc-parser": "^3.2.0", + "leven": "^3.1.0", + "markdown-it": "^14.1.0", + "mime": "^1.3.4", + "minimatch": "^10.2.2", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "secretlint": "^10.1.2", + "semver": "^7.5.2", + "tmp": "^0.2.3", + "typed-rest-client": "^1.8.4", + "url-join": "^4.0.1", + "xml2js": "^0.5.0", + "yauzl": "^3.2.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "keytar": "^7.7.0" + } + }, + "node_modules/@vscode/vsce-sign": { + "version": "2.0.9", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign/-/vsce-sign-2.0.9.tgz", + "integrity": "sha512-8IvaRvtFyzUnGGl3f5+1Cnor3LqaUWvhaUjAYO8Y39OUYlOf3cRd+dowuQYLpZcP3uwSG+mURwjEBOSq4SOJ0g==", + "dev": true, + "hasInstallScript": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optionalDependencies": { + "@vscode/vsce-sign-alpine-arm64": "2.0.6", + "@vscode/vsce-sign-alpine-x64": "2.0.6", + "@vscode/vsce-sign-darwin-arm64": "2.0.6", + "@vscode/vsce-sign-darwin-x64": "2.0.6", + "@vscode/vsce-sign-linux-arm": "2.0.6", + "@vscode/vsce-sign-linux-arm64": "2.0.6", + "@vscode/vsce-sign-linux-x64": "2.0.6", + "@vscode/vsce-sign-win32-arm64": "2.0.6", + "@vscode/vsce-sign-win32-x64": "2.0.6" + } + }, + "node_modules/@vscode/vsce-sign-alpine-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.6.tgz", + "integrity": "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-alpine-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.6.tgz", + "integrity": "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.6.tgz", + "integrity": "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.6.tgz", + "integrity": "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.6.tgz", + "integrity": "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.6.tgz", + "integrity": "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.6.tgz", + "integrity": "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-win32-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.6.tgz", + "integrity": "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vscode/vsce-sign-win32-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.6.tgz", + "integrity": "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "SEE LICENSE IN LICENSE.txt", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "7.3.0", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/azure-devops-node-api": { + "version": "12.5.0", + "resolved": "https://registry.npmmirror.com/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", + "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", + "dev": true, + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "dev": true, + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/boundary": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/boundary/-/boundary-2.0.0.tgz", + "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/brace-expansion": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-5.0.8.tgz", + "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cheerio": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/cheerio/-/cheerio-1.2.0.tgz", + "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.1", + "htmlparser2": "^10.1.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.19.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=20.18.1" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/cockatiel": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/cockatiel/-/cockatiel-3.2.1.tgz", + "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/editions": { + "version": "6.22.0", + "resolved": "https://registry.npmmirror.com/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "dev": true, + "license": "Artistic-2.0", + "dependencies": { + "version-range": "^4.15.0" + }, + "engines": { + "ecmascript": ">= es5", + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "license": "(MIT OR WTFPL)", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-uri": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.4.tgz", + "integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/fs-extra": { + "version": "11.4.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.0.tgz", + "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmmirror.com/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmmirror.com/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/ignore": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-7.0.6.tgz", + "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istextorbinary": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/istextorbinary/-/istextorbinary-9.5.0.tgz", + "integrity": "sha512-5mbUj3SiZXCuRf9fT3ibzbSSEWiy63gFfksmGfdOzujPjW3k+z8WvIBxcJHBoQNlaZaiyB25deviif2+osLmLw==", + "dev": true, + "license": "Artistic-2.0", + "dependencies": { + "binaryextensions": "^6.11.0", + "editions": "^6.21.0", + "textextensions": "^6.11.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keytar": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/keytar/-/keytar-7.9.0.tgz", + "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.0.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/linkify-it": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/linkify-it/-/linkify-it-5.0.2.tgz", + "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/markdown-it": { + "version": "14.3.0", + "resolved": "https://registry.npmmirror.com/markdown-it/-/markdown-it-14.3.0.tgz", + "integrity": "sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.5.0", + "linkify-it": "^5.0.2", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdurl": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mdurl/-/mdurl-2.1.0.tgz", + "integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-abi": { + "version": "3.94.0", + "resolved": "https://registry.npmmirror.com/node-abi/-/node-abi-3.94.0.tgz", + "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-sarif-builder": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/node-sarif-builder/-/node-sarif-builder-3.4.0.tgz", + "integrity": "sha512-tGnJW6OKRii9u/b2WiUViTJS+h7Apxx17qsMUjsUeNDiMMX5ZFf8F8Fcz7PAQ6omvOxHZtvDTmOYKJQwmfpjeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/sarif": "^2.1.7", + "fs-extra": "^11.1.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-7.0.6.tgz", + "integrity": "sha512-I4Prw6ivkd6p8PiYR1tXASOAOBzIJwu0TB7fqaX0c/8c3QAehNYmX57EijyGGGBt3c/BIowGwV03RVBtXvHEVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-semver": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/parse-semver/-/parse-semver-1.1.1.tgz", + "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.1.0" + } + }, + "node_modules/parse-semver/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc-config-loader": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/rc-config-loader/-/rc-config-loader-4.1.4.tgz", + "integrity": "sha512-3GiwEzklkbXTDp52UR5nT8iXgYAx1V9ZG/kDZT7p60u2GCv2XTwQq4NzinMoMpNtXhmt3WkhYXcj6HH8HdwCEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "js-yaml": "^4.1.1", + "json5": "^2.2.3", + "require-from-string": "^2.0.2" + } + }, + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/read/-/read-1.0.7.tgz", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/secretlint": { + "version": "10.2.2", + "resolved": "https://registry.npmmirror.com/secretlint/-/secretlint-10.2.2.tgz", + "integrity": "sha512-xVpkeHV/aoWe4vP4TansF622nBEImzCY73y/0042DuJ29iKIaqgoJ8fGxre3rVSHHbxar4FdJobmTnLp9AU0eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@secretlint/config-creator": "^10.2.2", + "@secretlint/formatter": "^10.2.2", + "@secretlint/node": "^10.2.2", + "@secretlint/profiler": "^10.2.2", + "debug": "^4.4.1", + "globby": "^14.1.0", + "read-pkg": "^9.0.1" + }, + "bin": { + "secretlint": "bin/secretlint.js" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shelljs": { + "version": "0.9.2", + "resolved": "https://registry.npmmirror.com/shelljs/-/shelljs-0.9.2.tgz", + "integrity": "sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "execa": "^1.0.0", + "fast-glob": "^3.3.2", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/shx": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/shx/-/shx-0.4.0.tgz", + "integrity": "sha512-Z0KixSIlGPpijKgcH6oCMCbltPImvaKy0sGH8AkLRXw1KyzpKtaCTizP2xen+hNDqVF4xxgvA0KXSb9o4Q6hnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.8", + "shelljs": "^0.9.2" + }, + "bin": { + "shx": "lib/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/structured-source": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/structured-source/-/structured-source-4.0.0.tgz", + "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boundary": "^2.0.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/table": { + "version": "6.9.0", + "resolved": "https://registry.npmmirror.com/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar-fs": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/tar-fs/-/tar-fs-2.1.5.tgz", + "integrity": "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terminal-link": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-4.0.0.tgz", + "integrity": "sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "supports-hyperlinks": "^3.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "dev": true, + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmmirror.com/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmmirror.com/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/underscore": { + "version": "1.13.8", + "resolved": "https://registry.npmmirror.com/underscore/-/underscore-1.13.8.tgz", + "integrity": "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/undici/-/undici-7.29.0.tgz", + "integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.24.6", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmmirror.com/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==", + "dev": true, + "license": "Artistic-2.0", + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yauzl": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-3.4.0.tgz", + "integrity": "sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3" + } + } + } +} diff --git a/packages/viper/package.json b/packages/viper/package.json new file mode 100644 index 0000000..f42b77b --- /dev/null +++ b/packages/viper/package.json @@ -0,0 +1,216 @@ +{ + "name": "viper", + "displayName": "Viper", + "description": "Project management and toolchain for Viper language", + "version": "0.1.0", + "private": true, + "license": "MIT", + "publisher": "terminexus", + "engines": { + "vscode": "^1.101.0" + }, + "categories": [ + "Programming Languages" + ], + "keywords": [ + "viper" + ], + "activationEvents": [ + "onLanguage:viper", + "workspaceContains:**/*.vpj", + "workspaceContains:**/*.vp" + ], + "icon": "images/viper-icon.svg", + "main": "./dist/extension.js", + "contributes": { + "languages": [ + { + "id": "viper-project", + "aliases": [ + "Viper Project" + ], + "extensions": [ + ".vpj" + ], + "icon": { + "light": "images/vpj-icon.svg", + "dark": "images/vpj-icon.svg" + } + } + ], + "grammars": [ + { + "language": "viper-project", + "scopeName": "source.json.vpj", + "path": "./syntaxes/vpj.tmLanguage.json" + } + ], + "customEditors": [ + { + "viewType": "viper.vpjEditor", + "displayName": "Viper Project Editor", + "selector": [ + { + "filenamePattern": "*.vpj" + } + ], + "priority": "default" + } + ], + "configurationDefaults": { + "files.associations": { + "*.vpj": "viper-project" + } + }, + "viewsContainers": { + "activitybar": [ + { + "id": "viper-explorer", + "title": "Viper", + "icon": "images/viper-icon.svg" + } + ] + }, + "views": { + "viper-explorer": [ + { + "id": "viper.projectView", + "name": "Project" + }, + { + "id": "viper.toolchainView", + "name": "Toolchain" + }, + { + "id": "viper.settingsView", + "name": "Settings" + } + ] + }, + "viewsWelcome": [ + { + "view": "viper.projectView", + "contents": "No Viper project found in this workspace.\n[Create Project](command:viper.createProject)\n[Open Folder](command:workbench.action.files.openFolder)" + }, + { + "view": "viper.toolchainView", + "contents": "No Viper toolchain detected.\n[Configure Toolchain](command:viper.selectToolchain)" + } + ], + "commands": [ + { + "command": "viper.createProject", + "title": "Viper: Create Project", + "category": "Viper" + }, + { + "command": "viper.selectToolchain", + "title": "Viper: Select Toolchain", + "category": "Viper" + }, + { + "command": "viper.showProjectInfo", + "title": "Viper: Show Project Info", + "category": "Viper" + }, + { + "command": "viper.openSettings", + "title": "Viper: Open Settings", + "category": "Viper" + }, + { + "command": "viper.refreshView", + "title": "Viper: Refresh", + "category": "Viper", + "icon": "$(refresh)" + }, + { + "command": "viper.openVpjAsJson", + "title": "Viper: Open .vpj as JSON", + "category": "Viper" + } + ], + "menus": { + "commandPalette": [ + { + "command": "viper.openVpjAsJson", + "when": "resourceExtname == .vpj" + } + ], + "editor/title/context": [ + { + "command": "viper.openVpjAsJson", + "when": "resourceExtname == .vpj", + "group": "1_open" + } + ], + "explorer/context": [ + { + "command": "viper.openVpjAsJson", + "when": "resourceExtname == .vpj", + "group": "1_open" + } + ], + "view/title": [ + { + "command": "viper.refreshView", + "when": "view == viper.projectView || view == viper.toolchainView || view == viper.settingsView", + "group": "navigation" + } + ] + }, + "configuration": { + "title": "Viper", + "properties": { + "viper.toolchain.path": { + "type": "string", + "default": "C:\\v.exe", + "description": "Path to Viper compiler executable.", + "scope": "resource" + }, + "viper.toolchain.version": { + "type": "string", + "default": "1.0.0", + "description": "Viper compiler version string.", + "scope": "resource", + "readOnly": true + }, + "viper.build.parallel": { + "type": "boolean", + "default": true, + "description": "Enable parallel compilation.", + "scope": "resource" + }, + "viper.build.onSave": { + "type": "boolean", + "default": false, + "description": "Trigger build on file save.", + "scope": "resource" + }, + "viper.analysis.dialect": { + "type": "string", + "enum": [ + "python", + "viper" + ], + "default": "viper", + "description": "Language dialect for analysis.", + "scope": "resource" + } + } + } + }, + "scripts": { + "clean": "shx rm -rf ./dist ./out", + "compile": "tsc -p ./tsconfig.json", + "watch": "tsc -p ./tsconfig.json --watch", + "package": "vsce package" + }, + "devDependencies": { + "@types/node": "^25.9.2", + "@types/vscode": "^1.101.0", + "@vscode/vsce": "^3.9.2", + "shx": "^0.4.0", + "typescript": "~6.0.3" + } +} diff --git a/packages/viper/src/api.ts b/packages/viper/src/api.ts new file mode 100644 index 0000000..37f7717 --- /dev/null +++ b/packages/viper/src/api.ts @@ -0,0 +1,51 @@ +/* + * api.ts + * 导出给其他扩展(如 vscode-viper-lsp)使用的 ViperApi 实现。 + */ + +import * as path from 'path'; +import { Event } from 'vscode'; +import { ProjectManager } from './projectManager'; +import { ToolchainManager } from './toolchainManager'; +import { ToolchainInfo, ViperApi, ViperProject } from './types'; + +export class ViperApiImpl implements ViperApi { + constructor( + private readonly projects: ProjectManager, + private readonly toolchain: ToolchainManager + ) {} + + GetProject(workspaceFolder?: string): ViperProject | undefined { + return this.projects.GetProject(workspaceFolder); + } + + GetViperSearchPaths(workspaceFolder?: string): string[] { + const project = this.projects.GetProject(workspaceFolder); + if (!project) { + return []; + } + const paths: string[] = [project.SourceDir]; + paths.push(...project.Includes); + // stdlib 路径:工具链同目录下的 stdlib/(占位,后续由 toolchain 发现) + const tool = this.toolchain.GetToolchain(); + const stdlib = path.join(path.dirname(tool.Path), 'stdlib'); + paths.push(stdlib); + return paths; + } + + GetToolchain(): ToolchainInfo { + return this.toolchain.GetToolchain(); + } + + GetTargetTriple(workspaceFolder?: string): string | undefined { + return this.projects.GetProject(workspaceFolder)?.Target.Triple; + } + + get OnDidChangeProject(): Event { + return this.projects.OnDidChangeProject; + } + + get OnDidChangeToolchain(): Event { + return this.toolchain.OnDidChangeToolchain; + } +} diff --git a/packages/viper/src/extension.ts b/packages/viper/src/extension.ts new file mode 100644 index 0000000..377745f --- /dev/null +++ b/packages/viper/src/extension.ts @@ -0,0 +1,180 @@ +/* + * extension.ts + * Viper Core 扩展入口。 + */ + +import { commands, ExtensionContext, window, workspace } from 'vscode'; +import { ProjectManager } from './projectManager'; +import { ToolchainManager } from './toolchainManager'; +import { ViperViewProvider } from './viperViewProvider'; +import { StatusBarManager } from './statusBar'; +import { ViperApiImpl } from './api'; +import { VpjEditorProvider } from './vpjEditorProvider'; + +export async function activate(context: ExtensionContext): Promise { + const projects = new ProjectManager(); + const toolchain = new ToolchainManager(); + + // 初始扫描项目文件。 + await projects.DiscoverProjects(); + + // 监听 .vpj 变更。 + const watcher = projects.WatchProjectFiles(); + context.subscriptions.push(watcher); + + // 注册三个树视图。 + const projectView = new ViperViewProvider('viper.projectView', projects, toolchain); + const toolchainView = new ViperViewProvider('viper.toolchainView', projects, toolchain); + const settingsView = new ViperViewProvider('viper.settingsView', projects, toolchain); + + context.subscriptions.push( + window.registerTreeDataProvider('viper.projectView', projectView), + window.registerTreeDataProvider('viper.toolchainView', toolchainView), + window.registerTreeDataProvider('viper.settingsView', settingsView) + ); + + // 状态栏。 + context.subscriptions.push(new StatusBarManager(toolchain)); + + // 注册 .vpj 自定义编辑器。 + context.subscriptions.push(VpjEditorProvider.Register(context)); + + // 项目/工具链变更时刷新视图。 + context.subscriptions.push( + projects.OnDidChangeProject(() => { + projectView.Refresh(); + toolchainView.Refresh(); + }), + toolchain.OnDidChangeToolchain(() => { + toolchainView.Refresh(); + }) + ); + + // 命令。 + context.subscriptions.push( + commands.registerCommand('viper.createProject', async () => { + await CreateProjectCommand(); + await projects.DiscoverProjects(); + projectView.Refresh(); + }), + commands.registerCommand('viper.selectToolchain', async () => { + await toolchain.SelectToolchain(); + }), + commands.registerCommand('viper.showProjectInfo', () => { + ShowProjectInfoCommand(projects); + }), + commands.registerCommand('viper.openSettings', () => { + commands.executeCommand('workbench.action.openSettings', '@ext:terminexus.viper'); + }), + commands.registerCommand('viper.refreshView', async () => { + await projects.DiscoverProjects(); + toolchain.Refresh(); + projectView.Refresh(); + toolchainView.Refresh(); + settingsView.Refresh(); + }), + commands.registerCommand('viper.openVpjAsJson', async (uri?: import('vscode').Uri) => { + const target = uri ?? window.activeTextEditor?.document.uri; + if (!target) { + window.showWarningMessage('No .vpj file selected.'); + return; + } + // 用默认文本编辑器打开,绕过自定义 webview 编辑器。 + await window.showTextDocument(target, { preview: false }); + }) + ); + + // 监听配置变更,刷新工具链。 + context.subscriptions.push( + workspace.onDidChangeConfiguration((e) => { + if (e.affectsConfiguration('viper.toolchain')) { + toolchain.Refresh(); + } + }) + ); + + // 导出 API。 + const api = new ViperApiImpl(projects, toolchain); + return api; +} + +export function deactivate(): void { + // 清理由 context.subscriptions 自动处理。 +} + +/** 创建项目命令:在当前 workspace 根目录生成 .vpj 模板。 */ +async function CreateProjectCommand(): Promise { + if (!workspace.workspaceFolders || workspace.workspaceFolders.length === 0) { + window.showWarningMessage('Open a folder first to create a Viper project.'); + return; + } + + const folder = workspace.workspaceFolders[0]; + const name = await window.showInputBox({ + prompt: 'Project name', + placeHolder: 'MyViperApp', + value: 'MyViperApp', + }); + if (!name) { + return; + } + + const template = { + $schema: 'https://raw.githubusercontent.com/TermiNexus/TransPyC/main/schemas/project-schema.json', + name, + version: '1.0.0', + source_dir: './App', + build_dir: './.tpv_build', + compiler: { + cmd: 'llc', + flags: ['-filetype=obj', '-relocation-model=pic'], + }, + linker: { + cmd: 'clang++', + flags: ['-lmsvcrt', '-lucrt', '-lpthread', '-lmingwex', '-lkernel32', '-Wl,--allow-multiple-definition'], + output: 'app.exe', + }, + includes: [], + target: { + triple: 'x86_64-pc-windows-gnu', + datalayout: + 'e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128', + }, + options: { + slice_level: 3, + sha1_slice_level: 1, + target: 'llvm', + strict_mode: true, + }, + }; + + const uri = folder.uri.with({ path: `${folder.uri.path}/project.vpj` }); + const content = JSON.stringify(template, null, 4); + await workspace.fs.writeFile(uri, Buffer.from(content, 'utf8')); + window.showInformationMessage(`Created ${uri.fsPath}`); +} + +/** 显示当前项目信息。 */ +function ShowProjectInfoCommand(projects: ProjectManager): void { + const project = projects.GetProject(); + if (!project) { + window.showWarningMessage('No Viper project loaded.'); + return; + } + const lines = [ + `Name: ${project.Name}`, + `Version: ${project.Version}`, + `Project File: ${project.ProjectFile}`, + `Source Dir: ${project.SourceDir}`, + `Build Dir: ${project.BuildDir}`, + `Target Triple: ${project.Target.Triple}`, + `Includes: ${project.Includes.join('; ') || '(none)'}`, + `Compiler: ${project.Compiler.Cmd} ${project.Compiler.Flags.join(' ')}`, + `Linker: ${project.Linker.Cmd} → ${project.Linker.Output}`, + `Options: slice=${project.Options.SliceLevel}, sha1_slice=${project.Options.Sha1SliceLevel}, target=${project.Options.Target}, strict=${project.Options.StrictMode}`, + ]; + const channel = window.createOutputChannel('Viper'); + channel.clear(); + channel.appendLine(lines.join('\n')); + channel.show(); +} diff --git a/packages/viper/src/projectManager.ts b/packages/viper/src/projectManager.ts new file mode 100644 index 0000000..2188c39 --- /dev/null +++ b/packages/viper/src/projectManager.ts @@ -0,0 +1,122 @@ +/* + * projectManager.ts + * 负责发现、解析、监听 .vpj 项目配置文件。 + */ + +import * as fs from 'fs'; +import * as path from 'path'; +import { EventEmitter, Event, Uri, workspace, WorkspaceFolder } from 'vscode'; +import { ViperProject } from './types'; + +export class ProjectManager { + private projects = new Map(); + private readonly _onDidChange = new EventEmitter(); + readonly OnDidChangeProject: Event = this._onDidChange.event; + + /** 扫描 workspace 下所有 .vpj 文件。 */ + async DiscoverProjects(): Promise { + this.projects.clear(); + const uris = await workspace.findFiles('**/*.vpj', '**/node_modules/**', 50); + for (const uri of uris) { + this.LoadProject(uri); + } + this._onDidChange.fire(this.GetProject()); + } + + /** 解析并加载单个 .vpj 文件。 */ + LoadProject(uri: Uri): ViperProject | undefined { + try { + const content = fs.readFileSync(uri.fsPath, 'utf8'); + const raw = JSON.parse(content); + const projectRoot = path.dirname(uri.fsPath); + + const project: ViperProject = { + Name: raw.name ?? 'unnamed', + Version: raw.version ?? '0.0.0', + SourceDir: path.resolve(projectRoot, raw.source_dir ?? '.'), + BuildDir: path.resolve(projectRoot, raw.build_dir ?? './.tpv_build'), + Includes: (raw.includes ?? []).map((p: string) => path.resolve(projectRoot, p)), + Compiler: { + Cmd: raw.compiler?.cmd ?? 'llc', + Flags: raw.compiler?.flags ?? [], + }, + Linker: { + Cmd: raw.linker?.cmd ?? 'clang++', + Flags: raw.linker?.flags ?? [], + Output: raw.linker?.output ?? 'app.exe', + }, + Target: { + Triple: raw.target?.triple ?? 'x86_64-pc-windows-gnu', + DataLayout: raw.target?.datalayout ?? '', + }, + Options: { + SliceLevel: raw.options?.slice_level ?? 3, + Sha1SliceLevel: raw.options?.sha1_slice_level ?? 1, + Target: raw.options?.target ?? 'llvm', + StrictMode: raw.options?.strict_mode ?? false, + }, + ProjectRoot: projectRoot, + ProjectFile: uri.fsPath, + }; + + const key = this.GetWorkspaceKey(uri); + this.projects.set(key, project); + this._onDidChange.fire(project); + return project; + } catch (err) { + console.error(`[Viper] Failed to parse project file: ${uri.fsPath}`, err); + return undefined; + } + } + + /** 获取指定 workspace 的项目(默认第一个)。 */ + GetProject(workspaceFolder?: WorkspaceFolder | string): ViperProject | undefined { + if (workspaceFolder) { + const key = typeof workspaceFolder === 'string' ? workspaceFolder : workspaceFolder.uri.fsPath; + return this.projects.get(key); + } + if (this.projects.size === 0) { + return undefined; + } + return this.projects.values().next().value; + } + + /** 获取所有已加载项目。 */ + GetAllProjects(): ViperProject[] { + return Array.from(this.projects.values()); + } + + /** 重新加载指定 .vpj 文件。 */ + ReloadProject(uri: Uri): void { + this.LoadProject(uri); + } + + /** 移除项目。 */ + RemoveProject(uri: Uri): void { + const key = this.GetWorkspaceKey(uri); + if (this.projects.delete(key)) { + this._onDidChange.fire(this.GetProject()); + } + } + + /** 监听 .vpj 文件变更。 */ + WatchProjectFiles(): { dispose: () => void } { + const watcher = workspace.createFileSystemWatcher('**/*.vpj'); + const changeSub = watcher.onDidChange((uri) => this.ReloadProject(uri)); + const createSub = watcher.onDidCreate((uri) => this.LoadProject(uri)); + const deleteSub = watcher.onDidDelete((uri) => this.RemoveProject(uri)); + return { + dispose: () => { + changeSub.dispose(); + createSub.dispose(); + deleteSub.dispose(); + watcher.dispose(); + }, + }; + } + + private GetWorkspaceKey(uri: Uri): string { + const folder = workspace.getWorkspaceFolder(uri); + return folder ? folder.uri.fsPath : path.dirname(uri.fsPath); + } +} diff --git a/packages/viper/src/statusBar.ts b/packages/viper/src/statusBar.ts new file mode 100644 index 0000000..bfcfb78 --- /dev/null +++ b/packages/viper/src/statusBar.ts @@ -0,0 +1,35 @@ +/* + * statusBar.ts + * 右下角状态栏:显示当前 Viper 编译器路径与版本。 + */ + +import { StatusBarAlignment, StatusBarItem, window } from 'vscode'; +import { ToolchainManager } from './toolchainManager'; +import { Disposable } from 'vscode'; + +export class StatusBarManager implements Disposable { + private readonly item: StatusBarItem; + private readonly toolchain: ToolchainManager; + private readonly disposable: Disposable; + + constructor(toolchain: ToolchainManager) { + this.toolchain = toolchain; + this.item = window.createStatusBarItem(StatusBarAlignment.Right, 100); + this.item.command = 'viper.selectToolchain'; + + this.disposable = toolchain.OnDidChangeToolchain(() => this.Update()); + this.Update(); + this.item.show(); + } + + private Update(): void { + const tool = this.toolchain.GetToolchain(); + this.item.text = `$(tools) Viper: ${tool.Path} (${tool.Version})`; + this.item.tooltip = `Viper Toolchain\nPath: ${tool.Path}\nVersion: ${tool.Version}\nSource: ${tool.Source}\nClick to change`; + } + + dispose(): void { + this.item.dispose(); + this.disposable.dispose(); + } +} diff --git a/packages/viper/src/toolchainManager.ts b/packages/viper/src/toolchainManager.ts new file mode 100644 index 0000000..61ca8a1 --- /dev/null +++ b/packages/viper/src/toolchainManager.ts @@ -0,0 +1,77 @@ +/* + * toolchainManager.ts + * 发现和切换 Viper 工具链。 + * 当前硬编码为 C:\v.exe,版本 1.0.0。 + */ + +import { EventEmitter, Event, workspace } from 'vscode'; +import { ToolchainInfo } from './types'; + +export class ToolchainManager { + // 硬编码的工具链信息,后续支持自动发现时替换。 + private static readonly HardcodedToolchain: ToolchainInfo = { + Path: 'C:\\v.exe', + Version: '1.0.0', + Source: 'hardcoded', + }; + + private current: ToolchainInfo; + private readonly _onDidChange = new EventEmitter(); + readonly OnDidChangeToolchain: Event = this._onDidChange.event; + + constructor() { + this.current = this.ResolveToolchain(); + } + + /** 获取当前工具链。 */ + GetToolchain(): ToolchainInfo { + return this.current; + } + + /** 切换工具链(更新配置项)。 */ + async SelectToolchain(): Promise { + const config = workspace.getConfiguration('viper.toolchain'); + const newPath = await this.PromptForPath(config.get('path', ToolchainManager.HardcodedToolchain.Path)); + if (newPath) { + await config.update('path', newPath, true); + this.current = this.ResolveToolchain(); + this._onDidChange.fire(this.current); + } + } + + /** 重新解析当前工具链(配置变更后调用)。 */ + Refresh(): void { + const next = this.ResolveToolchain(); + if (next.Path !== this.current.Path || next.Version !== this.current.Version) { + this.current = next; + this._onDidChange.fire(this.current); + } + } + + private ResolveToolchain(): ToolchainInfo { + const config = workspace.getConfiguration('viper.toolchain'); + const configuredPath = config.get('path'); + const configuredVersion = config.get('version', ToolchainManager.HardcodedToolchain.Version); + + if (configuredPath && configuredPath.trim().length > 0) { + return { + Path: configuredPath, + Version: configuredVersion, + Source: 'config', + }; + } + + return { ...ToolchainManager.HardcodedToolchain }; + } + + private async PromptForPath(current: string): Promise { + // 简化:后续可以替换为 QuickInput + 文件选择器。 + const { window } = await import('vscode'); + const result = await window.showInputBox({ + prompt: 'Viper compiler path', + value: current, + placeHolder: 'C:\\v.exe', + }); + return result; + } +} diff --git a/packages/viper/src/types.ts b/packages/viper/src/types.ts new file mode 100644 index 0000000..5638ae1 --- /dev/null +++ b/packages/viper/src/types.ts @@ -0,0 +1,65 @@ +/* + * types.ts + * Viper Core 类型定义。 + */ + +import { Event } from 'vscode'; + +/** .vpj 解析后的项目配置。 */ +export interface ViperProject { + Name: string; + Version: string; + SourceDir: string; // 绝对路径 + BuildDir: string; // 绝对路径 + Includes: string[]; // 绝对路径 + Compiler: { Cmd: string; Flags: string[] }; + Linker: { Cmd: string; Flags: string[]; Output: string }; + Target: { Triple: string; DataLayout: string }; + Options: { + SliceLevel: number; + Sha1SliceLevel: number; + Target: string; + StrictMode: boolean; + }; + ProjectRoot: string; // .vpj 所在目录(绝对路径) + ProjectFile: string; // .vpj 绝对路径 +} + +/** 工具链信息。 */ +export interface ToolchainInfo { + Path: string; // 编译器可执行文件路径 + Version: string; // 版本字符串 + Source: 'hardcoded' | 'config' | 'env' | 'path'; +} + +/** 暴露给其他扩展的 API。 */ +export interface ViperApi { + /** 获取当前工作区的项目配置。 */ + GetProject(workspaceFolder?: string): ViperProject | undefined; + + /** 获取 Viper 搜索路径(stdlib + includes + sourceDir)。 */ + GetViperSearchPaths(workspaceFolder?: string): string[]; + + /** 获取当前工具链。 */ + GetToolchain(): ToolchainInfo; + + /** 获取 target triple。 */ + GetTargetTriple(workspaceFolder?: string): string | undefined; + + /** 项目配置变更事件。 */ + OnDidChangeProject: Event; + + /** 工具链变更事件。 */ + OnDidChangeToolchain: Event; +} + +/** 树视图节点。 */ +export interface ViperTreeNode { + Label: string; + Description?: string; + Tooltip?: string; + Icon?: string; + Children?: ViperTreeNode[]; + Command?: string; + ContextValue?: string; +} diff --git a/packages/viper/src/viperViewProvider.ts b/packages/viper/src/viperViewProvider.ts new file mode 100644 index 0000000..f1e2186 --- /dev/null +++ b/packages/viper/src/viperViewProvider.ts @@ -0,0 +1,170 @@ +/* + * viperViewProvider.ts + * 左侧活动栏三个视图的 TreeDataProvider 实现。 + */ + +import { Event, EventEmitter, ProviderResult, TreeDataProvider, TreeItem, TreeItemCollapsibleState } from 'vscode'; +import { ProjectManager } from './projectManager'; +import { ToolchainManager } from './toolchainManager'; +import { ViperTreeNode } from './types'; + +/** 通用树视图提供者,按视图 ID 返回不同节点集。 */ +export class ViperViewProvider implements TreeDataProvider { + private readonly _onDidChangeTreeData = new EventEmitter(); + readonly onDidChangeTreeData: Event = this._onDidChangeTreeData.event; + + constructor( + private readonly viewId: string, + private readonly projects: ProjectManager, + private readonly toolchain: ToolchainManager + ) {} + + Refresh(): void { + this._onDidChangeTreeData.fire(undefined); + } + + getTreeItem(element: ViperTreeNode): TreeItem { + const item = new TreeItem(element.Label, this.ToCollapsibleState(element.Children)); + item.description = element.Description; + item.tooltip = element.Tooltip; + if (element.Icon) { + item.iconPath = element.Icon; + } + if (element.Command) { + item.command = { command: element.Command, title: element.Label }; + } + if (element.ContextValue) { + item.contextValue = element.ContextValue; + } + return item; + } + + getChildren(element?: ViperTreeNode): ProviderResult { + if (element) { + return Promise.resolve(element.Children ?? []); + } + return Promise.resolve(this.BuildRootNodes()); + } + + private BuildRootNodes(): ViperTreeNode[] { + switch (this.viewId) { + case 'viper.projectView': + return this.BuildProjectNodes(); + case 'viper.toolchainView': + return this.BuildToolchainNodes(); + case 'viper.settingsView': + return this.BuildSettingsNodes(); + default: + return []; + } + } + + private BuildProjectNodes(): ViperTreeNode[] { + const all = this.projects.GetAllProjects(); + if (all.length === 0) { + return [ + { + Label: 'No project found', + Description: 'Click to create', + Command: 'viper.createProject', + Icon: '$(warning)', + }, + ]; + } + + return all.map((project) => ({ + Label: project.Name, + Description: project.Version, + Tooltip: project.ProjectFile, + Icon: '$(package)', + ContextValue: 'viperProject', + Children: [ + { + Label: 'Source Directory', + Description: project.SourceDir, + Icon: '$(folder)', + }, + { + Label: 'Build Directory', + Description: project.BuildDir, + Icon: '$(folder)', + }, + { + Label: 'Target Triple', + Description: project.Target.Triple, + Icon: '$(server)', + }, + { + Label: 'Compiler', + Description: `${project.Compiler.Cmd} ${project.Compiler.Flags.join(' ')}`, + Icon: '$(tools)', + }, + { + Label: 'Linker', + Description: `${project.Linker.Cmd} → ${project.Linker.Output}`, + Icon: '$(link)', + }, + { + Label: 'Includes', + Description: `${project.Includes.length} path(s)`, + Icon: '$(symbol-folder)', + Children: project.Includes.map((p) => ({ + Label: p, + Icon: '$(folder)', + })), + }, + ], + })); + } + + private BuildToolchainNodes(): ViperTreeNode[] { + const tool = this.toolchain.GetToolchain(); + return [ + { + Label: tool.Path, + Description: tool.Version, + Tooltip: `Source: ${tool.Source}`, + Icon: '$(tools)', + Command: 'viper.selectToolchain', + ContextValue: 'viperToolchain', + }, + { + Label: 'Version', + Description: tool.Version, + Icon: '$(tag)', + }, + { + Label: 'Source', + Description: tool.Source, + Icon: '$(info)', + }, + ]; + } + + private BuildSettingsNodes(): ViperTreeNode[] { + return [ + { + Label: 'Open Settings', + Description: 'Viper configuration', + Icon: '$(settings-gear)', + Command: 'viper.openSettings', + }, + { + Label: 'Show Project Info', + Description: 'Display active .vpj details', + Icon: '$(info)', + Command: 'viper.showProjectInfo', + }, + { + Label: 'Refresh', + Description: 'Reload project & toolchain', + Icon: '$(refresh)', + Command: 'viper.refreshView', + }, + ]; + } + + private ToCollapsibleState(children?: ViperTreeNode[]): TreeItemCollapsibleState { + return children && children.length > 0 ? TreeItemCollapsibleState.Collapsed : TreeItemCollapsibleState.None; + } +} diff --git a/packages/viper/src/vpjEditorProvider.ts b/packages/viper/src/vpjEditorProvider.ts new file mode 100644 index 0000000..53227e8 --- /dev/null +++ b/packages/viper/src/vpjEditorProvider.ts @@ -0,0 +1,502 @@ +/* + * vpjEditorProvider.ts + * .vpj 文件的自定义 Webview 编辑器,提供表单化编辑界面。 + * 用户需要查看/编辑原始 JSON 时,使用 "Open With..." 切换到原生文本编辑器。 + */ + +import * as vscode from 'vscode'; + +/** Webview 与扩展之间的消息协议。 */ +type VpjMessage = + | { Kind: 'Ready' } + | { Kind: 'Changed'; Content: string } + | { Kind: 'Error'; Message: string } + | { Kind: 'OpenAsJson' }; + +export class VpjEditorProvider implements vscode.CustomTextEditorProvider { + public static readonly ViewType = 'viper.vpjEditor'; + + public static Register(context: vscode.ExtensionContext): vscode.Disposable { + const provider = new VpjEditorProvider(context); + return vscode.window.registerCustomEditorProvider(VpjEditorProvider.ViewType, provider, { + webviewOptions: { retainContextWhenHidden: true }, + supportsMultipleEditorsPerDocument: false, + }); + } + + constructor(private readonly context: vscode.ExtensionContext) {} + + public async resolveCustomTextEditor( + document: vscode.TextDocument, + panel: vscode.WebviewPanel, + _token: vscode.CancellationToken + ): Promise { + const webview = panel.webview; + webview.options = { + enableScripts: true, + localResourceRoots: [this.context.extensionUri], + }; + + webview.html = this.BuildHtml(webview); + + // 跟踪最近从 webview 收到的内容,用于过滤 onDidChangeTextDocument 的回声。 + // applyEdit 是异步的,onDidChangeTextDocument 可能在用户已输入更多字符后才触发, + // 此时 lastSentContent 已更新为更新值,简单的等值比较无法过滤。 + // 用 Set 保留最近 1 秒内的所有发送内容,彻底避免回声。 + const recentWebviewContents = new Set(); + + // 初始内容推送。 + const PushContent = () => { + webview.postMessage({ Kind: 'Init', Content: document.getText() }); + }; + + // 文档外部变更时同步到 webview(跳过 webview 自身发起的变更回声)。 + const changeSub = vscode.workspace.onDidChangeTextDocument((e) => { + if (e.document.uri.toString() === document.uri.toString()) { + const currentContent = document.getText(); + // 如果当前文档内容与最近 webview 发送的内容一致,说明是回声,跳过。 + if (recentWebviewContents.has(currentContent)) { + return; + } + webview.postMessage({ Kind: 'ExternalChange', Content: currentContent }); + } + }); + + // 接收 webview 消息。 + const msgSub = webview.onDidReceiveMessage((msg: VpjMessage) => { + switch (msg.Kind) { + case 'Ready': + PushContent(); + break; + case 'Changed': + // 记录本次发送内容,1 秒后清理。 + recentWebviewContents.add(msg.Content); + setTimeout(() => recentWebviewContents.delete(msg.Content), 1000); + this.UpdateDocument(document, msg.Content); + break; + case 'Error': + vscode.window.showErrorMessage(`Viper Project: ${msg.Message}`); + break; + case 'OpenAsJson': + this.OpenAsJson(document.uri); + break; + } + }); + + panel.onDidDispose(() => { + changeSub.dispose(); + msgSub.dispose(); + }); + + PushContent(); + } + + /** 关闭自定义编辑器,用原生文本编辑器打开同一文件。 */ + private async OpenAsJson(uri: vscode.Uri): Promise { + // 先关闭当前 webview 编辑器,再用默认文本编辑器打开。 + await vscode.commands.executeCommand('workbench.action.closeActiveEditor'); + await vscode.window.showTextDocument(uri, { preview: false }); + } + + /** 写回文档(仅当内容变化时)。 */ + private UpdateDocument(document: vscode.TextDocument, content: string): void { + if (document.getText() === content) { + return; + } + const edit = new vscode.WorkspaceEdit(); + edit.replace(document.uri, new vscode.Range(0, 0, document.lineCount, 0), content); + vscode.workspace.applyEdit(edit); + } + + /** 生成 Webview HTML。 */ + private BuildHtml(webview: vscode.Webview): string { + const nonce = GetNonce(); + const csp = [ + `default-src 'none'`, + `img-src ${webview.cspSource} https:`, + `style-src ${webview.cspSource} 'unsafe-inline'`, + `script-src 'nonce-${nonce}'`, + ].join('; '); + + return ` + + + + + +Viper Project Editor + + + +
+
+
Viper Project
+ +
+ +
+ +
+
+
+ + +`; + } +} + +/** 生成随机 nonce 用于 CSP。 */ +function GetNonce(): string { + let text = ''; + const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + for (let i = 0; i < 32; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)); + } + return text; +} + +/** Webview 样式。 */ +function GetStyles(): string { + return ` + * { box-sizing: border-box; } + body { + margin: 0; + padding: 0; + font-family: var(--vscode-font-family, 'Segoe UI', sans-serif); + font-size: var(--vscode-font-size, 13px); + color: var(--vscode-foreground, #333); + background-color: var(--vscode-editor-background, #fff); + } + #root { display: flex; flex-direction: column; height: 100vh; } + .toolbar { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px 16px; + border-bottom: 1px solid var(--vscode-panel-border, #ddd); + } + .title { font-weight: 600; font-size: 14px; } + .toolbar-btn { + padding: 4px 12px; + border: 1px solid var(--vscode-button-border, transparent); + background: var(--vscode-button-secondaryBackground, #5a5d5e); + color: var(--vscode-button-secondaryForeground, #fff); + cursor: pointer; + border-radius: 4px; + font-size: 12px; + max-width: 200px; + } + .toolbar-btn:hover { + background: var(--vscode-button-secondaryHoverBackground, #6c7071); + } + .view { flex: 1; overflow: auto; padding: 16px; max-width: 900px; margin: 0 auto; width: 100%; } + .section { + border: 1px solid var(--vscode-panel-border, #ddd); + border-radius: 4px; + margin-bottom: 12px; + } + .section-header { + padding: 8px 12px; + font-weight: 600; + cursor: pointer; + user-select: none; + border-bottom: 1px solid transparent; + display: flex; + align-items: center; + gap: 6px; + } + .section.collapsed .section-header { border-bottom-color: transparent; } + .section.expanded .section-header { border-bottom-color: var(--vscode-panel-border, #ddd); } + .section-header::before { + content: '▼'; + font-size: 10px; + transition: transform 0.1s; + } + .section.collapsed .section-header::before { transform: rotate(-90deg); } + .section-body { padding: 12px; display: block; } + .section.collapsed .section-body { display: none; } + .field { display: flex; align-items: center; margin-bottom: 8px; gap: 8px; } + .field label { + flex: 0 0 160px; + font-size: 12px; + color: var(--vscode-descriptionForeground, #666); + } + .field input[type="text"], + .field input[type="number"], + .field select { + flex: 1; + max-width: 400px; + padding: 4px 8px; + border: 1px solid var(--vscode-input-border, #ddd); + background-color: var(--vscode-input-background, #fff); + color: var(--vscode-input-foreground, #333); + font-family: inherit; + font-size: 12px; + border-radius: 2px; + } + .field input:focus, .field select:focus { + outline: 1px solid var(--vscode-focusBorder, #007acc); + border-color: var(--vscode-focusBorder, #007acc); + } + .field input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 16px; } + .array-container { flex: 1; display: flex; flex-direction: column; gap: 4px; max-width: 400px; } + .array-item { + display: flex; + gap: 4px; + margin-bottom: 4px; + align-items: center; + } + .array-item input { flex: 1; } + .array-add { + padding: 2px 10px; + font-size: 11px; + background: var(--vscode-button-background, #007acc); + color: var(--vscode-button-foreground, #fff); + border: none; + border-radius: 2px; + cursor: pointer; + align-self: flex-start; + max-width: 100px; + } + .array-remove { + padding: 2px 8px; + font-size: 11px; + background: var(--vscode-errorForeground, #f14c4c); + color: #fff; + border: none; + border-radius: 2px; + cursor: pointer; + flex: 0 0 auto; + } + .error-banner { + padding: 8px 12px; + margin-bottom: 12px; + background-color: var(--vscode-inputValidation-errorBackground, #5a1d1d); + color: var(--vscode-inputValidation-errorForeground, #f48771); + border: 1px solid var(--vscode-inputValidation-errorBorder, #f48771); + border-radius: 4px; + font-family: var(--vscode-editor-font-family, monospace); + font-size: 12px; + white-space: pre-wrap; + } + .hidden { display: none !important; } + `; +} + +/** Webview 脚本:负责表单渲染、双向同步、Open as JSON。 */ +function GetScript(): string { + return ` + const vscode = acquireVsCodeApi(); + let currentData = null; + let suppressChange = false; + let lastSentContent = null; // 跟踪最后发送的内容,避免回声循环 + + // Open as JSON 按钮。 + document.getElementById('btn-open-json').addEventListener('click', () => { + vscode.postMessage({ Kind: 'OpenAsJson' }); + }); + + // 接收扩展消息。 + window.addEventListener('message', (event) => { + const msg = event.data; + if (msg.Kind === 'Init') { + try { + currentData = JSON.parse(msg.Content); + lastSentContent = msg.Content; + suppressChange = true; + RenderForm(currentData); + document.getElementById('error-banner').classList.add('hidden'); + } catch (e) { + ShowError('Failed to parse JSON: ' + e.message); + } + suppressChange = false; + } else if (msg.Kind === 'ExternalChange') { + // 跳过自己发出的回声,避免输入时表单重建导致失焦 + if (msg.Content === lastSentContent) { + return; + } + try { + currentData = JSON.parse(msg.Content); + suppressChange = true; + RenderForm(currentData); + document.getElementById('error-banner').classList.add('hidden'); + } catch (e) { + ShowError('Failed to parse JSON: ' + e.message); + } + suppressChange = false; + } + }); + + // 通知扩展已就绪。 + vscode.postMessage({ Kind: 'Ready' }); + + function ShowError(message) { + const banner = document.getElementById('error-banner'); + banner.textContent = message; + banner.classList.remove('hidden'); + } + + function EmitChange() { + if (suppressChange) return; + const content = JSON.stringify(currentData, null, 4); + lastSentContent = content; // 记录发送内容 + vscode.postMessage({ Kind: 'Changed', Content: content }); + } + + // 字段更新辅助函数。 + function SetField(path, value) { + const parts = path.split('.'); + let obj = currentData; + for (let i = 0; i < parts.length - 1; i++) { + if (!obj[parts[i]]) obj[parts[i]] = {}; + obj = obj[parts[i]]; + } + obj[parts[parts.length - 1]] = value; + EmitChange(); + } + + function GetField(path, fallback) { + const parts = path.split('.'); + let obj = currentData; + for (const p of parts) { + if (obj == null) return fallback; + obj = obj[p]; + } + return obj == null ? fallback : obj; + } + + // 渲染表单。 + function RenderForm(data) { + const container = document.getElementById('form-container'); + container.innerHTML = ''; + container.appendChild(BuildSection('Project', [ + { Key: 'name', Label: 'Name', Type: 'text' }, + { Key: 'version', Label: 'Version', Type: 'text' }, + { Key: 'source_dir', Label: 'Source Directory', Type: 'text' }, + { Key: 'build_dir', Label: 'Build Directory', Type: 'text' }, + ])); + container.appendChild(BuildSection('Includes', [ + { Key: 'includes', Label: 'Include Paths', Type: 'array' }, + ])); + container.appendChild(BuildSection('Compiler', [ + { Key: 'compiler.cmd', Label: 'Command', Type: 'text' }, + { Key: 'compiler.flags', Label: 'Flags', Type: 'array' }, + ])); + container.appendChild(BuildSection('Linker', [ + { Key: 'linker.cmd', Label: 'Command', Type: 'text' }, + { Key: 'linker.flags', Label: 'Flags', Type: 'array' }, + { Key: 'linker.output', Label: 'Output', Type: 'text' }, + ])); + container.appendChild(BuildSection('Target', [ + { Key: 'target.triple', Label: 'Triple', Type: 'text' }, + { Key: 'target.datalayout', Label: 'Data Layout', Type: 'text' }, + ])); + container.appendChild(BuildSection('Options', [ + { Key: 'options.slice_level', Label: 'Slice Level', Type: 'number' }, + { Key: 'options.sha1_slice_level', Label: 'SHA1 Slice Level', Type: 'number' }, + { Key: 'options.target', Label: 'Target', Type: 'select', Options: ['llvm', 'c', 'asm'] }, + { Key: 'options.strict_mode', Label: 'Strict Mode', Type: 'checkbox' }, + ])); + } + + function BuildSection(title, fields) { + const section = document.createElement('div'); + section.className = 'section expanded'; + const header = document.createElement('div'); + header.className = 'section-header'; + header.textContent = title; + header.addEventListener('click', () => { + section.classList.toggle('expanded'); + section.classList.toggle('collapsed'); + }); + const body = document.createElement('div'); + body.className = 'section-body'; + for (const f of fields) { + body.appendChild(BuildField(f)); + } + section.appendChild(header); + section.appendChild(body); + return section; + } + + function BuildField(field) { + const wrapper = document.createElement('div'); + wrapper.className = 'field'; + const label = document.createElement('label'); + label.textContent = field.Label; + wrapper.appendChild(label); + + if (field.Type === 'array') { + const container = document.createElement('div'); + container.className = 'array-container'; + const items = GetField(field.Key, []) || []; + items.forEach((item, idx) => { + container.appendChild(BuildArrayItem(container, field.Key, idx, item)); + }); + const addBtn = document.createElement('button'); + addBtn.className = 'array-add'; + addBtn.textContent = '+ Add'; + addBtn.addEventListener('click', () => { + const arr = GetField(field.Key, []) || []; + arr.push(''); + SetField(field.Key, arr); + container.insertBefore(BuildArrayItem(container, field.Key, arr.length - 1, ''), addBtn); + }); + container.appendChild(addBtn); + wrapper.appendChild(container); + } else if (field.Type === 'checkbox') { + const input = document.createElement('input'); + input.type = 'checkbox'; + input.checked = !!GetField(field.Key, false); + input.addEventListener('change', () => SetField(field.Key, input.checked)); + wrapper.appendChild(input); + } else if (field.Type === 'select') { + const select = document.createElement('select'); + field.Options.forEach((opt) => { + const option = document.createElement('option'); + option.value = opt; + option.textContent = opt; + if (GetField(field.Key, '') === opt) option.selected = true; + select.appendChild(option); + }); + select.addEventListener('change', () => SetField(field.Key, select.value)); + wrapper.appendChild(select); + } else { + const input = document.createElement('input'); + input.type = field.Type; + input.value = GetField(field.Key, ''); + input.addEventListener('input', () => { + const v = field.Type === 'number' ? Number(input.value) : input.value; + SetField(field.Key, v); + }); + wrapper.appendChild(input); + } + return wrapper; + } + + function BuildArrayItem(container, key, idx, value) { + const item = document.createElement('div'); + item.className = 'array-item'; + const input = document.createElement('input'); + input.type = 'text'; + input.value = value; + input.addEventListener('input', () => { + const arr = GetField(key, []) || []; + arr[idx] = input.value; + SetField(key, arr); + }); + const removeBtn = document.createElement('button'); + removeBtn.className = 'array-remove'; + removeBtn.textContent = '×'; + removeBtn.addEventListener('click', () => { + const arr = GetField(key, []) || []; + arr.splice(idx, 1); + SetField(key, arr); + item.remove(); + }); + item.appendChild(input); + item.appendChild(removeBtn); + return item; + } + `; +} diff --git a/packages/viper/syntaxes/vpj.tmLanguage.json b/packages/viper/syntaxes/vpj.tmLanguage.json new file mode 100644 index 0000000..584f5b8 --- /dev/null +++ b/packages/viper/syntaxes/vpj.tmLanguage.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "information_for_contributors": [ + "继承标准 JSON 语法,为 .vpj 文件提供 JSON 高亮。" + ], + "name": "Viper Project (JSON)", + "scopeName": "source.json.vpj", + "patterns": [ + { + "include": "source.json" + } + ] +} diff --git a/packages/viper/tsconfig.json b/packages/viper/tsconfig.json new file mode 100644 index 0000000..efe3d42 --- /dev/null +++ b/packages/viper/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "ES2022", + "lib": ["ES2022"], + "types": ["node"], + "outDir": "dist", + "rootDir": "src", + "sourceMap": true, + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "moduleResolution": "bundler" + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/vipeye-internal/debug.js b/packages/vipeye-internal/debug.js new file mode 100644 index 0000000..85777cd --- /dev/null +++ b/packages/vipeye-internal/debug.js @@ -0,0 +1,2 @@ +// This is an entry-point for debugging the vipeye CLI +require('./out/packages/vipeye-internal/src/pyright').main(); diff --git a/packages/pyright-internal/jest.config.js b/packages/vipeye-internal/jest.config.js similarity index 100% rename from packages/pyright-internal/jest.config.js rename to packages/vipeye-internal/jest.config.js diff --git a/packages/pyright-internal/package-lock.json b/packages/vipeye-internal/package-lock.json similarity index 100% rename from packages/pyright-internal/package-lock.json rename to packages/vipeye-internal/package-lock.json diff --git a/packages/pyright-internal/package.json b/packages/vipeye-internal/package.json similarity index 95% rename from packages/pyright-internal/package.json rename to packages/vipeye-internal/package.json index 6719f9a..db89775 100644 --- a/packages/pyright-internal/package.json +++ b/packages/vipeye-internal/package.json @@ -1,7 +1,7 @@ { - "name": "pyright-internal", - "displayName": "pyright", - "description": "Type checker for the Python language", + "name": "vipeye-internal", + "displayName": "vipeye", + "description": "Type checker for the Viper language", "version": "1.1.411", "license": "MIT", "private": true, diff --git a/packages/pyright-internal/src/analyzer/analysis.ts b/packages/vipeye-internal/src/analyzer/analysis.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/analysis.ts rename to packages/vipeye-internal/src/analyzer/analysis.ts diff --git a/packages/pyright-internal/src/analyzer/analyzerFileInfo.ts b/packages/vipeye-internal/src/analyzer/analyzerFileInfo.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/analyzerFileInfo.ts rename to packages/vipeye-internal/src/analyzer/analyzerFileInfo.ts diff --git a/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts b/packages/vipeye-internal/src/analyzer/analyzerNodeInfo.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts rename to packages/vipeye-internal/src/analyzer/analyzerNodeInfo.ts diff --git a/packages/pyright-internal/src/analyzer/backgroundAnalysisProgram.ts b/packages/vipeye-internal/src/analyzer/backgroundAnalysisProgram.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/backgroundAnalysisProgram.ts rename to packages/vipeye-internal/src/analyzer/backgroundAnalysisProgram.ts diff --git a/packages/pyright-internal/src/analyzer/binder.ts b/packages/vipeye-internal/src/analyzer/binder.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/binder.ts rename to packages/vipeye-internal/src/analyzer/binder.ts diff --git a/packages/pyright-internal/src/analyzer/cacheManager.ts b/packages/vipeye-internal/src/analyzer/cacheManager.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/cacheManager.ts rename to packages/vipeye-internal/src/analyzer/cacheManager.ts diff --git a/packages/pyright-internal/src/analyzer/cellChainIndex.ts b/packages/vipeye-internal/src/analyzer/cellChainIndex.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/cellChainIndex.ts rename to packages/vipeye-internal/src/analyzer/cellChainIndex.ts diff --git a/packages/pyright-internal/src/analyzer/checker.ts b/packages/vipeye-internal/src/analyzer/checker.ts similarity index 99% rename from packages/pyright-internal/src/analyzer/checker.ts rename to packages/vipeye-internal/src/analyzer/checker.ts index 6bd8cf9..41df8f6 100644 --- a/packages/pyright-internal/src/analyzer/checker.ts +++ b/packages/vipeye-internal/src/analyzer/checker.ts @@ -18,6 +18,7 @@ import { DiagnosticLevel } from '../common/configOptions'; import { assert, assertNever } from '../common/debug'; import { Diagnostic, DiagnosticAddendum } from '../common/diagnostic'; import { DiagnosticRule } from '../common/diagnosticRules'; +import { IsViperDialect } from '../common/dialect'; import { PythonVersion, pythonVersion3_12, pythonVersion3_5, pythonVersion3_6 } from '../common/pythonVersion'; import { TextRange } from '../common/textRange'; import { Uri } from '../common/uri/uri'; @@ -96,7 +97,7 @@ import { getBoundCallMethod, getBoundInitMethod, getBoundNewMethod } from './con import { addInheritedDataClassEntries } from './dataClasses'; import { Declaration, DeclarationType, isAliasDeclaration, isVariableDeclaration } from './declaration'; import { getNameNodeForDeclaration } from './declarationUtils'; -import { deprecatedAliases, deprecatedSpecialForms } from './deprecatedSymbols'; +import { getDeprecatedAliases, getDeprecatedSpecialForms } from './deprecatedSymbols'; import { getEnumDeclaredValueType, isEnumClassWithMembers, transformTypeForEnumMember } from './enums'; import { ImportResolver, createImportedModuleDescriptor } from './importResolver'; import { ImportResult, ImportType } from './importResult'; @@ -712,7 +713,12 @@ export class Checker extends ParseTreeWalker { // If we're at the module level within a stub file, report a diagnostic // if there is a '__getattr__' function defined when in strict mode. // This signifies an incomplete stub file that obscures type errors. - if (this._fileInfo.isStubFile && node.d.name.d.value === '__getattr__') { + // Viper has no module-level __getattr__ semantics, so skip this check. + if ( + !IsViperDialect(this._fileInfo.executionEnvironment.dialect) && + this._fileInfo.isStubFile && + node.d.name.d.value === '__getattr__' + ) { const scope = getScopeForNode(node); if (scope?.type === ScopeType.Module) { this._evaluator.addDiagnostic( @@ -1556,7 +1562,10 @@ export class Checker extends ParseTreeWalker { importInfo && importInfo.isImportFound && importInfo.importType !== ImportType.Local && - !this._fileInfo.isStubFile + !this._fileInfo.isStubFile && + // Viper 模式:`from stdint import *` 是常见用法(导入 C 类型别名), + // 不报告 wildcard import 警告 + !IsViperDialect(this._fileInfo.executionEnvironment.dialect) ) { this._evaluator.addDiagnosticForTextRange( this._fileInfo, @@ -4387,7 +4396,7 @@ export class Checker extends ParseTreeWalker { } if (this._fileInfo.diagnosticRuleSet.deprecateTypingAliases) { - const deprecatedForm = deprecatedAliases.get(node.d.value) ?? deprecatedSpecialForms.get(node.d.value); + const deprecatedForm = getDeprecatedAliases(this._fileInfo.executionEnvironment.dialect).get(node.d.value) ?? getDeprecatedSpecialForms(this._fileInfo.executionEnvironment.dialect).get(node.d.value); if (deprecatedForm) { if ( @@ -4416,6 +4425,13 @@ export class Checker extends ParseTreeWalker { } private _reportDeprecatedDiagnostic(node: ParseNode, diagnosticMessage: string, deprecatedMessage?: string) { + // Viper is an AOT static language and does not honor Python's + // deprecation metadata (PEP 562 / @deprecated). Skip all deprecation + // diagnostics in Viper mode. + if (IsViperDialect(this._fileInfo.executionEnvironment.dialect)) { + return; + } + const diag = new DiagnosticAddendum(); if (deprecatedMessage) { diag.addMessage(deprecatedMessage); @@ -4707,6 +4723,12 @@ export class Checker extends ParseTreeWalker { private _validateDunderSignatures(node: FunctionNode, functionType: FunctionType, isMethod: boolean) { const functionName = functionType.shared.name; + // Viper 是 AOT 语言,允许 __init__ 返回任意类型(如 int 状态码), + // 跳过 Python 特有的 "__init__ 必须返回 None" 诊断。 + if (IsViperDialect(this._fileInfo.executionEnvironment.dialect)) { + return; + } + // Is this an '__init__' method? Verify that it returns None. if (isMethod && functionName === '__init__') { const returnAnnotation = node.d.returnAnnotation || node.d.funcAnnotationComment?.d.returnAnnotation; diff --git a/packages/pyright-internal/src/analyzer/circularDependency.ts b/packages/vipeye-internal/src/analyzer/circularDependency.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/circularDependency.ts rename to packages/vipeye-internal/src/analyzer/circularDependency.ts diff --git a/packages/pyright-internal/src/analyzer/codeFlowEngine.ts b/packages/vipeye-internal/src/analyzer/codeFlowEngine.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/codeFlowEngine.ts rename to packages/vipeye-internal/src/analyzer/codeFlowEngine.ts diff --git a/packages/pyright-internal/src/analyzer/codeFlowTypes.ts b/packages/vipeye-internal/src/analyzer/codeFlowTypes.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/codeFlowTypes.ts rename to packages/vipeye-internal/src/analyzer/codeFlowTypes.ts diff --git a/packages/pyright-internal/src/analyzer/codeFlowUtils.ts b/packages/vipeye-internal/src/analyzer/codeFlowUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/codeFlowUtils.ts rename to packages/vipeye-internal/src/analyzer/codeFlowUtils.ts diff --git a/packages/pyright-internal/src/analyzer/commentUtils.ts b/packages/vipeye-internal/src/analyzer/commentUtils.ts similarity index 93% rename from packages/pyright-internal/src/analyzer/commentUtils.ts rename to packages/vipeye-internal/src/analyzer/commentUtils.ts index 6f1ea3c..d85e07e 100644 --- a/packages/pyright-internal/src/analyzer/commentUtils.ts +++ b/packages/vipeye-internal/src/analyzer/commentUtils.ts @@ -146,11 +146,23 @@ function _parsePyrightComment( ruleSet: DiagnosticRuleSet, diagnostics: CommentDiagnostic[] ) { - // Is this a pyright comment? + // 支持 "pyright:" 和 "viper:" 两种注释指令前缀。 + // "viper:" 是 Viper 语言的官方指令,"pyright:" 保留向后兼容。 const commentPrefix = 'pyright:'; - if (commentValue.startsWith(commentPrefix)) { - const operands = commentValue.substring(commentPrefix.length); + const viperCommentPrefix = 'viper:'; + let operands: string; + let prefixLength: number; + if (commentValue.startsWith(viperCommentPrefix)) { + operands = commentValue.substring(viperCommentPrefix.length); + prefixLength = viperCommentPrefix.length; + } else if (commentValue.startsWith(commentPrefix)) { + operands = commentValue.substring(commentPrefix.length); + prefixLength = commentPrefix.length; + } else { + return ruleSet; + } + { // Handle (actual ignore) "ignore" directives. if (operands.trim().startsWith('ignore')) { return ruleSet; @@ -182,7 +194,7 @@ function _parsePyrightComment( let rangeOffset = 0; for (const operand of operandList) { const [trimmedOperand, operandRange] = _trimTextWithRange(operand, { - start: commentRange.start + commentPrefix.length + rangeOffset, + start: commentRange.start + prefixLength + rangeOffset, length: operand.length, }); diff --git a/packages/pyright-internal/src/analyzer/constraintSolution.ts b/packages/vipeye-internal/src/analyzer/constraintSolution.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/constraintSolution.ts rename to packages/vipeye-internal/src/analyzer/constraintSolution.ts diff --git a/packages/pyright-internal/src/analyzer/constraintSolver.ts b/packages/vipeye-internal/src/analyzer/constraintSolver.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/constraintSolver.ts rename to packages/vipeye-internal/src/analyzer/constraintSolver.ts diff --git a/packages/pyright-internal/src/analyzer/constraintTracker.ts b/packages/vipeye-internal/src/analyzer/constraintTracker.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/constraintTracker.ts rename to packages/vipeye-internal/src/analyzer/constraintTracker.ts diff --git a/packages/pyright-internal/src/analyzer/constructorTransform.ts b/packages/vipeye-internal/src/analyzer/constructorTransform.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/constructorTransform.ts rename to packages/vipeye-internal/src/analyzer/constructorTransform.ts diff --git a/packages/pyright-internal/src/analyzer/constructors.ts b/packages/vipeye-internal/src/analyzer/constructors.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/constructors.ts rename to packages/vipeye-internal/src/analyzer/constructors.ts diff --git a/packages/pyright-internal/src/analyzer/dataClasses.ts b/packages/vipeye-internal/src/analyzer/dataClasses.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/dataClasses.ts rename to packages/vipeye-internal/src/analyzer/dataClasses.ts diff --git a/packages/pyright-internal/src/analyzer/declaration.ts b/packages/vipeye-internal/src/analyzer/declaration.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/declaration.ts rename to packages/vipeye-internal/src/analyzer/declaration.ts diff --git a/packages/pyright-internal/src/analyzer/declarationUtils.ts b/packages/vipeye-internal/src/analyzer/declarationUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/declarationUtils.ts rename to packages/vipeye-internal/src/analyzer/declarationUtils.ts diff --git a/packages/pyright-internal/src/analyzer/decorators.ts b/packages/vipeye-internal/src/analyzer/decorators.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/decorators.ts rename to packages/vipeye-internal/src/analyzer/decorators.ts diff --git a/packages/pyright-internal/src/analyzer/deprecatedSymbols.ts b/packages/vipeye-internal/src/analyzer/deprecatedSymbols.ts similarity index 93% rename from packages/pyright-internal/src/analyzer/deprecatedSymbols.ts rename to packages/vipeye-internal/src/analyzer/deprecatedSymbols.ts index b5c65c9..d03b61d 100644 --- a/packages/pyright-internal/src/analyzer/deprecatedSymbols.ts +++ b/packages/vipeye-internal/src/analyzer/deprecatedSymbols.ts @@ -8,6 +8,7 @@ */ import { PythonVersion, pythonVersion3_10, pythonVersion3_9 } from '../common/pythonVersion'; +import { LanguageDialect } from '../common/dialect'; export interface DeprecatedForm { // The version of Python where this symbol becomes deprecated @@ -313,3 +314,15 @@ export const deprecatedSpecialForms = new Map([ }, ], ]); + +// Viper 是 AOT 静态编译型语言,不存在 PEP 585 等动态语义弃用概念。 +// 在 Viper 方言下返回空表,以短路弃用诊断。 +const emptyDeprecatedMap = new Map(); + +export function getDeprecatedAliases(dialect?: LanguageDialect): Map { + return dialect === 'viper' ? emptyDeprecatedMap : deprecatedAliases; +} + +export function getDeprecatedSpecialForms(dialect?: LanguageDialect): Map { + return dialect === 'viper' ? emptyDeprecatedMap : deprecatedSpecialForms; +} diff --git a/packages/pyright-internal/src/analyzer/docStringConversion.ts b/packages/vipeye-internal/src/analyzer/docStringConversion.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/docStringConversion.ts rename to packages/vipeye-internal/src/analyzer/docStringConversion.ts diff --git a/packages/pyright-internal/src/analyzer/docStringUtils.ts b/packages/vipeye-internal/src/analyzer/docStringUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/docStringUtils.ts rename to packages/vipeye-internal/src/analyzer/docStringUtils.ts diff --git a/packages/pyright-internal/src/analyzer/enums.ts b/packages/vipeye-internal/src/analyzer/enums.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/enums.ts rename to packages/vipeye-internal/src/analyzer/enums.ts diff --git a/packages/pyright-internal/src/analyzer/functionTransform.ts b/packages/vipeye-internal/src/analyzer/functionTransform.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/functionTransform.ts rename to packages/vipeye-internal/src/analyzer/functionTransform.ts diff --git a/packages/pyright-internal/src/analyzer/importLogger.ts b/packages/vipeye-internal/src/analyzer/importLogger.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/importLogger.ts rename to packages/vipeye-internal/src/analyzer/importLogger.ts diff --git a/packages/pyright-internal/src/analyzer/importResolver.ts b/packages/vipeye-internal/src/analyzer/importResolver.ts similarity index 90% rename from packages/pyright-internal/src/analyzer/importResolver.ts rename to packages/vipeye-internal/src/analyzer/importResolver.ts index 80ad860..64a8877 100644 --- a/packages/pyright-internal/src/analyzer/importResolver.ts +++ b/packages/vipeye-internal/src/analyzer/importResolver.ts @@ -10,6 +10,7 @@ import { appendArray, flatten, getMapValues, getOrAdd } from '../common/collectionUtils'; import { ConfigOptions, ExecutionEnvironment, matchFileSpecs } from '../common/configOptions'; +import { IsPythonDialect, IsViperDialect } from '../common/dialect'; import { Host } from '../common/host'; import { stubsSuffix } from '../common/pathConsts'; import { getFileExtension, stripFileExtension } from '../common/pathUtils'; @@ -81,7 +82,10 @@ export function createImportedModuleDescriptor(moduleName: string): ImportedModu type CachedImportResults = Map; const supportedNativeLibExtensions = ['.pyd', '.so', '.dylib']; -export const supportedSourceFileExtensions = ['.py', '.pyi']; +// Viper 模式下同时支持 .vp/.vpi(主)和 .py/.pyi(兼容回退)。 +// .py/.pyi 支持用于 TransPyC 源码(TPC/TPV 编译器源码仍是 .py 扩展名), +// 以及用户未迁移到 .vp 的旧代码。 +export const supportedSourceFileExtensions = ['.vp', '.vpi', '.py', '.pyi']; export const supportedFileExtensions = [...supportedSourceFileExtensions, ...supportedNativeLibExtensions]; // Should we allow partial resolution for third-party packages? Some use tricks @@ -219,7 +223,7 @@ export class ImportResolver { result.nonStubImportResult.resolvedUris.length - 1 ]; - if (nonEmptyUri.hasExtension('.py') || nonEmptyUri.hasExtension('.pyi')) { + if (nonEmptyUri.hasExtension('.vp') || nonEmptyUri.hasExtension('.vpi')) { // We allow pyi in case there are multiple pyi for a compiled module such as // numpy.random.mtrand sourceFileUris.push(nonEmptyUri); @@ -234,7 +238,7 @@ export class ImportResolver { // in some other ways. if (sourceFileUris.length === 0) { // Simple case where the stub and source files are next to each other. - const sourceFileUri = stubFileUri.replaceExtension('.py'); + const sourceFileUri = stubFileUri.replaceExtension('.vp'); if (this.dirExistsCached(sourceFileUri)) { sourceFileUris.push(sourceFileUri); } @@ -272,7 +276,7 @@ export class ImportResolver { for (const relativeStubPath of relativeStubPaths) { for (const importRootUri of importRoots) { const absoluteStubPath = importRootUri.resolvePaths(relativeStubPath); - let absoluteSourcePath = absoluteStubPath.replaceExtension('.py'); + let absoluteSourcePath = absoluteStubPath.replaceExtension('.vp'); if (this.fileExistsCached(absoluteSourcePath)) { sourceFileUris.push(absoluteSourcePath); } else { @@ -353,6 +357,19 @@ export class ImportResolver { getImportRoots(execEnv: ExecutionEnvironment, forLogging = false) { const roots = []; + // Viper 模式优先搜索 vipershed-fallback/stdlib(Viper 特有模块:t/c/stdio 等), + // 再搜索 typeshed-fallback/stdlib(Python 通用模块:builtins/typing 等)。 + // typeshed root 已改为 typeshed-fallback,确保 builtins 可被隐式加载。 + if (IsViperDialect(this._configOptions.dialect)) { + const vipershed = PythonPathUtils.getVipershedFallbackPath(this.fileSystem); + if (vipershed && !vipershed.isEmpty()) { + const vipershedStdlib = PythonPathUtils.getTypeshedSubdirectory(vipershed, /* isStdLib */ true); + if (this.dirExistsCached(vipershedStdlib)) { + roots.push(vipershedStdlib); + } + } + } + const stdTypeshed = this._getStdlibTypeshedPath( this._configOptions.typeshedPath, execEnv.pythonVersion, @@ -465,7 +482,11 @@ export class ImportResolver { return excludes; } - const versions = this._getTypeshedInfoProvider().getStdLibModuleVersionInfo(customTypeshedPath); + const versions = this._getTypeshedInfoProvider().getStdLibModuleVersionInfo( + customTypeshedPath, + /* importLogger */ undefined, + this._configOptions.dialect + ); versions.forEach((versionInfo, moduleName) => { let shouldExcludeModule = false; @@ -499,7 +520,7 @@ export class ImportResolver { const moduleDirPath = typeshedStdlibPath.combinePaths(...moduleName.split('.')); excludes.push(moduleDirPath); - const moduleFilePath = moduleDirPath.replaceExtension('.pyi'); + const moduleFilePath = moduleDirPath.replaceExtension('.vpi'); excludes.push(moduleFilePath); } }); @@ -772,7 +793,7 @@ export class ImportResolver { let strippedFileName: string; let isNativeLib = false; - if (fileExt === '.py' || fileExt === '.pyi') { + if (fileExt === '.vp' || fileExt === '.vpi' || fileExt === '.py' || fileExt === '.pyi') { strippedFileName = stripFileExtension(filePath.fileName); } else if ( _isNativeModuleFileExtension(fileExt) && @@ -788,7 +809,7 @@ export class ImportResolver { if (!exclusions.find((exclusion) => exclusion.equals(filePath))) { const implicitImport: ImplicitImport = { - isStubFile: filePath.hasExtension('.pyi'), + isStubFile: filePath.hasExtension('.vpi') || filePath.hasExtension('.pyi'), isNativeLib, name: strippedFileName, uri: filePath, @@ -1304,6 +1325,9 @@ export class ImportResolver { if (moduleDescriptor.nameParts.length === 0) { const pyFilePath = dirPath.initPyUri; const pyiFilePath = dirPath.initPyiUri; + // .py/.pyi 兼容回退路径 + const compatPyFilePath = dirPath.combinePathsUnsafe('__init__.py'); + const compatPyiFilePath = dirPath.combinePathsUnsafe('__init__.pyi'); if (allowPyi && this.fileExistsCached(pyiFilePath)) { importLogger?.log(`Resolved import with file '${pyiFilePath}'`); @@ -1312,13 +1336,22 @@ export class ImportResolver { } else if (this.fileExistsCached(pyFilePath)) { importLogger?.log(`Resolved import with file '${pyFilePath}'`); resolvedPaths.push(pyFilePath); + } else if (allowPyi && this.fileExistsCached(compatPyiFilePath)) { + // __init__.pyi 兼容回退 + importLogger?.log(`Resolved import with compat file '${compatPyiFilePath}'`); + resolvedPaths.push(compatPyiFilePath); + isStubFile = true; + } else if (this.fileExistsCached(compatPyFilePath)) { + // __init__.py 兼容回退 + importLogger?.log(`Resolved import with compat file '${compatPyFilePath}'`); + resolvedPaths.push(compatPyFilePath); } else { importLogger?.log(`Partially resolved import with directory '${dirPath}'`); resolvedPaths.push(Uri.empty()); isNamespacePackage = true; } - implicitImports = this.findImplicitImports(importName, dirPath, [pyFilePath, pyiFilePath]); + implicitImports = this.findImplicitImports(importName, dirPath, [pyFilePath, pyiFilePath, compatPyFilePath, compatPyiFilePath]); } else { for (let i = 0; i < moduleDescriptor.nameParts.length; i++) { const isFirstPart = i === 0; @@ -1337,9 +1370,13 @@ export class ImportResolver { packageDirectory = dirPath; } - // See if we can find an __init__.py[i] in this directory. + // See if we can find an __init__.vp/.vpi/.py/.pyi in this directory. + // Viper 模式下同时支持 .vp/.vpi(主)和 .py/.pyi(兼容回退)。 const pyFilePath = dirPath.initPyUri; const pyiFilePath = dirPath.initPyiUri; + // .py/.pyi 兼容回退路径 + const compatPyFilePath = dirPath.combinePathsUnsafe('__init__.py'); + const compatPyiFilePath = dirPath.combinePathsUnsafe('__init__.pyi'); isInitFilePresent = false; if (allowPyi && this.fileExistsCached(pyiFilePath)) { @@ -1353,6 +1390,41 @@ export class ImportResolver { importLogger?.log(`Resolved import with file '${pyFilePath}'`); resolvedPaths.push(pyFilePath); isInitFilePresent = true; + } else if (allowPyi && this.fileExistsCached(compatPyiFilePath)) { + // __init__.pyi 兼容回退 + importLogger?.log(`Resolved import with compat file '${compatPyiFilePath}'`); + resolvedPaths.push(compatPyiFilePath); + if (isLastPart) { + isStubFile = true; + } + isInitFilePresent = true; + } else if (this.fileExistsCached(compatPyFilePath)) { + // __init__.py 兼容回退 + importLogger?.log(`Resolved import with compat file '${compatPyFilePath}'`); + resolvedPaths.push(compatPyFilePath); + isInitFilePresent = true; + } else if (IsViperDialect(execEnv.dialect)) { + // Viper 扩展:目录无 __init__ 时回退搜索 目录名/目录名.vp + // Viper 模块常以 包名/包名.vp 形式组织(如 mm/mm.vp、sched/sched.vp), + // 而非 Python 的 包名/__init__.py。此回退使 `import mm` 能正确 + // 解析到 mm/mm.vp 的内容,而非退化为命名空间包。 + const dirName = dirPath.fileName; + if (dirName) { + const sameNameVpPath = dirPath.combinePathsUnsafe(dirName).addExtension('.vp'); + const sameNameVpiPath = dirPath.combinePathsUnsafe(dirName).addExtension('.vpi'); + if (allowPyi && this.fileExistsCached(sameNameVpiPath)) { + importLogger?.log(`Resolved import with Viper same-name file '${sameNameVpiPath}'`); + resolvedPaths.push(sameNameVpiPath); + if (isLastPart) { + isStubFile = true; + } + isInitFilePresent = true; + } else if (this.fileExistsCached(sameNameVpPath)) { + importLogger?.log(`Resolved import with Viper same-name file '${sameNameVpPath}'`); + resolvedPaths.push(sameNameVpPath); + isInitFilePresent = true; + } + } } if (!pyTypedInfo && lookForPyTyped) { @@ -1375,10 +1447,15 @@ export class ImportResolver { } // We weren't able to find a directory or we found a directory with - // no __init__.py[i] file. See if we can find a ".py" or ".pyi" file - // with this name. + // no __init__.py[i] file. See if we can find a ".vp"/".vpi" or + // ".py"/".pyi" file with this name. + // Viper 模式下同时支持 .vp/.vpi(主)和 .py/.pyi(兼容回退), + // 用于 TransPyC 源码(仍是 .py 扩展名)。 const pyFilePath = dirPath.packageUri; const pyiFilePath = dirPath.packageStubUri; + // .py/.pyi 兼容回退路径 + const compatPyFilePath = dirPath.addExtension('.py'); + const compatPyiFilePath = dirPath.addExtension('.pyi'); const fileDirectory = dirPath.getDirectory(); if (allowPyi && this.fileExistsCached(pyiFilePath)) { @@ -1390,6 +1467,17 @@ export class ImportResolver { } else if (this.fileExistsCached(pyFilePath)) { importLogger?.log(`Resolved import with file '${pyFilePath}'`); resolvedPaths.push(pyFilePath); + } else if (allowPyi && this.fileExistsCached(compatPyiFilePath)) { + // .pyi 兼容回退 + importLogger?.log(`Resolved import with compat file '${compatPyiFilePath}'`); + resolvedPaths.push(compatPyiFilePath); + if (isLastPart) { + isStubFile = true; + } + } else if (this.fileExistsCached(compatPyFilePath)) { + // .py 兼容回退 + importLogger?.log(`Resolved import with compat file '${compatPyFilePath}'`); + resolvedPaths.push(compatPyFilePath); } else if ( allowNativeLib && this._findAndResolveNativeModule( @@ -1408,6 +1496,7 @@ export class ImportResolver { !allowPyi && allowNativeLib && isLastPart && + IsPythonDialect(execEnv.dialect) && this.fileExistsCached(dirPath.addExtension('.pyc')) ) { // Sourceless distribution: a compiled `.pyc` module sits where the `.py` @@ -1416,6 +1505,9 @@ export class ImportResolver { // such a `.pyc` directly, so the module exists at runtime even though it has no // Python source. // + // Viper 模式短路:Viper 无 `.pyc` 字节码缓存(AOT 编译型语言), + // 通过 `IsPythonDialect(execEnv.dialect)` 跳过此分支。 + // // This branch only runs during the non-stub resolution (`allowPyi === false`), // whose result becomes `nonStubImportResult`. Pushing the `.pyc` onto // `resolvedPaths` makes that non-stub result report `isImportFound === true`, @@ -1445,16 +1537,25 @@ export class ImportResolver { // We are not at the last part, and we found a directory, // so continue to look for the next part assuming this is // a namespace package. + // Viper 同样允许中间目录作为容器(无 __init__.vp/同名.vp), + // 例如 import drivers.serial.uart.serial 中 drivers/、 + // drivers/serial/ 等仅作路径容器,最终模块在 uart/serial.vp。 resolvedPaths.push(Uri.empty()); isNamespacePackage = true; pyTypedInfo = undefined; continue; } - importLogger?.log(`Partially resolved import with directory '${dirPath}'`); - resolvedPaths.push(Uri.empty()); - - if (isLastPart) { + if (IsViperDialect(execEnv.dialect)) { + // Viper 模式:最后一部分目录存在但未找到模块文件 + // (__init__.vp 或 同名.vp),不退化为 namespace package, + // 直接中断解析使 isImportFound=false,让 binder 在 import + // 语句处报 reportMissingImports 错误。 + // Viper 是 AOT 静态语言,最终模块必须有实际源文件。 + importLogger?.log(`Viper import failed: directory '${dirPath}' has no module file`); + } else { + importLogger?.log(`Partially resolved import with directory '${dirPath}'`); + resolvedPaths.push(Uri.empty()); implicitImports = this.findImplicitImports(importName, dirPath, [pyFilePath, pyiFilePath]); isNamespacePackage = true; } @@ -1635,6 +1736,36 @@ export class ImportResolver { // Check for a stdlib typeshed file. if (allowPyi && moduleDescriptor.nameParts.length > 0) { + // Viper 模式:优先搜索 vipershed-fallback/stdlib(Viper 特有模块:t/c/stdio 等), + // 命中后直接返回,避免被 typeshed-fallback 误匹配。 + // 这与 getImportRoots() 中 vipershed 优先于 typeshed 的顺序一致。 + if (IsViperDialect(this._configOptions.dialect)) { + const vipershed = PythonPathUtils.getVipershedFallbackPath(this.fileSystem); + if (vipershed && !vipershed.isEmpty()) { + const vipershedStdlib = PythonPathUtils.getTypeshedSubdirectory(vipershed, /* isStdLib */ true); + if (this.dirExistsCached(vipershedStdlib)) { + importLogger?.log(`Looking in vipershed-fallback stdlib '${vipershedStdlib}'`); + const vipershedImport = this.resolveAbsoluteImport( + sourceFileUri, + vipershedStdlib, + execEnv, + moduleDescriptor, + importName, + importLogger, + /* allowPartial */ undefined, + /* allowNativeLib */ false, + /* useStubPackage */ false, + allowPyi, + /* lookForPyTyped */ false + ); + if (vipershedImport?.isImportFound) { + vipershedImport.importType = ImportType.BuiltIn; + return vipershedImport; + } + } + } + } + importLogger?.log(`Looking for typeshed stdlib path`); const typeshedStdlibImport = this._findTypeshedPath( execEnv, @@ -1693,7 +1824,11 @@ export class ImportResolver { // we don't want to favor py.typed libraries. Use the typeshed lookup below. if ( execEnv.root !== - this._getTypeshedInfoProvider().getTypeshedRoot(this._configOptions.typeshedPath, importLogger) + this._getTypeshedInfoProvider().getTypeshedRoot( + this._configOptions.typeshedPath, + importLogger, + this._configOptions.dialect + ) ) { if (bestResultSoFar?.pyTypedInfo && !bestResultSoFar.isPartlyResolved) { return bestResultSoFar; @@ -1967,14 +2102,14 @@ export class ImportResolver { const moduleName = prefix ? `${prefix}.${entry.name}` : entry.name; if (!entry.name.startsWith('_')) { - const packageInit = dirRoot.combinePaths('__init__.pyi'); + const packageInit = dirRoot.combinePaths('__init__.vpi'); if (this._fileSystemCache.existsSync(packageInit)) { addDirectoryStdlibModule(moduleName); } } readDir(dirRoot, moduleName); - } else if (entry.name.includes('.py')) { + } else if (entry.name.includes('.vp') || entry.name.includes('.py')) { const stripped = stripFileExtension(entry.name); // Skip anything starting with an underscore. if (!stripped.startsWith('_')) { @@ -2054,7 +2189,8 @@ export class ImportResolver { const subdirectory = this._getTypeshedInfoProvider().getTypeshedSubdirectory( /* isStdLib */ true, customTypeshedPath, - importLogger + importLogger, + this._configOptions.dialect ); if ( subdirectory && @@ -2077,7 +2213,8 @@ export class ImportResolver { return this._getTypeshedInfoProvider().getTypeshedSubdirectory( /* isStdLib */ false, customTypeshedPath, - importLogger + importLogger, + this._configOptions.dialect ); } @@ -2088,7 +2225,11 @@ export class ImportResolver { pythonPlatform: string | undefined, importLogger?: ImportLogger ) { - const versions = this._getTypeshedInfoProvider().getStdLibModuleVersionInfo(customTypeshedPath, importLogger); + const versions = this._getTypeshedInfoProvider().getStdLibModuleVersionInfo( + customTypeshedPath, + importLogger, + this._configOptions.dialect + ); // Loop through the name parts to make sure the module and submodules // referenced in the import statement are valid for this version of Python. @@ -2133,7 +2274,8 @@ export class ImportResolver { ): readonly Uri[] | undefined { const [packagePaths] = this._getTypeshedInfoProvider().getThirdPartyPackageMap( this._configOptions.typeshedPath, - importLogger + importLogger, + this._configOptions.dialect ); const firstNamePart = moduleDescriptor.nameParts.length > 0 ? moduleDescriptor.nameParts[0] : ''; @@ -2151,7 +2293,8 @@ export class ImportResolver { private _getThirdPartyTypeshedPackageRoots(importLogger?: ImportLogger) { const [, packageRoots] = this._getTypeshedInfoProvider().getThirdPartyPackageMap( this._configOptions.typeshedPath, - importLogger + importLogger, + this._configOptions.dialect ); return packageRoots; } @@ -2445,11 +2588,16 @@ export class ImportResolver { // Retrieves the pytyped info for a directory if it exists. This is a small perf optimization // that allows skipping the search when the pytyped file doesn't exist. private _getPyTypedInfo(filePath: Uri): PyTypedInfo | undefined { + // Viper 模式短路:Viper 无 PEP 561 py.typed 标记机制,跳过探测。 + if (IsViperDialect(this._configOptions.dialect)) { + return undefined; + } + if (!this.fileExistsCached(filePath.pytypedUri)) { return undefined; } - return getPyTypedInfoForPyTypedFile(this.fileSystem, filePath.pytypedUri); + return getPyTypedInfoForPyTypedFile(this.fileSystem, filePath.pytypedUri, this._configOptions.dialect); } private _findAndResolveNativeModule( @@ -2461,6 +2609,12 @@ export class ImportResolver { importLogger: ImportLogger | undefined, resolvedPaths: Uri[] ): boolean { + // Viper 模式短路:Viper 是 AOT 编译型语言,无 CPython 原生扩展 + // (.pyd/.so/.dylib)加载机制,跳过原生库解析。 + if (IsViperDialect(execEnv.dialect)) { + return false; + } + let isNativeLib = false; if (!execEnv.skipNativeLibraries && this.dirExistsCached(fileDirectory)) { diff --git a/packages/pyright-internal/src/analyzer/importResolverFileSystem.ts b/packages/vipeye-internal/src/analyzer/importResolverFileSystem.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/importResolverFileSystem.ts rename to packages/vipeye-internal/src/analyzer/importResolverFileSystem.ts diff --git a/packages/pyright-internal/src/analyzer/importResolverTypes.ts b/packages/vipeye-internal/src/analyzer/importResolverTypes.ts similarity index 82% rename from packages/pyright-internal/src/analyzer/importResolverTypes.ts rename to packages/vipeye-internal/src/analyzer/importResolverTypes.ts index c46f792..8f88b26 100644 --- a/packages/pyright-internal/src/analyzer/importResolverTypes.ts +++ b/packages/vipeye-internal/src/analyzer/importResolverTypes.ts @@ -4,6 +4,7 @@ * Licensed under the MIT license. */ +import type { LanguageDialect } from '../common/dialect'; import type { FileSystem } from '../common/fileSystem'; import type { PythonVersion } from '../common/pythonVersion'; import type { Uri } from '../common/uri/uri'; @@ -24,22 +25,29 @@ export type TypeshedThirdPartyPackageMapResult = readonly [ReadonlyMap; } diff --git a/packages/pyright-internal/src/analyzer/importResult.ts b/packages/vipeye-internal/src/analyzer/importResult.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/importResult.ts rename to packages/vipeye-internal/src/analyzer/importResult.ts diff --git a/packages/pyright-internal/src/analyzer/importStatementUtils.ts b/packages/vipeye-internal/src/analyzer/importStatementUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/importStatementUtils.ts rename to packages/vipeye-internal/src/analyzer/importStatementUtils.ts diff --git a/packages/pyright-internal/src/analyzer/namedTuples.ts b/packages/vipeye-internal/src/analyzer/namedTuples.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/namedTuples.ts rename to packages/vipeye-internal/src/analyzer/namedTuples.ts diff --git a/packages/pyright-internal/src/analyzer/operations.ts b/packages/vipeye-internal/src/analyzer/operations.ts similarity index 95% rename from packages/pyright-internal/src/analyzer/operations.ts rename to packages/vipeye-internal/src/analyzer/operations.ts index d4ed00b..f36aeb9 100644 --- a/packages/pyright-internal/src/analyzer/operations.ts +++ b/packages/vipeye-internal/src/analyzer/operations.ts @@ -11,6 +11,7 @@ import { DiagnosticAddendum } from '../common/diagnostic'; import { DiagnosticRule } from '../common/diagnosticRules'; import { PythonVersion, pythonVersion3_10 } from '../common/pythonVersion'; +import { IsViperDialect } from '../common/dialect'; import { LocMessage } from '../localization/localize'; import { AugmentedAssignmentNode, @@ -57,6 +58,8 @@ import { isAnyOrUnknown, isClass, isClassInstance, + isCPtrType, + isCVoidType, isFunctionOrOverloaded, isInstantiableClass, isNever, @@ -865,8 +868,17 @@ function createUnionType( let newUnion = combineTypes([adjustedLeftType, adjustedRightType], { skipElideRedundantLiterals: true }); + // Viper 扩展:若 combineTypes 已将 Struct | CPtr 折叠为 CPtr[Struct], + // 则结果不再是真正的联合类型,不应附加 UnionType specialForm。 + // 否则后续调用 `(memory_block | t.CPtr)(addr)` 会被 specialForm 检查 + // 误报为 "Object of type \"UnionType\" is not callable"。 const unionClass = evaluator.getUnionClassType(); - if (unionClass && isInstantiableClass(unionClass) && (flags & EvalFlags.IsinstanceArg) === 0) { + if ( + unionClass && + isInstantiableClass(unionClass) && + (flags & EvalFlags.IsinstanceArg) === 0 && + isUnion(newUnion) + ) { newUnion = TypeBase.cloneAsSpecialForm(newUnion, ClassType.cloneAsInstance(unionClass)); } @@ -878,7 +890,9 @@ function createUnionType( // Check for "stringified" forward reference type expressions. The "|" operator // doesn't support these except in certain circumstances. Notably, it can't be used // with other strings or with types that are not specialized using an index form. - if (!fileInfo.isStubFile) { + // Viper 扩展:跳过此检查。Viper 中 `'ClassName' | t.CPtr` 是合法的 TypeSet 语法, + // 表示"指向 ClassName 的指针"(前向引用字符串 + CPtr 组合)。 + if (!fileInfo.isStubFile && !IsViperDialect(fileInfo.executionEnvironment.dialect)) { let stringNode: ExpressionNode | undefined; let otherNode: ExpressionNode | undefined; let otherType: Type | undefined; @@ -1254,6 +1268,37 @@ function validateArithmeticOperation( let deprecatedInfo: MagicMethodDeprecationInfo | undefined; const isIncomplete = !!leftTypeResult.isIncomplete || !!rightTypeResult.isIncomplete; + // Viper 扩展:指针/整数类型的比较运算。 + // C 语言中指针支持所有比较运算(<, >, <=, >=, ==, !=),Viper 的 CPtr + // 类型也应如此。当左右操作数中至少有一个是 CPtr(或 CVoid,void* 通用指针), + // 且另一个是指针或整数类型时,直接返回 bool,不报 operatorNotSupported。 + const fileInfo = getFileInfo(errorNode); + const isViperDialect = IsViperDialect(fileInfo.executionEnvironment.dialect); + const isComparisonOperator = + operator === OperatorType.Equals || + operator === OperatorType.NotEquals || + operator === OperatorType.LessThan || + operator === OperatorType.LessThanOrEqual || + operator === OperatorType.GreaterThan || + operator === OperatorType.GreaterThanOrEqual; + + if (isViperDialect && isComparisonOperator) { + const leftIsPtrLike = isClassInstance(leftTypeResult.type) && + (isCPtrType(leftTypeResult.type) || isCVoidType(leftTypeResult.type)); + const rightIsPtrLike = isClassInstance(rightTypeResult.type) && + (isCPtrType(rightTypeResult.type) || isCVoidType(rightTypeResult.type)); + const leftIsIntLike = isClassInstance(leftTypeResult.type) && + ClassType.isBuiltIn(leftTypeResult.type, 'int'); + const rightIsIntLike = isClassInstance(rightTypeResult.type) && + ClassType.isBuiltIn(rightTypeResult.type, 'int'); + + // 任一方是指针,另一方是指针或整数 → 合法的指针比较 + if ((leftIsPtrLike && (rightIsPtrLike || rightIsIntLike)) || + (rightIsPtrLike && (leftIsPtrLike || leftIsIntLike))) { + return { type: evaluator.getBuiltInObject(errorNode, 'bool') }; + } + } + const type = evaluator.mapSubtypesExpandTypeVars( leftTypeResult.type, /* options */ undefined, diff --git a/packages/pyright-internal/src/analyzer/packageTypeReport.ts b/packages/vipeye-internal/src/analyzer/packageTypeReport.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/packageTypeReport.ts rename to packages/vipeye-internal/src/analyzer/packageTypeReport.ts diff --git a/packages/pyright-internal/src/analyzer/packageTypeVerifier.ts b/packages/vipeye-internal/src/analyzer/packageTypeVerifier.ts similarity index 99% rename from packages/pyright-internal/src/analyzer/packageTypeVerifier.ts rename to packages/vipeye-internal/src/analyzer/packageTypeVerifier.ts index 9c14637..9d2ebe2 100644 --- a/packages/pyright-internal/src/analyzer/packageTypeVerifier.ts +++ b/packages/vipeye-internal/src/analyzer/packageTypeVerifier.ts @@ -462,7 +462,7 @@ export class PackageTypeVerifier { if (isFile) { const fileExtension = getFileExtension(entry.name); - if (fileExtension === '.py' || fileExtension === '.pyi') { + if (fileExtension === '.vp' || fileExtension === '.vpi') { const nameWithoutExtension = stripFileExtension(entry.name); if (nameWithoutExtension === '__init__') { diff --git a/packages/pyright-internal/src/analyzer/parameterUtils.ts b/packages/vipeye-internal/src/analyzer/parameterUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/parameterUtils.ts rename to packages/vipeye-internal/src/analyzer/parameterUtils.ts diff --git a/packages/pyright-internal/src/analyzer/parentDirectoryCache.ts b/packages/vipeye-internal/src/analyzer/parentDirectoryCache.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/parentDirectoryCache.ts rename to packages/vipeye-internal/src/analyzer/parentDirectoryCache.ts diff --git a/packages/pyright-internal/src/analyzer/parseTreeCleaner.ts b/packages/vipeye-internal/src/analyzer/parseTreeCleaner.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/parseTreeCleaner.ts rename to packages/vipeye-internal/src/analyzer/parseTreeCleaner.ts diff --git a/packages/pyright-internal/src/analyzer/parseTreeUtils.ts b/packages/vipeye-internal/src/analyzer/parseTreeUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/parseTreeUtils.ts rename to packages/vipeye-internal/src/analyzer/parseTreeUtils.ts diff --git a/packages/pyright-internal/src/analyzer/parseTreeWalker.ts b/packages/vipeye-internal/src/analyzer/parseTreeWalker.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/parseTreeWalker.ts rename to packages/vipeye-internal/src/analyzer/parseTreeWalker.ts diff --git a/packages/pyright-internal/src/analyzer/patternMatching.ts b/packages/vipeye-internal/src/analyzer/patternMatching.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/patternMatching.ts rename to packages/vipeye-internal/src/analyzer/patternMatching.ts diff --git a/packages/pyright-internal/src/analyzer/program.ts b/packages/vipeye-internal/src/analyzer/program.ts similarity index 99% rename from packages/pyright-internal/src/analyzer/program.ts rename to packages/vipeye-internal/src/analyzer/program.ts index a394463..80c8481 100644 --- a/packages/pyright-internal/src/analyzer/program.ts +++ b/packages/vipeye-internal/src/analyzer/program.ts @@ -247,7 +247,7 @@ export class Program { const newContents = fileInfo.restore(); if (newContents) { // Create a text document so we can compute the edits. - const textDocument = TextDocument.create(fileInfo.uri.toString(), 'python', 1, fileInfo.contents || ''); + const textDocument = TextDocument.create(fileInfo.uri.toString(), 'viper', 1, fileInfo.contents || ''); // Add an edit action to the list. edits.push({ @@ -538,7 +538,7 @@ export class Program { // Handle builtins and __builtins__ specially. They are implicitly // included by all source files. - if (fileName === 'builtins.pyi' || fileName === '__builtins__.pyi') { + if (fileName === 'builtins.vpi' || fileName === '__builtins__.vpi') { this.markAllFilesDirty(evenIfContentsAreSame); return; } diff --git a/packages/pyright-internal/src/analyzer/programTypes.ts b/packages/vipeye-internal/src/analyzer/programTypes.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/programTypes.ts rename to packages/vipeye-internal/src/analyzer/programTypes.ts diff --git a/packages/pyright-internal/src/analyzer/properties.ts b/packages/vipeye-internal/src/analyzer/properties.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/properties.ts rename to packages/vipeye-internal/src/analyzer/properties.ts diff --git a/packages/pyright-internal/src/analyzer/protocols.ts b/packages/vipeye-internal/src/analyzer/protocols.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/protocols.ts rename to packages/vipeye-internal/src/analyzer/protocols.ts diff --git a/packages/pyright-internal/src/analyzer/pyTypedUtils.ts b/packages/vipeye-internal/src/analyzer/pyTypedUtils.ts similarity index 73% rename from packages/pyright-internal/src/analyzer/pyTypedUtils.ts rename to packages/vipeye-internal/src/analyzer/pyTypedUtils.ts index 569e8fd..cfbcfc0 100644 --- a/packages/pyright-internal/src/analyzer/pyTypedUtils.ts +++ b/packages/vipeye-internal/src/analyzer/pyTypedUtils.ts @@ -8,6 +8,7 @@ */ import { FileSystem } from '../common/fileSystem'; +import { IsViperDialect, LanguageDialect } from '../common/dialect'; import { Uri } from '../common/uri/uri'; import { isDirectory, isFile } from '../common/uri/uriUtils'; @@ -19,7 +20,16 @@ export interface PyTypedInfo { // // Retrieves information about a py.typed file, if it exists, under the given path. // -export function getPyTypedInfo(fileSystem: FileSystem, dirPath: Uri): PyTypedInfo | undefined { +export function getPyTypedInfo( + fileSystem: FileSystem, + dirPath: Uri, + dialect?: LanguageDialect +): PyTypedInfo | undefined { + // Viper 模式短路:Viper 无 PEP 561 py.typed 标记机制,跳过探测。 + if (IsViperDialect(dialect)) { + return undefined; + } + if (!fileSystem.existsSync(dirPath) || !isDirectory(fileSystem, dirPath)) { return undefined; } @@ -29,13 +39,22 @@ export function getPyTypedInfo(fileSystem: FileSystem, dirPath: Uri): PyTypedInf return undefined; } - return getPyTypedInfoForPyTypedFile(fileSystem, pyTypedPath); + return getPyTypedInfoForPyTypedFile(fileSystem, pyTypedPath, dialect); } // // Retrieves information about a py.typed file. The pyTypedPath provided must be a valid path. // -export function getPyTypedInfoForPyTypedFile(fileSystem: FileSystem, pyTypedPath: Uri) { +export function getPyTypedInfoForPyTypedFile( + fileSystem: FileSystem, + pyTypedPath: Uri, + dialect?: LanguageDialect +) { + // Viper 模式短路:Viper 无 PEP 561 py.typed 标记机制,跳过解析。 + if (IsViperDialect(dialect)) { + return undefined; + } + // This function intentionally doesn't check whether the given py.typed path exists or not, // as filesystem access is expensive if done repeatedly. // The caller should verify the file's validity before calling this method and use a cache if possible diff --git a/packages/pyright-internal/src/analyzer/pythonPathUtils.ts b/packages/vipeye-internal/src/analyzer/pythonPathUtils.ts similarity index 86% rename from packages/pyright-internal/src/analyzer/pythonPathUtils.ts rename to packages/vipeye-internal/src/analyzer/pythonPathUtils.ts index b9cddbc..673b3cf 100644 --- a/packages/pyright-internal/src/analyzer/pythonPathUtils.ts +++ b/packages/vipeye-internal/src/analyzer/pythonPathUtils.ts @@ -9,6 +9,7 @@ import { ConfigOptions } from '../common/configOptions'; import { compareComparableValues } from '../common/core'; +import { IsViperDialect } from '../common/dialect'; import { FileSystem } from '../common/fileSystem'; import { Host } from '../common/host'; import * as pathConsts from '../common/pathConsts'; @@ -46,6 +47,29 @@ export function getTypeShedFallbackPath(fs: Pick) { + const moduleDirectory = fs.getModulePath(); + if (!moduleDirectory || moduleDirectory.isEmpty()) { + return undefined; + } + + const vipershedPath = moduleDirectory.combinePaths(pathConsts.vipershedFallback); + if (fs.existsSync(vipershedPath)) { + return fs.realCasePath(vipershedPath); + } + + // 调试版本布局:代码深入一层,需要在上一级目录查找。 + const debugVipershedPath = moduleDirectory.getDirectory().combinePaths(pathConsts.vipershedFallback); + if (fs.existsSync(debugVipershedPath)) { + return fs.realCasePath(debugVipershedPath); + } + + return undefined; +} + export function getTypeshedSubdirectory(typeshedPath: Uri, isStdLib: boolean) { return typeshedPath.combinePaths(isStdLib ? stdLibFolderName : thirdPartyFolderName); } @@ -60,6 +84,17 @@ export function findPythonSearchPaths( ): Uri[] { importLogger?.log('Finding python search paths'); + // Viper 模式短路:Viper 是 AOT 编译型语言,无 venv、无 site-packages、 + // 无 .pth 文件、无 Python 解释器搜索路径。仅返回显式配置的 extraPaths, + // 避免对 Python 运行时路径做无意义探测。 + if (IsViperDialect(configOptions.dialect)) { + const paths: Uri[] = []; + if (configOptions.defaultExtraPaths) { + paths.push(...configOptions.defaultExtraPaths); + } + return paths; + } + if (configOptions.venvPath !== undefined && configOptions.venv) { const venvDir = configOptions.venv; const venvPath = configOptions.venvPath.combinePaths(venvDir); diff --git a/packages/pyright-internal/src/analyzer/scope.ts b/packages/vipeye-internal/src/analyzer/scope.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/scope.ts rename to packages/vipeye-internal/src/analyzer/scope.ts diff --git a/packages/pyright-internal/src/analyzer/scopeUtils.ts b/packages/vipeye-internal/src/analyzer/scopeUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/scopeUtils.ts rename to packages/vipeye-internal/src/analyzer/scopeUtils.ts diff --git a/packages/pyright-internal/src/analyzer/sentinel.ts b/packages/vipeye-internal/src/analyzer/sentinel.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/sentinel.ts rename to packages/vipeye-internal/src/analyzer/sentinel.ts diff --git a/packages/pyright-internal/src/analyzer/service.ts b/packages/vipeye-internal/src/analyzer/service.ts similarity index 91% rename from packages/pyright-internal/src/analyzer/service.ts rename to packages/vipeye-internal/src/analyzer/service.ts index f10823b..2d11699 100644 --- a/packages/pyright-internal/src/analyzer/service.ts +++ b/packages/vipeye-internal/src/analyzer/service.ts @@ -22,12 +22,20 @@ import { ConfigOptions, matchFileSpecs } from '../common/configOptions'; import { ConsoleInterface, LogLevel, StandardConsole, log } from '../common/console'; import { isPromise, isString } from '../common/core'; import { Diagnostic } from '../common/diagnostic'; +import { LanguageDialect } from '../common/dialect'; import { FileEditAction } from '../common/editAction'; import { EditableProgram, ProgramView } from '../common/extensibility'; import { FileSystem } from '../common/fileSystem'; import { FileWatcher, FileWatcherEventType, ignoredWatchEventFunction } from '../common/fileWatcher'; import { Host, HostFactory, NoAccessHost } from '../common/host'; -import { configFileName, defaultStubsDirectory, pyprojectTomlName } from '../common/pathConsts'; +import { + configFileName, + defaultStubsDirectory, + pyprojectTomlName, + viperConfigFileName, + viperProjectFileExt, + viperProjectFileName, +} from '../common/pathConsts'; import { getFileName, isRootedDiskPath, normalizeSlashes } from '../common/pathUtils'; import { PythonVersion } from '../common/pythonVersion'; import { ServiceKeys } from '../common/serviceKeys'; @@ -135,6 +143,9 @@ export class AnalyzerService { private _libraryReanalysisTimer: any; private _primaryConfigFileUri: Uri | undefined; private _extendedConfigFileUris: Uri[] = []; + // 当 pyproject.toml 中存在 [tool.viper] section 时设为 'viper',用于回写 ConfigOptions.dialect。 + // 由 _parsePyprojectTomlFile 写入,由 _getConfigOptions 读取后清空。 + private _pyprojectDialect: LanguageDialect | undefined; private _configFileWatcher: FileWatcher | undefined; private _libraryFileWatcher: FileWatcher | undefined; private _librarySearchUrisToWatch: Uri[] | undefined; @@ -867,15 +878,56 @@ export class AnalyzerService { // Then we apply the config file settings. This can update the // the typeCheckingMode. - for (const config of configs) { - configOptions.initializeFromJson( - config.configFileJsonObj, - config.configFileDirUri, - this.serviceProvider, - host + const primaryConfigFileName = this._primaryConfigFileUri + ? this._primaryConfigFileUri.fileName + : undefined; + // 识别 Viper 项目配置:project.json 或任意 *.vpj 文件 + const isViperProjectConfig = + primaryConfigFileName === viperProjectFileName || + (primaryConfigFileName !== undefined && primaryConfigFileName.endsWith(viperProjectFileExt)); + + if (isViperProjectConfig && configs.length > 0) { + // project.json 使用 TransPyC schema(source_dir / includes / compiler / linker), + // 不能走常规 initializeFromJson(会误报未知字段、无法识别 source_dir/includes)。 + // project.json 不支持 extends,configs 仅含其自身一项。 + const primaryConfig = configs[0]; + this._initializeFromViperProjectJson( + primaryConfig.configFileJsonObj, + primaryConfig.configFileDirUri, + configOptions ); + } else { + for (const config of configs) { + configOptions.initializeFromJson( + config.configFileJsonObj, + config.configFileDirUri, + this.serviceProvider, + host + ); + } } + // L10: 根据配置文件名 / pyproject section 强制 dialect。 + // - viperconfig.json 命中 → 强制 'viper'(覆盖 initializeFromJson 中可能读到的 dialect 字段) + // - project.json(TransPyC)命中 → 同样强制 'viper' + // - *.vpj(Viper Project)命中 → 同样强制 'viper' + // - pyproject.toml 含 [tool.viper] → 同样强制 'viper' + // 后两类信号已由 _getExtendedConfigurations / _parsePyprojectTomlFile 写入 _pyprojectDialect。 + if (primaryConfigFileName === viperConfigFileName) { + configOptions.dialect = 'viper'; + } else if (primaryConfigFileName === viperProjectFileName) { + configOptions.dialect = 'viper'; + } else if ( + primaryConfigFileName !== undefined && + primaryConfigFileName.endsWith(viperProjectFileExt) + ) { + configOptions.dialect = 'viper'; + } else if (this._pyprojectDialect === 'viper') { + configOptions.dialect = 'viper'; + } + // 用完即清空,避免跨调用残留。 + this._pyprojectDialect = undefined; + // Set the configFileSource since we have a config file (set by `_getExtendedConfigurations`) configOptions.configFileSource = this._primaryConfigFileUri; @@ -1251,6 +1303,9 @@ export class AnalyzerService { const configJsonObjs: ConfigFileContents[] = []; + // 重置 pyproject 方言标记;后续 _parsePyprojectTomlFile 命中 [tool.viper] 时会写入。 + this._pyprojectDialect = undefined; + while (true) { this._extendedConfigFileUris.push(curConfigFileUri); @@ -1310,6 +1365,76 @@ export class AnalyzerService { return configJsonObjs; } + // 解析 TransPyC project.json(Viper 项目配置)。 + // project.json 的 schema 与 viperconfig.json/pyrightconfig.json 不同: + // - source_dir:Viper 源码目录(main.py 所在),作为 import 搜索根 + // - includes: 额外的 Viper 模块搜索路径(可相对,如 ../../includes) + // compiler / linker / target / options 等编译器配置 LSP 不需要,忽略。 + // 命中 project.json 即强制 dialect='viper',并将 source_dir + includes 写入 + // defaultExtraPaths(import 解析根)。findConfigFile 已做 schema 校验,此处防御性二次确认。 + private _initializeFromViperProjectJson( + configObj: any, + configDirUri: Uri, + configOptions: ConfigOptions + ): void { + if (!configObj || typeof configObj !== 'object') { + return; + } + + // schema 校验:必须含 source_dir / compiler / linker 之一才视为 Viper 项目。 + if (!('source_dir' in configObj) && !('compiler' in configObj) && !('linker' in configObj)) { + this._console.warn( + `Viper project config at ${configDirUri.toUserVisibleString()} is not a valid Viper project ` + + `(missing source_dir/compiler/linker); skipping Viper initialization.` + ); + return; + } + + configOptions.dialect = 'viper'; + configOptions.initializedFromJson = true; + + const extraPaths: Uri[] = []; + + // source_dir:Viper 源码目录,作为 import 搜索根。 + const sourceDir = configObj.source_dir; + if (typeof sourceDir === 'string' && sourceDir.length > 0) { + const resolved = this.fs.realCasePath(configDirUri.resolvePaths(sourceDir)); + if (this.fs.existsSync(resolved) && isDirectory(this.fs, resolved)) { + extraPaths.push(resolved); + } else { + this._console.warn( + `Viper project source_dir "${sourceDir}" does not resolve to a directory at ` + + `${resolved.toUserVisibleString()}.` + ); + } + } + + // includes:额外的 Viper 模块搜索路径(可相对)。 + const includes = configObj.includes; + if (Array.isArray(includes)) { + includes.forEach((inc, index) => { + if (typeof inc !== 'string' || inc.length === 0) { + this._console.warn(`Viper project includes[${index}] must be a non-empty string.`); + return; + } + const resolved = this.fs.realCasePath(configDirUri.resolvePaths(inc)); + if (this.fs.existsSync(resolved) && isDirectory(this.fs, resolved)) { + extraPaths.push(resolved); + } else { + this._console.warn( + `Viper project includes[${index}] "${inc}" does not resolve to a directory at ` + + `${resolved.toUserVisibleString()}.` + ); + } + }); + } + + // 写入 defaultExtraPaths;_ensureDefaultOptions 检测到已设置时不会覆盖。 + if (extraPaths.length > 0) { + configOptions.defaultExtraPaths = extraPaths; + } + } + private _parseJsonConfigFile(configPath: Uri): object | undefined { return this._attemptParseFile(configPath, (fileContents) => { const errors: JSONC.ParseError[] = []; @@ -1327,7 +1452,17 @@ export class AnalyzerService { try { const configObj = parse(fileContents); if (configObj && 'tool' in configObj) { - return (configObj.tool as Record).pyright as object; + const toolSection = configObj.tool as Record; + // Viper 优先:[tool.viper] 命中时强制 dialect = 'viper'。 + // 否则回退到 [tool.pyright],保持原有 Python 行为(dialect = 'python' 默认)。 + if (toolSection.viper !== undefined) { + this._pyprojectDialect = 'viper'; + return toolSection.viper as object; + } + if (toolSection.pyright !== undefined) { + this._pyprojectDialect = 'python'; + return toolSection.pyright as object; + } } } catch (e: any) { this._console.error(`Pyproject file parse attempt ${attemptCount} error: ${JSON.stringify(e)}`); @@ -1335,7 +1470,7 @@ export class AnalyzerService { } this._console.info( - `Pyproject file "${pyprojectPath.toUserVisibleString()}" has no "[tool.pyright]" section.` + `Pyproject file "${pyprojectPath.toUserVisibleString()}" has no "[tool.pyright]" or "[tool.viper]" section.` ); return undefined; }); @@ -1894,7 +2029,15 @@ export class AnalyzerService { if (event === 'add' || event === 'change') { const fileName = getFileName(path); - if (fileName === configFileName || fileName === pyprojectTomlName) { + // L10: 同时监听 viperconfig.json / project.json / *.vpj / pyrightconfig.json, + // 任一文件新增/变更都触发配置重载,从而在用户切换配置文件后自动应用对应 dialect。 + if ( + fileName === configFileName || + fileName === viperConfigFileName || + fileName === viperProjectFileName || + fileName === pyprojectTomlName || + fileName.endsWith(viperProjectFileExt) + ) { if (this._verboseOutput) { this._console.info(`Received fs event '${event}' for config file`); } diff --git a/packages/vipeye-internal/src/analyzer/serviceUtils.ts b/packages/vipeye-internal/src/analyzer/serviceUtils.ts new file mode 100644 index 0000000..806c2c3 --- /dev/null +++ b/packages/vipeye-internal/src/analyzer/serviceUtils.ts @@ -0,0 +1,91 @@ +import { ReadOnlyFileSystem } from '../common/fileSystem'; +import { configFileName, pyprojectTomlName, viperConfigFileName, viperProjectFileExt, viperProjectFileName } from '../common/pathConsts'; +import { Uri } from '../common/uri/uri'; +import { forEachAncestorDirectory } from '../common/uri/uriUtils'; + +export function findPyprojectTomlFileHereOrUp(fs: ReadOnlyFileSystem, searchPath: Uri): Uri | undefined { + return forEachAncestorDirectory(searchPath, (ancestor) => findPyprojectTomlFile(fs, ancestor)); +} + +export function findPyprojectTomlFile(fs: ReadOnlyFileSystem, searchPath: Uri) { + const fileName = searchPath.resolvePaths(pyprojectTomlName); + if (fs.existsSync(fileName)) { + return fs.realCasePath(fileName); + } + return undefined; +} + +export function findConfigFileHereOrUp(fs: ReadOnlyFileSystem, searchPath: Uri): Uri | undefined { + return forEachAncestorDirectory(searchPath, (ancestor) => findConfigFile(fs, ancestor)); +} + +export function findConfigFile(fs: ReadOnlyFileSystem, searchPath: Uri): Uri | undefined { + // Viper 模式优先:先查找 viperconfig.json,未找到时回退到 pyrightconfig.json。 + // 调用方(service.ts)依据返回文件名决定是否将 dialect 设为 'viper'。 + const viperFileName = searchPath.resolvePaths(viperConfigFileName); + if (fs.existsSync(viperFileName)) { + return fs.realCasePath(viperFileName); + } + + // .vpj 文件(Viper Project):遍历目录查找任意 *.vpj 文件。 + // .vpj 是 Viper 特有扩展名,误判概率低,但仍用 isViperProjectConfig 校验 schema。 + // 优先于 project.json:当目录中同时存在 project.vpj 和 project.json 时,优先使用 .vpj。 + const vpjFile = findVpjFileInDir(fs, searchPath); + if (vpjFile) { + return fs.realCasePath(vpjFile); + } + + // TransPyC project.json:仅当 schema 匹配(含 source_dir / compiler / linker 之一)时才返回, + // 否则跳过到 pyrightconfig.json,避免误判其他工具的 project.json。 + const projectFileName = searchPath.resolvePaths(viperProjectFileName); + if (fs.existsSync(projectFileName) && isViperProjectConfig(fs, projectFileName)) { + return fs.realCasePath(projectFileName); + } + + const pyrightFileName = searchPath.resolvePaths(configFileName); + if (fs.existsSync(pyrightFileName)) { + return fs.realCasePath(pyrightFileName); + } + + return undefined; +} + +// 在目录中查找任意 .vpj 文件(Viper Project 配置)。 +// 遍历目录条目,返回第一个匹配 .vpj 扩展名且 schema 校验通过的文件。 +// 失败时返回 undefined。 +export function findVpjFileInDir(fs: ReadOnlyFileSystem, dirUri: Uri): Uri | undefined { + try { + if (!fs.existsSync(dirUri)) { + return undefined; + } + const entries = fs.readdirEntriesSync(dirUri); + for (const entry of entries) { + const name = entry.name; + if (name.endsWith(viperProjectFileExt) && entry.isFile()) { + const fileUri = dirUri.resolvePaths(name); + if (isViperProjectConfig(fs, fileUri)) { + return fileUri; + } + } + } + } catch { + // 读取目录失败:跳过 + } + return undefined; +} + +// 校验 project.json / project.vpj 是否为 Viper(TransPyC)项目配置。 +// project.json 是常见文件名,仅当含 source_dir / compiler / linker 之一时才视为 Viper 配置。 +// 读取或解析失败时按非 Viper 项目处理,返回 false。 +export function isViperProjectConfig(fs: ReadOnlyFileSystem, uri: Uri): boolean { + try { + const content = fs.readFileSync(uri, 'utf8'); + const obj = JSON.parse(content); + if (obj && typeof obj === 'object') { + return 'source_dir' in obj || 'compiler' in obj || 'linker' in obj; + } + } catch (e) { + // 解析失败或读取失败:按非 Viper 项目处理。 + } + return false; +} diff --git a/packages/pyright-internal/src/analyzer/sourceEnumerator.ts b/packages/vipeye-internal/src/analyzer/sourceEnumerator.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/sourceEnumerator.ts rename to packages/vipeye-internal/src/analyzer/sourceEnumerator.ts diff --git a/packages/pyright-internal/src/analyzer/sourceFile.ts b/packages/vipeye-internal/src/analyzer/sourceFile.ts similarity index 98% rename from packages/pyright-internal/src/analyzer/sourceFile.ts rename to packages/vipeye-internal/src/analyzer/sourceFile.ts index 01f08a7..1743560 100644 --- a/packages/pyright-internal/src/analyzer/sourceFile.ts +++ b/packages/vipeye-internal/src/analyzer/sourceFile.ts @@ -284,33 +284,33 @@ export class SourceFile { this._uri = uri; this._fileId = this._makeFileId(uri); this._moduleNameGetter = moduleNameGetter; - this._isStubFile = uri.hasExtension('.pyi'); + this._isStubFile = uri.hasExtension('.vpi'); this._isThirdPartyImport = isThirdPartyImport; this._isThirdPartyPyTypedPresent = isThirdPartyPyTypedPresent; const fileName = uri.fileName; this._isTypingStubFile = - this._isStubFile && (this._uri.pathEndsWith('stdlib/typing.pyi') || fileName === 'typing_extensions.pyi'); - this._isTypingExtensionsStubFile = this._isStubFile && fileName === 'typing_extensions.pyi'; + this._isStubFile && (this._uri.pathEndsWith('stdlib/typing.vpi') || fileName === 'typing_extensions.vpi'); + this._isTypingExtensionsStubFile = this._isStubFile && fileName === 'typing_extensions.vpi'; this._isTypeshedStubFile = this._isStubFile && - (this._uri.pathEndsWith('stdlib/_typeshed/__init__.pyi') || - this._uri.pathEndsWith('stdlib/_typeshed/_type_checker_internals.pyi')); + (this._uri.pathEndsWith('stdlib/_typeshed/__init__.vpi') || + this._uri.pathEndsWith('stdlib/_typeshed/_type_checker_internals.vpi')); this._isBuiltInStubFile = false; if (this._isStubFile) { if ( - this._uri.pathEndsWith('stdlib/collections/__init__.pyi') || - this._uri.pathEndsWith('stdlib/asyncio/futures.pyi') || - this._uri.pathEndsWith('stdlib/asyncio/tasks.pyi') || - this._uri.pathEndsWith('stdlib/builtins.pyi') || - this._uri.pathEndsWith('stdlib/_importlib_modulespec.pyi') || - this._uri.pathEndsWith('stdlib/dataclasses.pyi') || - this._uri.pathEndsWith('stdlib/abc.pyi') || - this._uri.pathEndsWith('stdlib/enum.pyi') || - this._uri.pathEndsWith('stdlib/queue.pyi') || - this._uri.pathEndsWith('stdlib/string/templatelib.pyi') || - this._uri.pathEndsWith('stdlib/types.pyi') || - this._uri.pathEndsWith('stdlib/warnings.pyi') + this._uri.pathEndsWith('stdlib/collections/__init__.vpi') || + this._uri.pathEndsWith('stdlib/asyncio/futures.vpi') || + this._uri.pathEndsWith('stdlib/asyncio/tasks.vpi') || + this._uri.pathEndsWith('stdlib/builtins.vpi') || + this._uri.pathEndsWith('stdlib/_importlib_modulespec.vpi') || + this._uri.pathEndsWith('stdlib/dataclasses.vpi') || + this._uri.pathEndsWith('stdlib/abc.vpi') || + this._uri.pathEndsWith('stdlib/enum.vpi') || + this._uri.pathEndsWith('stdlib/queue.vpi') || + this._uri.pathEndsWith('stdlib/string/templatelib.vpi') || + this._uri.pathEndsWith('stdlib/types.vpi') || + this._uri.pathEndsWith('stdlib/warnings.vpi') ) { this._isBuiltInStubFile = true; } @@ -1560,10 +1560,11 @@ export class SourceFile { const parseOptions = new ParseOptions(); parseOptions.useNotebookMode = useNotebookMode; - if (fileUri.pathEndsWith('pyi')) { + if (fileUri.pathEndsWith('vpi')) { parseOptions.isStubFile = true; } parseOptions.pythonVersion = execEnvironment.pythonVersion; + parseOptions.dialect = execEnvironment.dialect; parseOptions.skipFunctionAndClassBody = configOptions.indexGenerationMode ?? false; // Parse the token stream, building the abstract syntax tree. diff --git a/packages/pyright-internal/src/analyzer/sourceFileInfo.ts b/packages/vipeye-internal/src/analyzer/sourceFileInfo.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/sourceFileInfo.ts rename to packages/vipeye-internal/src/analyzer/sourceFileInfo.ts diff --git a/packages/pyright-internal/src/analyzer/sourceFileInfoUtils.ts b/packages/vipeye-internal/src/analyzer/sourceFileInfoUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/sourceFileInfoUtils.ts rename to packages/vipeye-internal/src/analyzer/sourceFileInfoUtils.ts diff --git a/packages/pyright-internal/src/analyzer/sourceMapper.ts b/packages/vipeye-internal/src/analyzer/sourceMapper.ts similarity index 99% rename from packages/pyright-internal/src/analyzer/sourceMapper.ts rename to packages/vipeye-internal/src/analyzer/sourceMapper.ts index 99bf61f..40c7138 100644 --- a/packages/pyright-internal/src/analyzer/sourceMapper.ts +++ b/packages/vipeye-internal/src/analyzer/sourceMapper.ts @@ -858,7 +858,7 @@ export class SourceMapper { const fakeStubPath = stdLibPath.combinePaths( getModuleName() .d.nameParts.map((n) => n.d.value) - .join('.') + '.pyi' + .join('.') + '.vpi' ); const sources = this._getSourceFiles(fakeStubPath, fileInfo.fileUri); @@ -1128,7 +1128,7 @@ export class SourceMapper { } export function isStubFile(uri: Uri): boolean { - return uri.lastExtension === '.pyi'; + return uri.lastExtension === '.vpi'; } export function isAliasFactoryCallee(callTarget: ExpressionNode, allowMemberAccess = false): boolean { diff --git a/packages/pyright-internal/src/analyzer/sourceMapperUtils.ts b/packages/vipeye-internal/src/analyzer/sourceMapperUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/sourceMapperUtils.ts rename to packages/vipeye-internal/src/analyzer/sourceMapperUtils.ts diff --git a/packages/pyright-internal/src/analyzer/staticExpressions.ts b/packages/vipeye-internal/src/analyzer/staticExpressions.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/staticExpressions.ts rename to packages/vipeye-internal/src/analyzer/staticExpressions.ts diff --git a/packages/pyright-internal/src/analyzer/symbol.ts b/packages/vipeye-internal/src/analyzer/symbol.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/symbol.ts rename to packages/vipeye-internal/src/analyzer/symbol.ts diff --git a/packages/pyright-internal/src/analyzer/symbolNameUtils.ts b/packages/vipeye-internal/src/analyzer/symbolNameUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/symbolNameUtils.ts rename to packages/vipeye-internal/src/analyzer/symbolNameUtils.ts diff --git a/packages/pyright-internal/src/analyzer/symbolUtils.ts b/packages/vipeye-internal/src/analyzer/symbolUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/symbolUtils.ts rename to packages/vipeye-internal/src/analyzer/symbolUtils.ts diff --git a/packages/pyright-internal/src/analyzer/testWalker.ts b/packages/vipeye-internal/src/analyzer/testWalker.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/testWalker.ts rename to packages/vipeye-internal/src/analyzer/testWalker.ts diff --git a/packages/pyright-internal/src/analyzer/tracePrinter.ts b/packages/vipeye-internal/src/analyzer/tracePrinter.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/tracePrinter.ts rename to packages/vipeye-internal/src/analyzer/tracePrinter.ts diff --git a/packages/pyright-internal/src/analyzer/tuples.ts b/packages/vipeye-internal/src/analyzer/tuples.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/tuples.ts rename to packages/vipeye-internal/src/analyzer/tuples.ts diff --git a/packages/pyright-internal/src/analyzer/typeCacheUtils.ts b/packages/vipeye-internal/src/analyzer/typeCacheUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeCacheUtils.ts rename to packages/vipeye-internal/src/analyzer/typeCacheUtils.ts diff --git a/packages/pyright-internal/src/analyzer/typeComplexity.ts b/packages/vipeye-internal/src/analyzer/typeComplexity.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeComplexity.ts rename to packages/vipeye-internal/src/analyzer/typeComplexity.ts diff --git a/packages/pyright-internal/src/analyzer/typeDocStringUtils.ts b/packages/vipeye-internal/src/analyzer/typeDocStringUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeDocStringUtils.ts rename to packages/vipeye-internal/src/analyzer/typeDocStringUtils.ts diff --git a/packages/pyright-internal/src/analyzer/typeEvaluatorTypes.ts b/packages/vipeye-internal/src/analyzer/typeEvaluatorTypes.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeEvaluatorTypes.ts rename to packages/vipeye-internal/src/analyzer/typeEvaluatorTypes.ts diff --git a/packages/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts b/packages/vipeye-internal/src/analyzer/typeEvaluatorWithTracker.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts rename to packages/vipeye-internal/src/analyzer/typeEvaluatorWithTracker.ts diff --git a/packages/pyright-internal/src/analyzer/typeGuards.ts b/packages/vipeye-internal/src/analyzer/typeGuards.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeGuards.ts rename to packages/vipeye-internal/src/analyzer/typeGuards.ts diff --git a/packages/pyright-internal/src/analyzer/typePrinter.ts b/packages/vipeye-internal/src/analyzer/typePrinter.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typePrinter.ts rename to packages/vipeye-internal/src/analyzer/typePrinter.ts diff --git a/packages/pyright-internal/src/analyzer/typePrinterUtils.ts b/packages/vipeye-internal/src/analyzer/typePrinterUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typePrinterUtils.ts rename to packages/vipeye-internal/src/analyzer/typePrinterUtils.ts diff --git a/packages/pyright-internal/src/analyzer/typeStubWriter.ts b/packages/vipeye-internal/src/analyzer/typeStubWriter.ts similarity index 99% rename from packages/pyright-internal/src/analyzer/typeStubWriter.ts rename to packages/vipeye-internal/src/analyzer/typeStubWriter.ts index bfcba2d..fb43652 100644 --- a/packages/pyright-internal/src/analyzer/typeStubWriter.ts +++ b/packages/vipeye-internal/src/analyzer/typeStubWriter.ts @@ -204,7 +204,7 @@ export class TypeStubWriter { if (request.targetIsSingleFile) { typeStubPath = typeStubPath.getDirectory().initPyiUri; } else { - typeStubPath = typeStubPath.replaceExtension('.pyi'); + typeStubPath = typeStubPath.replaceExtension('.vpi'); } const typeStubDir = typeStubPath.getDirectory(); @@ -288,9 +288,9 @@ class TypeStubTreeWalker extends ParseTreeWalker { super(); // As a heuristic, we'll include all of the import statements - // in "__init__.pyi" files even if they're not locally referenced + // in "__init__.vpi" files even if they're not locally referenced // because these are often used as ways to re-export symbols. - if (this._stubPath.fileName === '__init__.pyi') { + if (this._stubPath.fileName === '__init__.vpi') { this._includeAllImports = true; } } diff --git a/packages/pyright-internal/src/analyzer/typeUtils.ts b/packages/vipeye-internal/src/analyzer/typeUtils.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeUtils.ts rename to packages/vipeye-internal/src/analyzer/typeUtils.ts diff --git a/packages/pyright-internal/src/analyzer/typeWalker.ts b/packages/vipeye-internal/src/analyzer/typeWalker.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typeWalker.ts rename to packages/vipeye-internal/src/analyzer/typeWalker.ts diff --git a/packages/pyright-internal/src/analyzer/typedDicts.ts b/packages/vipeye-internal/src/analyzer/typedDicts.ts similarity index 100% rename from packages/pyright-internal/src/analyzer/typedDicts.ts rename to packages/vipeye-internal/src/analyzer/typedDicts.ts diff --git a/packages/pyright-internal/src/analyzer/types.ts b/packages/vipeye-internal/src/analyzer/types.ts similarity index 95% rename from packages/pyright-internal/src/analyzer/types.ts rename to packages/vipeye-internal/src/analyzer/types.ts index 91ed90d..ec332d2 100644 --- a/packages/pyright-internal/src/analyzer/types.ts +++ b/packages/vipeye-internal/src/analyzer/types.ts @@ -3170,6 +3170,82 @@ export function isNever(type: Type): type is NeverType { return type.category === TypeCategory.Never; } +// Viper 扩展:检测类型是否为 t.CDefine(编译时元指令类)。 +// 用于 combineTypes 中过滤联合类型里的 CDefine,实现 t.CDefine | T = T 语义。 +// 识别条件:ClassType 实例,类名为 'CDefine',定义在 t 模块中。 +export function isCDefineType(type: Type): boolean { + if (!isClass(type)) { + return false; + } + // 通过类名识别(CDefine 在 vipershed-fallback/stdlib/t.vpi 中定义) + return type.shared.name === 'CDefine' || type.shared.fullName === 't.CDefine'; +} + +// Viper 扩展:检测类型是否为 t.CArray(栈上固定数组类型)。 +// 用于 assignType 中实现 CArray 到 str/bytes 的自动降级 +// (C 字符数组 t.CArray[t.CChar, N] 可自动转换为 C 字符串 str)。 +export function isCArrayType(type: Type): boolean { + if (!isClass(type)) { + return false; + } + return type.shared.name === 'CArray' || type.shared.fullName === 't.CArray'; +} + +// Viper 扩展:检测类型是否为 t.CPtr 类(指针类型)。 +// 包括 CPtr 及其子类(CNeedPtr, CAutoPtr, CArrayPtr)。 +export function isCPtrType(type: Type): boolean { + if (!isClass(type)) { + return false; + } + const name = type.shared.name; + const fullName = type.shared.fullName; + return ( + name === 'CPtr' || fullName === 't.CPtr' || + name === 'CNeedPtr' || fullName === 't.CNeedPtr' || + name === 'CAutoPtr' || fullName === 't.CAutoPtr' || + name === 'CArrayPtr' || fullName === 't.CArrayPtr' + ); +} + +// Viper 扩展:检测类型是否为 t.CVoid(void 类型)。 +// void 在 Viper 中常作为指针的目标类型(CVoid | CPtr 表示 void*)。 +export function isCVoidType(type: Type): boolean { + if (!isClass(type)) { + return false; + } + return type.shared.name === 'CVoid' || type.shared.fullName === 't.CVoid'; +} + +// Viper 扩展:检测类型是否为 t.CConst(const 限定符类型)。 +// CConst 在联合类型中用于表示 const 修饰(如 CConst | CChar | CPtr 表示 const char*)。 +export function isCConstType(type: Type): boolean { + if (!isClass(type)) { + return false; + } + return type.shared.name === 'CConst' || type.shared.fullName === 't.CConst'; +} + +// Viper 扩展:检测类型是否为 t.CStatic(static 存储类)。 +// CStatic 在联合类型中用于表示 static 修饰(如 CStatic | CUInt64T 表示 static uint64_t)。 +// TypeSet 语义下,CStatic | T 赋值给 T 变量是合法的(CStatic 只是存储类修饰,值的类型仍是 T)。 +export function isCStaticType(type: Type): boolean { + if (!isClass(type)) { + return false; + } + return type.shared.name === 'CStatic' || type.shared.fullName === 't.CStatic'; +} + +// Viper 扩展:检测类型是否为 Viper 整数类型。 +// Viper 中所有 C 整数类型(CInt, CUnsignedLong, CSizeT 等)都是 int 的 TypeAlias, +// 在类型系统中解析为内置 int 类。此函数检测是否为内置 int/bytes 类 +// (bytes 也视为整数地址,因为 Viper 中指针地址可用 bytes 表示)。 +export function isViperIntegerType(type: Type): boolean { + if (!isClassInstance(type)) { + return false; + } + return ClassType.isBuiltIn(type, 'int'); +} + export function isAny(type: Type): type is AnyType { return type.category === TypeCategory.Any; } @@ -3749,6 +3825,80 @@ export function combineTypes(subtypes: Type[], options?: CombineTypesOptions): T // Filter out any Never or NoReturn types. [neverTypes, subtypes] = partition(subtypes, isNever); + // Viper 扩展:过滤联合类型中的 t.CDefine。 + // 语义:t.CDefine | T = T(CDefine 是编译时元指令,在联合中按另一类型规则检查)。 + // 若所有子类型都是 CDefine,则保留原数组(后续退化为 AnyType, + // 实现"单独使用 t.CDefine 时为任意类型")。 + if (subtypes.length > 1) { + const nonCDefineTypes = subtypes.filter((t) => !isCDefineType(t)); + if (nonCDefineTypes.length > 0 && nonCDefineTypes.length < subtypes.length) { + subtypes = nonCDefineTypes; + } + } + + // Viper 扩展:将 Struct | CPtr 自动映射为 CPtr[Struct]。 + // 模拟 C 语言指针语义:结构体与指针的联合类型自动转换为指向该结构体的指针类型。 + // 例如:Scheduler | t.CPtr → CPtr[Scheduler],bootinfo.bootinfo | t.CPtr → CPtr[bootinfo.bootinfo]。 + // 识别条件:联合类型中同时存在 CPtr 子类型和"结构体"子类型(非 CPtr/CVoid/CArray/CConst/CDefine/整数/str/bytes)。 + if (subtypes.length > 1) { + let cptrSubtype: ClassType | undefined; + const structSubtypes: ClassType[] = []; + const otherSubtypes: Type[] = []; + + for (const subtype of subtypes) { + if (isClass(subtype) && isCPtrType(subtype)) { + // 仅记录第一个 CPtr 子类型(多个 CPtr 时取首个作为模板) + if (!cptrSubtype) { + cptrSubtype = subtype; + } + } else if ( + isClass(subtype) && + !isCVoidType(subtype) && + !isCArrayType(subtype) && + !isCConstType(subtype) && + !isCStaticType(subtype) && + !isCDefineType(subtype) && + !ClassType.isBuiltIn(subtype, 'int') && + !ClassType.isBuiltIn(subtype, 'str') && + !ClassType.isBuiltIn(subtype, 'bytes') && + !ClassType.isBuiltIn(subtype, 'object') + ) { + structSubtypes.push(subtype); + } else { + otherSubtypes.push(subtype); + } + } + + if (cptrSubtype && structSubtypes.length > 0) { + // 选择第一个结构体类型作为 CPtr 的类型参数 + // 保留输入子类型的形式:类型表达式上下文(type[Scheduler] | type[CPtr]) + // 应输出 instantiable 形式 type[CPtr[Scheduler]];实例上下文(Scheduler | CPtr) + // 应输出实例形式 CPtr[Scheduler]。否则 validateTypeIsInstantiable 会报 + // "Expected class but received CPtr[Scheduler]"。 + const structSubtype = structSubtypes[0]; + const isInstantiableForm = TypeBase.isInstantiable(structSubtype); + const structForSpecialize = isInstantiableForm + ? ClassType.cloneAsInstance(structSubtype) + : structSubtype; + const cptrForSpecialize = isInstantiableForm + ? ClassType.cloneAsInstance(cptrSubtype) + : cptrSubtype; + // 构造 CPtr[Struct] 类型(实例形式) + const specializedCPtrInstance = ClassType.specialize(cptrForSpecialize, [structForSpecialize]); + // 必要时转回 instantiable 形式以匹配输入上下文 + const specializedCPtr = isInstantiableForm + ? ClassType.cloneAsInstantiable(specializedCPtrInstance) + : specializedCPtrInstance; + + // 若无其他子类型,直接返回 CPtr[Struct];否则保留其他子类型组成新联合 + if (otherSubtypes.length === 0 && structSubtypes.length === 1) { + return specializedCPtr; + } + + subtypes = [specializedCPtr, ...otherSubtypes]; + } + } + if (subtypes.length === 0) { if (neverTypes.length > 0) { // Prefer NoReturn over Never. This approach preserves type alias @@ -3756,7 +3906,8 @@ export function combineTypes(subtypes: Type[], options?: CombineTypesOptions): T return neverTypes.find((t) => t.priv.isNoReturn) ?? neverTypes[0]; } - return NeverType.createNever(); + // Viper 扩展:仅剩 CDefine 时返回 Any(任意类型语义) + return AnyType.create(); } // Handle the common case where there is only one type. diff --git a/packages/pyright-internal/src/analyzer/typeshedInfoProvider.ts b/packages/vipeye-internal/src/analyzer/typeshedInfoProvider.ts similarity index 83% rename from packages/pyright-internal/src/analyzer/typeshedInfoProvider.ts rename to packages/vipeye-internal/src/analyzer/typeshedInfoProvider.ts index e580dda..b028b49 100644 --- a/packages/pyright-internal/src/analyzer/typeshedInfoProvider.ts +++ b/packages/vipeye-internal/src/analyzer/typeshedInfoProvider.ts @@ -4,6 +4,7 @@ * Licensed under the MIT license. */ +import { IsViperDialect, LanguageDialect } from '../common/dialect'; import { stripFileExtension } from '../common/pathUtils'; import { pythonVersion3_0, PythonVersion } from '../common/pythonVersion'; import { Uri } from '../common/uri/uri'; @@ -31,14 +32,18 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { // Empty } - getTypeshedRoot(customTypeshedPath: Uri | undefined, _importLogger?: ImportLogger): Uri | undefined { - const key = customTypeshedPath?.key ?? ''; + getTypeshedRoot( + customTypeshedPath: Uri | undefined, + _importLogger?: ImportLogger, + dialect?: LanguageDialect + ): Uri | undefined { + const key = `${dialect ?? 'python'}:${customTypeshedPath?.key ?? ''}`; const cached = this._typeshedRootCache.get(key); if (cached !== undefined) { return cached; } - const root = this._computeTypeshedRoot(customTypeshedPath); + const root = this._computeTypeshedRoot(customTypeshedPath, dialect); this._typeshedRootCache.set(key, root); return root; } @@ -46,15 +51,16 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { getTypeshedSubdirectory( isStdLib: boolean, customTypeshedPath: Uri | undefined, - importLogger?: ImportLogger + importLogger?: ImportLogger, + dialect?: LanguageDialect ): Uri | undefined { - const key = `${isStdLib ? 'stdlib' : 'thirdParty'}:${customTypeshedPath?.key ?? ''}`; + const key = `${dialect ?? 'python'}:${isStdLib ? 'stdlib' : 'thirdParty'}:${customTypeshedPath?.key ?? ''}`; const cached = this._typeshedSubdirectoryCache.get(key); if (cached !== undefined) { return cached; } - const typeshedRoot = this.getTypeshedRoot(customTypeshedPath, importLogger); + const typeshedRoot = this.getTypeshedRoot(customTypeshedPath, importLogger, dialect); if (!typeshedRoot) { this._typeshedSubdirectoryCache.set(key, undefined); return undefined; @@ -72,15 +78,21 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { getThirdPartyPackageMap( customTypeshedPath: Uri | undefined, - importLogger?: ImportLogger + importLogger?: ImportLogger, + dialect?: LanguageDialect ): TypeshedThirdPartyPackageMapResult { - const key = customTypeshedPath?.key ?? ''; + const key = `${dialect ?? 'python'}:${customTypeshedPath?.key ?? ''}`; const cached = this._thirdPartyPackageMapCache.get(key); if (cached) { return cached; } - const thirdPartyDir = this.getTypeshedSubdirectory(/* isStdLib */ false, customTypeshedPath, importLogger); + const thirdPartyDir = this.getTypeshedSubdirectory( + /* isStdLib */ false, + customTypeshedPath, + importLogger, + dialect + ); const typeshedThirdPartyPackagePaths = new Map(); if (thirdPartyDir) { @@ -106,7 +118,7 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { typeshedThirdPartyPackagePaths.set(innerEntry.name, [innerDirPath]); } } else if (innerEntry.isFile()) { - if (innerEntry.name.endsWith('.pyi')) { + if (innerEntry.name.endsWith('.vpi')) { const strippedFileName = stripFileExtension(innerEntry.name); const pathList = typeshedThirdPartyPackagePaths.get(strippedFileName); if (pathList) { @@ -132,9 +144,16 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { getStdLibModuleVersionInfo( customTypeshedPath: Uri | undefined, - importLogger?: ImportLogger + importLogger?: ImportLogger, + dialect?: LanguageDialect ): ReadonlyMap { - const key = customTypeshedPath?.key ?? ''; + // Viper 模式短路:Viper 无 CPython 标准库版本兼容矩阵,跳过 VERSIONS + // 文件解析,所有 stdlib 模块视为全版本可用(返回空 Map 表示无版本约束)。 + if (IsViperDialect(dialect)) { + return new Map(); + } + + const key = `${dialect ?? 'python'}:${customTypeshedPath?.key ?? ''}`; const cached = this._stdlibVersionInfoCache.get(key); if (cached) { return cached; @@ -143,7 +162,12 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { const versionRangeMap = new Map(); // Read the VERSIONS file from typeshed. - const typeshedStdLibPath = this.getTypeshedSubdirectory(/* isStdLib */ true, customTypeshedPath, importLogger); + const typeshedStdLibPath = this.getTypeshedSubdirectory( + /* isStdLib */ true, + customTypeshedPath, + importLogger, + dialect + ); if (typeshedStdLibPath) { const versionsFilePath = typeshedStdLibPath.combinePaths('VERSIONS'); try { @@ -238,7 +262,10 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { return versionRangeMap; } - private _computeTypeshedRoot(customTypeshedPath: Uri | undefined): Uri | undefined { + private _computeTypeshedRoot( + customTypeshedPath: Uri | undefined, + dialect?: LanguageDialect + ): Uri | undefined { // Did the user specify a typeshed path? If not, use the fallback. if (customTypeshedPath) { if (this._fileSystem.dirExists(customTypeshedPath)) { @@ -246,6 +273,10 @@ class DefaultTypeshedInfoProvider implements TypeshedInfoProvider { } } + // Viper 模式仍使用 typeshed-fallback 作为 typeshed root, + // 确保 builtins/typing 等基础模块可被 Pyright 隐式加载。 + // Viper 特有模块(t/c/stdio 等)通过 importResolver.getImportRoots() + // 额外添加 vipershed-fallback/stdlib 作为优先搜索路径。 const fallback = PythonPathUtils.getTypeShedFallbackPath(this._fileSystem) ?? Uri.empty(); return fallback.isEmpty() ? undefined : fallback; } diff --git a/packages/pyright-internal/src/backgroundAnalysis.ts b/packages/vipeye-internal/src/backgroundAnalysis.ts similarity index 100% rename from packages/pyright-internal/src/backgroundAnalysis.ts rename to packages/vipeye-internal/src/backgroundAnalysis.ts diff --git a/packages/pyright-internal/src/backgroundAnalysisBase.ts b/packages/vipeye-internal/src/backgroundAnalysisBase.ts similarity index 100% rename from packages/pyright-internal/src/backgroundAnalysisBase.ts rename to packages/vipeye-internal/src/backgroundAnalysisBase.ts diff --git a/packages/pyright-internal/src/backgroundThreadBase.ts b/packages/vipeye-internal/src/backgroundThreadBase.ts similarity index 100% rename from packages/pyright-internal/src/backgroundThreadBase.ts rename to packages/vipeye-internal/src/backgroundThreadBase.ts diff --git a/packages/pyright-internal/src/commands/commandController.ts b/packages/vipeye-internal/src/commands/commandController.ts similarity index 100% rename from packages/pyright-internal/src/commands/commandController.ts rename to packages/vipeye-internal/src/commands/commandController.ts diff --git a/packages/pyright-internal/src/commands/commandResult.ts b/packages/vipeye-internal/src/commands/commandResult.ts similarity index 100% rename from packages/pyright-internal/src/commands/commandResult.ts rename to packages/vipeye-internal/src/commands/commandResult.ts diff --git a/packages/vipeye-internal/src/commands/commands.ts b/packages/vipeye-internal/src/commands/commands.ts new file mode 100644 index 0000000..e5bd035 --- /dev/null +++ b/packages/vipeye-internal/src/commands/commands.ts @@ -0,0 +1,21 @@ +/* + * commands.ts + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT license. + * Author: Eric Traut + * + * Command identifier strings. + */ + +export const enum Commands { + createTypeStub = 'viper.createtypestub', + restartServer = 'viper.restartserver', + orderImports = 'viper.organizeimports', + unusedImport = 'viper.unusedImport', + dumpFileDebugInfo = 'viper.dumpFileDebugInfo', + dumpTokens = 'viper.dumpTokens', + dumpNodes = 'viper.dumpNodes', + dumpTypes = 'viper.dumpTypes', + dumpCachedTypes = 'viper.dumpCachedTypes', + dumpCodeFlowGraph = 'viper.dumpCodeFlowGraph', +} diff --git a/packages/pyright-internal/src/commands/createTypeStub.ts b/packages/vipeye-internal/src/commands/createTypeStub.ts similarity index 100% rename from packages/pyright-internal/src/commands/createTypeStub.ts rename to packages/vipeye-internal/src/commands/createTypeStub.ts diff --git a/packages/pyright-internal/src/commands/dumpFileDebugInfoCommand.ts b/packages/vipeye-internal/src/commands/dumpFileDebugInfoCommand.ts similarity index 100% rename from packages/pyright-internal/src/commands/dumpFileDebugInfoCommand.ts rename to packages/vipeye-internal/src/commands/dumpFileDebugInfoCommand.ts diff --git a/packages/pyright-internal/src/commands/quickActionCommand.ts b/packages/vipeye-internal/src/commands/quickActionCommand.ts similarity index 100% rename from packages/pyright-internal/src/commands/quickActionCommand.ts rename to packages/vipeye-internal/src/commands/quickActionCommand.ts diff --git a/packages/pyright-internal/src/commands/restartServer.ts b/packages/vipeye-internal/src/commands/restartServer.ts similarity index 100% rename from packages/pyright-internal/src/commands/restartServer.ts rename to packages/vipeye-internal/src/commands/restartServer.ts diff --git a/packages/pyright-internal/src/common/asyncInitialization.ts b/packages/vipeye-internal/src/common/asyncInitialization.ts similarity index 85% rename from packages/pyright-internal/src/common/asyncInitialization.ts rename to packages/vipeye-internal/src/common/asyncInitialization.ts index d5086b4..bf4c693 100644 --- a/packages/pyright-internal/src/common/asyncInitialization.ts +++ b/packages/vipeye-internal/src/common/asyncInitialization.ts @@ -3,7 +3,7 @@ * Copyright (c) Microsoft Corporation. * Licensed under the MIT license. * - * helpers shared between multiple packages such as pyright-internal and pyright + * helpers shared between multiple packages such as vipeye-internal and pyright */ import { ensureTomlModuleLoaded } from './tomlUtils'; diff --git a/packages/pyright-internal/src/common/cancellationUtils.ts b/packages/vipeye-internal/src/common/cancellationUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/cancellationUtils.ts rename to packages/vipeye-internal/src/common/cancellationUtils.ts diff --git a/packages/pyright-internal/src/common/caseSensitivityDetector.ts b/packages/vipeye-internal/src/common/caseSensitivityDetector.ts similarity index 100% rename from packages/pyright-internal/src/common/caseSensitivityDetector.ts rename to packages/vipeye-internal/src/common/caseSensitivityDetector.ts diff --git a/packages/pyright-internal/src/common/charCodes.ts b/packages/vipeye-internal/src/common/charCodes.ts similarity index 100% rename from packages/pyright-internal/src/common/charCodes.ts rename to packages/vipeye-internal/src/common/charCodes.ts diff --git a/packages/pyright-internal/src/common/chokidarFileWatcherProvider.ts b/packages/vipeye-internal/src/common/chokidarFileWatcherProvider.ts similarity index 100% rename from packages/pyright-internal/src/common/chokidarFileWatcherProvider.ts rename to packages/vipeye-internal/src/common/chokidarFileWatcherProvider.ts diff --git a/packages/pyright-internal/src/common/collectionUtils.ts b/packages/vipeye-internal/src/common/collectionUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/collectionUtils.ts rename to packages/vipeye-internal/src/common/collectionUtils.ts diff --git a/packages/pyright-internal/src/common/commandLineOptions.ts b/packages/vipeye-internal/src/common/commandLineOptions.ts similarity index 95% rename from packages/pyright-internal/src/common/commandLineOptions.ts rename to packages/vipeye-internal/src/common/commandLineOptions.ts index c8de133..9652974 100644 --- a/packages/pyright-internal/src/common/commandLineOptions.ts +++ b/packages/vipeye-internal/src/common/commandLineOptions.ts @@ -10,6 +10,7 @@ */ import { TaskListToken } from './diagnostic'; +import { LanguageDialect } from './dialect'; import { PythonVersion } from './pythonVersion'; import { Uri } from './uri/uri'; @@ -103,6 +104,10 @@ export class CommandLineConfigOptions { // Emit verbose information to console? verboseOutput?: boolean | undefined; + + // 语言方言:'python' 或 'viper'。Viper 模式下短路 Python 特有语义。 + // 用于命令行 --dialect viper 参数与 VSCode 扩展 viper.analysis.dialect 配置。 + dialect?: LanguageDialect | undefined; } // Options that are not specified in a JSON config file but apply to a language server. diff --git a/packages/pyright-internal/src/common/commandUtils.ts b/packages/vipeye-internal/src/common/commandUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/commandUtils.ts rename to packages/vipeye-internal/src/common/commandUtils.ts diff --git a/packages/pyright-internal/src/common/configOptions.ts b/packages/vipeye-internal/src/common/configOptions.ts similarity index 91% rename from packages/pyright-internal/src/common/configOptions.ts rename to packages/vipeye-internal/src/common/configOptions.ts index 484469e..14be891 100644 --- a/packages/pyright-internal/src/common/configOptions.ts +++ b/packages/vipeye-internal/src/common/configOptions.ts @@ -21,6 +21,7 @@ import { } from './commandLineOptions'; import { ConsoleInterface, NullConsole } from './console'; import { isBoolean } from './core'; +import { DefaultDialect, IsViperDialect, LanguageDialect, ParseDialect } from './dialect'; import { TaskListToken } from './diagnostic'; import { DiagnosticRule } from './diagnosticRules'; import { FileSystem } from './fileSystem'; @@ -65,6 +66,10 @@ export class ExecutionEnvironment { // tools or playgrounds). skipNativeLibraries: boolean; + // 语言方言:'python'(默认)或 'viper'。 + // Viper 模式下短路 Python 特有语义,避免对 AOT 静态语言误报。 + dialect: LanguageDialect; + // Default to "." which indicates every file in the project. constructor( name: string, @@ -73,7 +78,8 @@ export class ExecutionEnvironment { defaultPythonVersion: PythonVersion | undefined, defaultPythonPlatform: string | undefined, defaultExtraPaths: Uri[] | undefined, - skipNativeLibraries = false + skipNativeLibraries = false, + defaultDialect: LanguageDialect = DefaultDialect ) { this.name = name; this.root = root; @@ -82,6 +88,7 @@ export class ExecutionEnvironment { this.extraPaths = Array.from(defaultExtraPaths ?? []); this.diagnosticRuleSet = { ...defaultDiagRuleSet }; this.skipNativeLibraries = skipNativeLibraries; + this.dialect = defaultDialect; } } @@ -524,7 +531,7 @@ export function getStrictModeNotOverriddenRules() { return [DiagnosticRule.reportMissingModuleSource]; } -export function getOffDiagnosticRuleSet(): DiagnosticRuleSet { +export function getOffDiagnosticRuleSet(dialect?: LanguageDialect): DiagnosticRuleSet { const diagSettings: DiagnosticRuleSet = { printUnknownAsAny: true, omitTypeArgsIfUnknown: true, @@ -624,10 +631,28 @@ export function getOffDiagnosticRuleSet(): DiagnosticRuleSet { reportImplicitOverride: 'none', }; + if (IsViperDialect(dialect)) { + diagSettings.reportDeprecated = 'none'; + diagSettings.reportMissingTypeStubs = 'none'; + diagSettings.reportMissingModuleSource = 'none'; + diagSettings.reportTypeCommentUsage = 'none'; + diagSettings.reportIncompleteStub = 'none'; + diagSettings.reportInvalidStubStatement = 'none'; + diagSettings.reportUnusedCoroutine = 'none'; + diagSettings.reportInvalidStringEscapeSequence = 'none'; + diagSettings.reportPrivateImportUsage = 'none'; + diagSettings.deprecateTypingAliases = false; + diagSettings.disableBytesTypePromotions = false; + diagSettings.pep604Printing = true; + // Viper 扩展:当泛型参数为 Unknown 时省略类型参数显示 + // (如 t.CPtr 不带泛型参数时显示为 CPtr,而非 CPtr[Unknown]) + diagSettings.omitTypeArgsIfUnknown = true; + } + return diagSettings; } -export function getBasicDiagnosticRuleSet(): DiagnosticRuleSet { +export function getBasicDiagnosticRuleSet(dialect?: LanguageDialect): DiagnosticRuleSet { const diagSettings: DiagnosticRuleSet = { printUnknownAsAny: false, omitTypeArgsIfUnknown: false, @@ -727,10 +752,28 @@ export function getBasicDiagnosticRuleSet(): DiagnosticRuleSet { reportImplicitOverride: 'none', }; + if (IsViperDialect(dialect)) { + diagSettings.reportDeprecated = 'none'; + diagSettings.reportMissingTypeStubs = 'none'; + diagSettings.reportMissingModuleSource = 'none'; + diagSettings.reportTypeCommentUsage = 'none'; + diagSettings.reportIncompleteStub = 'none'; + diagSettings.reportInvalidStubStatement = 'none'; + diagSettings.reportUnusedCoroutine = 'none'; + diagSettings.reportInvalidStringEscapeSequence = 'none'; + diagSettings.reportPrivateImportUsage = 'none'; + diagSettings.deprecateTypingAliases = false; + diagSettings.disableBytesTypePromotions = false; + diagSettings.pep604Printing = true; + // Viper 扩展:当泛型参数为 Unknown 时省略类型参数显示 + // (如 t.CPtr 不带泛型参数时显示为 CPtr,而非 CPtr[Unknown]) + diagSettings.omitTypeArgsIfUnknown = true; + } + return diagSettings; } -export function getStandardDiagnosticRuleSet(): DiagnosticRuleSet { +export function getStandardDiagnosticRuleSet(dialect?: LanguageDialect): DiagnosticRuleSet { const diagSettings: DiagnosticRuleSet = { printUnknownAsAny: false, omitTypeArgsIfUnknown: false, @@ -830,10 +873,28 @@ export function getStandardDiagnosticRuleSet(): DiagnosticRuleSet { reportImplicitOverride: 'none', }; + if (IsViperDialect(dialect)) { + diagSettings.reportDeprecated = 'none'; + diagSettings.reportMissingTypeStubs = 'none'; + diagSettings.reportMissingModuleSource = 'none'; + diagSettings.reportTypeCommentUsage = 'none'; + diagSettings.reportIncompleteStub = 'none'; + diagSettings.reportInvalidStubStatement = 'none'; + diagSettings.reportUnusedCoroutine = 'none'; + diagSettings.reportInvalidStringEscapeSequence = 'none'; + diagSettings.reportPrivateImportUsage = 'none'; + diagSettings.deprecateTypingAliases = false; + diagSettings.disableBytesTypePromotions = false; + diagSettings.pep604Printing = true; + // Viper 扩展:当泛型参数为 Unknown 时省略类型参数显示 + // (如 t.CPtr 不带泛型参数时显示为 CPtr,而非 CPtr[Unknown]) + diagSettings.omitTypeArgsIfUnknown = true; + } + return diagSettings; } -export function getStrictDiagnosticRuleSet(): DiagnosticRuleSet { +export function getStrictDiagnosticRuleSet(dialect?: LanguageDialect): DiagnosticRuleSet { const diagSettings: DiagnosticRuleSet = { printUnknownAsAny: false, omitTypeArgsIfUnknown: false, @@ -933,6 +994,24 @@ export function getStrictDiagnosticRuleSet(): DiagnosticRuleSet { reportImplicitOverride: 'none', }; + if (IsViperDialect(dialect)) { + diagSettings.reportDeprecated = 'none'; + diagSettings.reportMissingTypeStubs = 'none'; + diagSettings.reportMissingModuleSource = 'none'; + diagSettings.reportTypeCommentUsage = 'none'; + diagSettings.reportIncompleteStub = 'none'; + diagSettings.reportInvalidStubStatement = 'none'; + diagSettings.reportUnusedCoroutine = 'none'; + diagSettings.reportInvalidStringEscapeSequence = 'none'; + diagSettings.reportPrivateImportUsage = 'none'; + diagSettings.deprecateTypingAliases = false; + diagSettings.disableBytesTypePromotions = false; + diagSettings.pep604Printing = true; + // Viper 扩展:当泛型参数为 Unknown 时省略类型参数显示 + // (如 t.CPtr 不带泛型参数时显示为 CPtr,而非 CPtr[Unknown]) + diagSettings.omitTypeArgsIfUnknown = true; + } + return diagSettings; } @@ -1082,26 +1161,32 @@ export class ConfigOptions { // Determines the effective default type checking mode. effectiveTypeCheckingMode: 'strict' | 'basic' | 'off' | 'standard' = 'standard'; + // 语言方言:'python'(默认)或 'viper'。 + // Viper 模式下短路 Python 特有语义(弃用表、typeshed VERSIONS、 + // 模块级 __getattr__、描述符协议等),并禁用一组不适用于 AOT + // 静态语言的诊断规则。 + dialect: LanguageDialect = DefaultDialect; + constructor(projectRoot: Uri) { this.projectRoot = projectRoot; this.diagnosticRuleSet = ConfigOptions.getDiagnosticRuleSet(); this.functionSignatureDisplay = SignatureDisplayType.formatted; } - static getDiagnosticRuleSet(typeCheckingMode?: string): DiagnosticRuleSet { + static getDiagnosticRuleSet(typeCheckingMode?: string, dialect?: LanguageDialect): DiagnosticRuleSet { if (typeCheckingMode === 'strict') { - return getStrictDiagnosticRuleSet(); + return getStrictDiagnosticRuleSet(dialect); } if (typeCheckingMode === 'basic') { - return getBasicDiagnosticRuleSet(); + return getBasicDiagnosticRuleSet(dialect); } if (typeCheckingMode === 'off') { - return getOffDiagnosticRuleSet(); + return getOffDiagnosticRuleSet(dialect); } - return getStandardDiagnosticRuleSet(); + return getStandardDiagnosticRuleSet(dialect); } getDefaultExecEnvironment(): ExecutionEnvironment { @@ -1112,7 +1197,8 @@ export class ConfigOptions { this.defaultPythonVersion, this.defaultPythonPlatform, this.defaultExtraPaths, - this.skipNativeLibraries + this.skipNativeLibraries, + this.dialect ); } @@ -1141,8 +1227,8 @@ export class ConfigOptions { typeCheckingMode: string | undefined, severityOverrides?: DiagnosticSeverityOverridesMap ) { - this.diagnosticRuleSet = ConfigOptions.getDiagnosticRuleSet(typeCheckingMode); this.effectiveTypeCheckingMode = typeCheckingMode as 'strict' | 'basic' | 'off' | 'standard'; + this.diagnosticRuleSet = ConfigOptions.getDiagnosticRuleSet(typeCheckingMode, this.dialect); if (severityOverrides) { this.applyDiagnosticOverrides(severityOverrides); @@ -1491,6 +1577,24 @@ export class ConfigOptions { } } + // L10: 读取 "dialect" 字段('python' | 'viper')。 + // 注意:viperconfig.json 文件名信号由 service.ts 的 _getConfigOptions 处理, + // 此处仅读取显式声明的 dialect;命令行 / 文件名级别的强制覆盖在调用方完成。 + if (configObj.dialect !== undefined) { + unusedConfigKeys.delete('dialect'); + const dialectStr = configObj.dialect; + const dialect = ParseDialect(typeof dialectStr === 'string' ? dialectStr : undefined); + if (dialect) { + this.dialect = dialect; + // 配置加载后依据方言重新计算诊断规则集,使 Viper 模式的规则降级生效。 + this.diagnosticRuleSet = ConfigOptions.getDiagnosticRuleSet(this.effectiveTypeCheckingMode, this.dialect); + } else { + console.error( + `Config "dialect" entry must be "python" or "viper" (got ${JSON.stringify(dialectStr)}).` + ); + } + } + unusedConfigKeys.delete('executionEnvironments'); unusedConfigKeys.delete('extends'); @@ -1548,7 +1652,7 @@ export class ConfigOptions { if (autoSearchPaths) { // Auto-detect the common scenario where the sources are under the src folder const srcPath = this.projectRoot.resolvePaths(pathConsts.src); - if (fs.existsSync(srcPath) && !fs.existsSync(srcPath.resolvePaths('__init__.py'))) { + if (fs.existsSync(srcPath) && !fs.existsSync(srcPath.resolvePaths('__init__.vp'))) { paths.push(fs.realCasePath(srcPath)); } } @@ -1671,7 +1775,9 @@ export class ConfigOptions { configDiagnosticRuleSet, configPythonVersion, configPythonPlatform, - configExtraPaths + configExtraPaths, + this.skipNativeLibraries, + this.dialect ); // Validate the root. diff --git a/packages/pyright-internal/src/common/console.ts b/packages/vipeye-internal/src/common/console.ts similarity index 100% rename from packages/pyright-internal/src/common/console.ts rename to packages/vipeye-internal/src/common/console.ts diff --git a/packages/pyright-internal/src/common/core.ts b/packages/vipeye-internal/src/common/core.ts similarity index 100% rename from packages/pyright-internal/src/common/core.ts rename to packages/vipeye-internal/src/common/core.ts diff --git a/packages/pyright-internal/src/common/crypto.ts b/packages/vipeye-internal/src/common/crypto.ts similarity index 100% rename from packages/pyright-internal/src/common/crypto.ts rename to packages/vipeye-internal/src/common/crypto.ts diff --git a/packages/pyright-internal/src/common/debug.ts b/packages/vipeye-internal/src/common/debug.ts similarity index 100% rename from packages/pyright-internal/src/common/debug.ts rename to packages/vipeye-internal/src/common/debug.ts diff --git a/packages/pyright-internal/src/common/deferred.ts b/packages/vipeye-internal/src/common/deferred.ts similarity index 100% rename from packages/pyright-internal/src/common/deferred.ts rename to packages/vipeye-internal/src/common/deferred.ts diff --git a/packages/pyright-internal/src/common/diagnostic.ts b/packages/vipeye-internal/src/common/diagnostic.ts similarity index 100% rename from packages/pyright-internal/src/common/diagnostic.ts rename to packages/vipeye-internal/src/common/diagnostic.ts diff --git a/packages/pyright-internal/src/common/diagnosticRules.ts b/packages/vipeye-internal/src/common/diagnosticRules.ts similarity index 100% rename from packages/pyright-internal/src/common/diagnosticRules.ts rename to packages/vipeye-internal/src/common/diagnosticRules.ts diff --git a/packages/pyright-internal/src/common/diagnosticSink.ts b/packages/vipeye-internal/src/common/diagnosticSink.ts similarity index 100% rename from packages/pyright-internal/src/common/diagnosticSink.ts rename to packages/vipeye-internal/src/common/diagnosticSink.ts diff --git a/packages/vipeye-internal/src/common/dialect.ts b/packages/vipeye-internal/src/common/dialect.ts new file mode 100644 index 0000000..f149a41 --- /dev/null +++ b/packages/vipeye-internal/src/common/dialect.ts @@ -0,0 +1,32 @@ +/* + * dialect.ts + * 语言方言开关:区分 Python 与 Viper 语义。 + * + * Viper 是基于 CPython 语法但语义不同的 AOT 编译型语言。 + * 在 TPV --lsp 实现前,Pyright(Vipeye)作为姑息 LSP 充当分析器。 + * 通过 dialect 字段在 Python 语义与 Viper 语义之间切换。 + */ + +/** 支持的语言方言 */ +export type LanguageDialect = 'python' | 'viper'; + +/** 默认方言:Vipeye 已转型为 Viper 专属 LSP 客户端,默认方言为 Viper。 */ +export const DefaultDialect: LanguageDialect = 'viper'; + +/** 判断当前方言是否为 Viper */ +export function IsViperDialect(dialect: LanguageDialect | undefined): boolean { + return dialect === 'viper'; +} + +/** 判断当前方言是否为 Python */ +export function IsPythonDialect(dialect: LanguageDialect | undefined): boolean { + return dialect !== 'viper'; +} + +/** 从字符串解析方言,无效值返回 undefined */ +export function ParseDialect(value: string | undefined): LanguageDialect | undefined { + if (value === 'python' || value === 'viper') { + return value; + } + return undefined; +} diff --git a/packages/pyright-internal/src/common/docRange.ts b/packages/vipeye-internal/src/common/docRange.ts similarity index 100% rename from packages/pyright-internal/src/common/docRange.ts rename to packages/vipeye-internal/src/common/docRange.ts diff --git a/packages/pyright-internal/src/common/docStringService.ts b/packages/vipeye-internal/src/common/docStringService.ts similarity index 100% rename from packages/pyright-internal/src/common/docStringService.ts rename to packages/vipeye-internal/src/common/docStringService.ts diff --git a/packages/pyright-internal/src/common/editAction.ts b/packages/vipeye-internal/src/common/editAction.ts similarity index 100% rename from packages/pyright-internal/src/common/editAction.ts rename to packages/vipeye-internal/src/common/editAction.ts diff --git a/packages/pyright-internal/src/common/envVarUtils.ts b/packages/vipeye-internal/src/common/envVarUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/envVarUtils.ts rename to packages/vipeye-internal/src/common/envVarUtils.ts diff --git a/packages/pyright-internal/src/common/extensibility.ts b/packages/vipeye-internal/src/common/extensibility.ts similarity index 100% rename from packages/pyright-internal/src/common/extensibility.ts rename to packages/vipeye-internal/src/common/extensibility.ts diff --git a/packages/pyright-internal/src/common/extensions.ts b/packages/vipeye-internal/src/common/extensions.ts similarity index 100% rename from packages/pyright-internal/src/common/extensions.ts rename to packages/vipeye-internal/src/common/extensions.ts diff --git a/packages/pyright-internal/src/common/fileBasedCancellationUtils.ts b/packages/vipeye-internal/src/common/fileBasedCancellationUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/fileBasedCancellationUtils.ts rename to packages/vipeye-internal/src/common/fileBasedCancellationUtils.ts diff --git a/packages/pyright-internal/src/common/fileSystem.ts b/packages/vipeye-internal/src/common/fileSystem.ts similarity index 100% rename from packages/pyright-internal/src/common/fileSystem.ts rename to packages/vipeye-internal/src/common/fileSystem.ts diff --git a/packages/pyright-internal/src/common/fileWatcher.ts b/packages/vipeye-internal/src/common/fileWatcher.ts similarity index 100% rename from packages/pyright-internal/src/common/fileWatcher.ts rename to packages/vipeye-internal/src/common/fileWatcher.ts diff --git a/packages/pyright-internal/src/common/fullAccessHost.ts b/packages/vipeye-internal/src/common/fullAccessHost.ts similarity index 100% rename from packages/pyright-internal/src/common/fullAccessHost.ts rename to packages/vipeye-internal/src/common/fullAccessHost.ts diff --git a/packages/pyright-internal/src/common/host.ts b/packages/vipeye-internal/src/common/host.ts similarity index 100% rename from packages/pyright-internal/src/common/host.ts rename to packages/vipeye-internal/src/common/host.ts diff --git a/packages/pyright-internal/src/common/languageInfoUtils.ts b/packages/vipeye-internal/src/common/languageInfoUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/languageInfoUtils.ts rename to packages/vipeye-internal/src/common/languageInfoUtils.ts diff --git a/packages/pyright-internal/src/common/languageServerInterface.ts b/packages/vipeye-internal/src/common/languageServerInterface.ts similarity index 100% rename from packages/pyright-internal/src/common/languageServerInterface.ts rename to packages/vipeye-internal/src/common/languageServerInterface.ts diff --git a/packages/pyright-internal/src/common/logTracker.ts b/packages/vipeye-internal/src/common/logTracker.ts similarity index 100% rename from packages/pyright-internal/src/common/logTracker.ts rename to packages/vipeye-internal/src/common/logTracker.ts diff --git a/packages/pyright-internal/src/common/lspUtils.ts b/packages/vipeye-internal/src/common/lspUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/lspUtils.ts rename to packages/vipeye-internal/src/common/lspUtils.ts diff --git a/packages/pyright-internal/src/common/memUtils.ts b/packages/vipeye-internal/src/common/memUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/memUtils.ts rename to packages/vipeye-internal/src/common/memUtils.ts diff --git a/packages/vipeye-internal/src/common/pathConsts.ts b/packages/vipeye-internal/src/common/pathConsts.ts new file mode 100644 index 0000000..b68a6a9 --- /dev/null +++ b/packages/vipeye-internal/src/common/pathConsts.ts @@ -0,0 +1,37 @@ +/* + * pathConsts.ts + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT license. + * + * Path-related constants. + */ + +export const typeshedFallback = 'typeshed-fallback'; + +// Viper 自有标准库 stub 目录(vipershed),结构与 typeshed-fallback 对齐。 +// 在 Viper 模式下优先使用 vipershed-fallback,缺失时回退到 typeshed-fallback。 +export const vipershedFallback = 'vipershed-fallback'; + +export const lib = 'lib'; +export const libAlternate = 'Lib'; +export const lib64 = 'lib64'; +export const sitePackages = 'site-packages'; +export const distPackages = 'dist-packages'; +export const src = 'src'; +export const stubsSuffix = '-stubs'; +export const defaultStubsDirectory = 'typings'; +export const requirementsFileName = 'requirements.txt'; +export const pyprojectTomlName = 'pyproject.toml'; +export const dotPythonVersionName = '.python-version'; +export const configFileName = 'pyrightconfig.json'; + +// Viper 模式下的配置文件名(替代 pyrightconfig.json)。 +export const viperConfigFileName = 'viperconfig.json'; + +// Viper 项目配置文件名(TransPyC 编译器使用)。 +// schema 与 viperconfig.json 不同:含 source_dir / includes / compiler / linker 等字段。 +export const viperProjectFileName = 'project.json'; + +// Viper 项目配置文件扩展名(.vpj,Viper Project)。 +// 优先于 project.json:当目录中同时存在 project.vpj 和 project.json 时,优先使用 .vpj。 +export const viperProjectFileExt = '.vpj'; diff --git a/packages/pyright-internal/src/common/pathUtils.ts b/packages/vipeye-internal/src/common/pathUtils.ts similarity index 99% rename from packages/pyright-internal/src/common/pathUtils.ts rename to packages/vipeye-internal/src/common/pathUtils.ts index 701f650..1929185 100644 --- a/packages/pyright-internal/src/common/pathUtils.ts +++ b/packages/vipeye-internal/src/common/pathUtils.ts @@ -33,7 +33,7 @@ export interface FileSpec { hasDirectoryWildcard: boolean; } -const _includeFileRegex = /\.pyi?$/; +const _includeFileRegex = /\.vpi?$/; const _wildcardRootRegex = /[*?]/; export namespace FileSpec { @@ -606,7 +606,7 @@ export function getWildcardRoot(rootPath: string, fileSpec: string): string { } export function hasPythonExtension(path: string) { - return path.endsWith('.py') || path.endsWith('.pyi'); + return path.endsWith('.vp') || path.endsWith('.vpi'); } export function getRegexEscapedSeparator(pathSep: string = path.sep) { diff --git a/packages/pyright-internal/src/common/positionUtils.ts b/packages/vipeye-internal/src/common/positionUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/positionUtils.ts rename to packages/vipeye-internal/src/common/positionUtils.ts diff --git a/packages/pyright-internal/src/common/processUtils.ts b/packages/vipeye-internal/src/common/processUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/processUtils.ts rename to packages/vipeye-internal/src/common/processUtils.ts diff --git a/packages/pyright-internal/src/common/progressReporter.ts b/packages/vipeye-internal/src/common/progressReporter.ts similarity index 100% rename from packages/pyright-internal/src/common/progressReporter.ts rename to packages/vipeye-internal/src/common/progressReporter.ts diff --git a/packages/pyright-internal/src/common/pythonVersion.ts b/packages/vipeye-internal/src/common/pythonVersion.ts similarity index 91% rename from packages/pyright-internal/src/common/pythonVersion.ts rename to packages/vipeye-internal/src/common/pythonVersion.ts index 7966f18..81480ed 100644 --- a/packages/pyright-internal/src/common/pythonVersion.ts +++ b/packages/vipeye-internal/src/common/pythonVersion.ts @@ -218,3 +218,12 @@ export const pythonVersion3_14 = PythonVersion.create(3, 14); export const pythonVersion3_15 = PythonVersion.create(3, 15); export const latestStablePythonVersion = pythonVersion3_14; + +// Viper 语言版本(姑息设计阶段,复用 PythonVersion 结构体表示语法方言级别)。 +// Viper 当前语法基于 CPython 3.12,因此分析器在 Viper 模式下将 pythonVersion +// 锁定到 pythonVersion3_12,以启用所有 ≤3.12 的语法门控(match-case、walrus、 +// parenthesized context managers、PEP 695 泛型等),同时禁用 3.13+ 实验性语法。 +export const viperVersion1_0 = PythonVersion.create(1, 0, 0, 'final', 0); + +// Viper 模式下用于 parser 门控的兼容 Python 版本(3.12)。 +export const viperCompatiblePythonVersion = pythonVersion3_12; diff --git a/packages/pyright-internal/src/common/realFileSystem.ts b/packages/vipeye-internal/src/common/realFileSystem.ts similarity index 100% rename from packages/pyright-internal/src/common/realFileSystem.ts rename to packages/vipeye-internal/src/common/realFileSystem.ts diff --git a/packages/pyright-internal/src/common/serviceKeys.ts b/packages/vipeye-internal/src/common/serviceKeys.ts similarity index 100% rename from packages/pyright-internal/src/common/serviceKeys.ts rename to packages/vipeye-internal/src/common/serviceKeys.ts diff --git a/packages/pyright-internal/src/common/serviceProvider.ts b/packages/vipeye-internal/src/common/serviceProvider.ts similarity index 100% rename from packages/pyright-internal/src/common/serviceProvider.ts rename to packages/vipeye-internal/src/common/serviceProvider.ts diff --git a/packages/pyright-internal/src/common/serviceProviderExtensions.ts b/packages/vipeye-internal/src/common/serviceProviderExtensions.ts similarity index 100% rename from packages/pyright-internal/src/common/serviceProviderExtensions.ts rename to packages/vipeye-internal/src/common/serviceProviderExtensions.ts diff --git a/packages/pyright-internal/src/common/streamUtils.ts b/packages/vipeye-internal/src/common/streamUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/streamUtils.ts rename to packages/vipeye-internal/src/common/streamUtils.ts diff --git a/packages/pyright-internal/src/common/stringUtils.ts b/packages/vipeye-internal/src/common/stringUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/stringUtils.ts rename to packages/vipeye-internal/src/common/stringUtils.ts diff --git a/packages/pyright-internal/src/common/textEditTracker.ts b/packages/vipeye-internal/src/common/textEditTracker.ts similarity index 100% rename from packages/pyright-internal/src/common/textEditTracker.ts rename to packages/vipeye-internal/src/common/textEditTracker.ts diff --git a/packages/pyright-internal/src/common/textRange.ts b/packages/vipeye-internal/src/common/textRange.ts similarity index 100% rename from packages/pyright-internal/src/common/textRange.ts rename to packages/vipeye-internal/src/common/textRange.ts diff --git a/packages/pyright-internal/src/common/textRangeCollection.ts b/packages/vipeye-internal/src/common/textRangeCollection.ts similarity index 100% rename from packages/pyright-internal/src/common/textRangeCollection.ts rename to packages/vipeye-internal/src/common/textRangeCollection.ts diff --git a/packages/pyright-internal/src/common/timing.ts b/packages/vipeye-internal/src/common/timing.ts similarity index 100% rename from packages/pyright-internal/src/common/timing.ts rename to packages/vipeye-internal/src/common/timing.ts diff --git a/packages/pyright-internal/src/common/tomlUtils.ts b/packages/vipeye-internal/src/common/tomlUtils.ts similarity index 100% rename from packages/pyright-internal/src/common/tomlUtils.ts rename to packages/vipeye-internal/src/common/tomlUtils.ts diff --git a/packages/pyright-internal/src/common/uri/baseUri.ts b/packages/vipeye-internal/src/common/uri/baseUri.ts similarity index 95% rename from packages/pyright-internal/src/common/uri/baseUri.ts rename to packages/vipeye-internal/src/common/uri/baseUri.ts index 5a7a109..4f83ac7 100644 --- a/packages/pyright-internal/src/common/uri/baseUri.ts +++ b/packages/vipeye-internal/src/common/uri/baseUri.ts @@ -49,32 +49,32 @@ export abstract class BaseUri implements Uri { // Returns a URI where the path just contains the root folder. abstract get root(): Uri; - // Returns a URI where the path contains the path with .py appended. + // Returns a URI where the path contains the path with .vp appended. @cacheProperty() get packageUri(): Uri { // This is assuming that the current path is a file already. - return this.addExtension('.py'); + return this.addExtension('.vp'); } - // Returns a URI where the path contains the path with .pyi appended. + // Returns a URI where the path contains the path with .vpi appended. @cacheProperty() get packageStubUri(): Uri { // This is assuming that the current path is a file already. - return this.addExtension('.pyi'); + return this.addExtension('.vpi'); } - // Returns a URI where the path has __init__.py appended. + // Returns a URI where the path has __init__.vp appended. @cacheProperty() get initPyUri(): Uri { // This is assuming that the current path is a directory already. - return this.combinePathsUnsafe('__init__.py'); + return this.combinePathsUnsafe('__init__.vp'); } - // Returns a URI where the path has __init__.pyi appended. + // Returns a URI where the path has __init__.vpi appended. @cacheProperty() get initPyiUri(): Uri { // This is assuming that the current path is a directory already. - return this.combinePathsUnsafe('__init__.pyi'); + return this.combinePathsUnsafe('__init__.vpi'); } // Returns a URI where the path has py.typed appended. diff --git a/packages/pyright-internal/src/common/uri/constantUri.ts b/packages/vipeye-internal/src/common/uri/constantUri.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/constantUri.ts rename to packages/vipeye-internal/src/common/uri/constantUri.ts diff --git a/packages/pyright-internal/src/common/uri/emptyUri.ts b/packages/vipeye-internal/src/common/uri/emptyUri.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/emptyUri.ts rename to packages/vipeye-internal/src/common/uri/emptyUri.ts diff --git a/packages/pyright-internal/src/common/uri/fileUri.ts b/packages/vipeye-internal/src/common/uri/fileUri.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/fileUri.ts rename to packages/vipeye-internal/src/common/uri/fileUri.ts diff --git a/packages/pyright-internal/src/common/uri/memoization.ts b/packages/vipeye-internal/src/common/uri/memoization.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/memoization.ts rename to packages/vipeye-internal/src/common/uri/memoization.ts diff --git a/packages/pyright-internal/src/common/uri/uri.ts b/packages/vipeye-internal/src/common/uri/uri.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/uri.ts rename to packages/vipeye-internal/src/common/uri/uri.ts diff --git a/packages/pyright-internal/src/common/uri/uriInterface.ts b/packages/vipeye-internal/src/common/uri/uriInterface.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/uriInterface.ts rename to packages/vipeye-internal/src/common/uri/uriInterface.ts diff --git a/packages/pyright-internal/src/common/uri/uriMap.ts b/packages/vipeye-internal/src/common/uri/uriMap.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/uriMap.ts rename to packages/vipeye-internal/src/common/uri/uriMap.ts diff --git a/packages/pyright-internal/src/common/uri/uriUtils.ts b/packages/vipeye-internal/src/common/uri/uriUtils.ts similarity index 99% rename from packages/pyright-internal/src/common/uri/uriUtils.ts rename to packages/vipeye-internal/src/common/uri/uriUtils.ts index a449e51..290b560 100644 --- a/packages/pyright-internal/src/common/uri/uriUtils.ts +++ b/packages/vipeye-internal/src/common/uri/uriUtils.ts @@ -35,7 +35,7 @@ export interface FileSpec { hasDirectoryWildcard: boolean; } -const _includeFileRegex = /\.pyi?$/; +const _includeFileRegex = /\.vpi?$/; const _wildcardRegex = /[*?]/; export namespace FileSpec { @@ -334,7 +334,7 @@ export function getWildcardRoot(root: Uri, fileSpec: string): Uri { } export function hasPythonExtension(uri: Uri) { - return uri.hasExtension('.py') || uri.hasExtension('.pyi'); + return uri.hasExtension('.vp') || uri.hasExtension('.vpi'); } export function getFileSpec(root: Uri, fileSpec: string): FileSpec { diff --git a/packages/pyright-internal/src/common/uri/webUri.ts b/packages/vipeye-internal/src/common/uri/webUri.ts similarity index 100% rename from packages/pyright-internal/src/common/uri/webUri.ts rename to packages/vipeye-internal/src/common/uri/webUri.ts diff --git a/packages/pyright-internal/src/common/workspaceEditUtils.ts b/packages/vipeye-internal/src/common/workspaceEditUtils.ts similarity index 99% rename from packages/pyright-internal/src/common/workspaceEditUtils.ts rename to packages/vipeye-internal/src/common/workspaceEditUtils.ts index 6f0959a..142d25a 100644 --- a/packages/pyright-internal/src/common/workspaceEditUtils.ts +++ b/packages/vipeye-internal/src/common/workspaceEditUtils.ts @@ -162,7 +162,7 @@ export function applyDocumentChanges(program: EditableProgram, fileInfo: SourceF const version = fileInfo.clientVersion ?? 0; const fileUri = fileInfo.uri; const filePath = fileUri.getFilePath(); - const sourceDoc = TextDocument.create(filePath, 'python', version, fileInfo.contents ?? ''); + const sourceDoc = TextDocument.create(filePath, 'viper', version, fileInfo.contents ?? ''); program.setFileOpened(fileUri, version + 1, TextDocument.applyEdits(sourceDoc, edits), { ipythonMode: fileInfo.ipythonMode, diff --git a/packages/pyright-internal/src/languageServerBase.ts b/packages/vipeye-internal/src/languageServerBase.ts similarity index 94% rename from packages/pyright-internal/src/languageServerBase.ts rename to packages/vipeye-internal/src/languageServerBase.ts index ab171b9..0d71e3d 100644 --- a/packages/pyright-internal/src/languageServerBase.ts +++ b/packages/vipeye-internal/src/languageServerBase.ts @@ -11,6 +11,11 @@ import './common/extensions'; +// Node.js 内置模块(用于语义高亮磁盘缓存目录确定) +import * as os from 'os'; +import * as path from 'path'; +import * as fs from 'fs'; + import { AbstractCancellationTokenSource, CallHierarchyIncomingCallsParams, @@ -62,6 +67,9 @@ import { RemoteWindow, RenameParams, ResultProgressReporter, + SemanticTokens, + SemanticTokensParams, + SemanticTokensRangeParams, SignatureHelp, SignatureHelpParams, SymbolInformation, @@ -99,6 +107,7 @@ import { DocumentRange } from './common/docRange'; import { FileSystem, ReadOnlyFileSystem } from './common/fileSystem'; import { FileWatcherEventType } from './common/fileWatcher'; import { Host } from './common/host'; +import { LogTracker } from './common/logTracker'; import { LanguageServerInterface, ServerOptions, @@ -123,6 +132,11 @@ import { DocumentSymbolProvider } from './languageService/documentSymbolProvider import { DynamicFeature, DynamicFeatures } from './languageService/dynamicFeature'; import { FileWatcherDynamicFeature } from './languageService/fileWatcherDynamicFeature'; import { HoverProvider } from './languageService/hoverProvider'; +import { SemanticTokenProvider } from './languageService/semanticTokenProvider'; +import { + semanticTokenModifiersLegend, + semanticTokenTypesLegend, +} from './languageService/semanticTokenTypes'; import { canNavigateToFile } from './languageService/navigationUtils'; import { ReferencesProvider } from './languageService/referencesProvider'; import { RenameProvider } from './languageService/renameProvider'; @@ -223,6 +237,9 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis protected readonly dynamicFeatures = new DynamicFeatures(); + // Vipeye 语义高亮提供器(Phase A) + private readonly _semanticTokenProvider: SemanticTokenProvider; + constructor(protected serverOptions: ServerOptions, protected connection: Connection) { // Stash the base directory into a global variable. // This must happen before fs.getModulePath(). @@ -241,6 +258,12 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis this.workspaceFactory = this.createWorkspaceFactory(); + // Vipeye 语义高亮提供器初始化(基于 LogTracker 跟踪耗时,启用磁盘缓存) + this._semanticTokenProvider = new SemanticTokenProvider( + new LogTracker(this.console, 'Vipeye'), + this._getSemanticTokenCacheDir() + ); + // Set the working directory to a known location within // the extension directory. Otherwise the execution of // python can have unintended and surprising results. @@ -287,6 +310,22 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis abstract getSettings(workspace: Workspace): Promise; + /** + * 确定语义高亮磁盘缓存目录。 + * 使用 `~/.vipeye/cache/semantic-tokens/`(跨会话持久化)。 + * 若目录创建失败则返回 undefined,回退为仅内存缓存。 + */ + private _getSemanticTokenCacheDir(): string | undefined { + try { + const cacheDir = path.join(os.homedir(), '.vipeye', 'cache', 'semantic-tokens'); + fs.mkdirSync(cacheDir, { recursive: true }); + return cacheDir; + } catch { + // 目录创建失败:禁用磁盘缓存 + return undefined; + } + } + // Creates a service instance that's used for analyzing a // program within a workspace. createAnalyzerService( @@ -566,6 +605,15 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis this.connection.languages.diagnostics.onWorkspace(async (params, token, progress, reporter) => this.onWorkspaceDiagnostics(params, token, progress, reporter) ); + + // Vipeye 语义高亮请求处理器(Phase A) + // 注:vscode-languageserver 类型定义与协议不一致(协议允许 null),此处用 as any 绕过 + const semanticTokens = this.connection.languages.semanticTokens; + semanticTokens.on(((params: SemanticTokensParams, token: CancellationToken) => + this.onSemanticTokensFull(params, token)) as any); + semanticTokens.onRange(((params: SemanticTokensRangeParams, token: CancellationToken) => + this.onSemanticTokensRange(params, token)) as any); + this.connection.onExecuteCommand(async (params, token, reporter) => this.onExecuteCommand(params, token, reporter) ); @@ -691,6 +739,14 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis changeNotifications: true, }, }, + semanticTokensProvider: { + legend: { + tokenTypes: semanticTokenTypesLegend, + tokenModifiers: semanticTokenModifiersLegend, + }, + full: { delta: false }, + range: true, + }, }, }; @@ -871,6 +927,49 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis }, token); } + // Vipeye 语义高亮 - full 请求处理 + protected async onSemanticTokensFull( + params: SemanticTokensParams, + token: CancellationToken + ): Promise { + this.recordUserInteractionTime(); + + const uri = this.convertLspUriStringToUri(params.textDocument.uri); + const workspace = await this.getWorkspaceForFile(uri); + if (workspace.disableLanguageServices) { + return null; + } + + const result = workspace.service.run((program) => { + return this._semanticTokenProvider.provideFull(program, uri); + }, token); + + return result ?? null; + } + + // Vipeye 语义高亮 - range 请求处理 + protected async onSemanticTokensRange( + params: SemanticTokensRangeParams, + token: CancellationToken + ): Promise { + this.recordUserInteractionTime(); + + const uri = this.convertLspUriStringToUri(params.textDocument.uri); + const workspace = await this.getWorkspaceForFile(uri); + if (workspace.disableLanguageServices) { + return null; + } + + const result = workspace.service.run((program) => { + return this._semanticTokenProvider.provideRange(program, uri, { + startLine: params.range.start.line, + endLine: params.range.end.line, + }); + }, token); + + return result ?? null; + } + protected onWorkspaceSymbol( params: WorkspaceSymbolParams, token: CancellationToken, @@ -1108,7 +1207,7 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis } else { doc = TextDocument.create( params.textDocument.uri, - 'python', + params.textDocument.languageId, params.textDocument.version, params.textDocument.text ); @@ -1141,6 +1240,9 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis workspaces.forEach((w) => { w.service.updateOpenFileContents(uri, params.textDocument.version, newContents, ipythonMode); }); + + // Vipeye 语义高亮:文档变更时使缓存失效,强制下次重新生成 token + this._semanticTokenProvider.invalidate(uri); } protected async onDidCloseTextDocument(params: DidCloseTextDocumentParams) { @@ -1155,6 +1257,9 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis workspaces.forEach((w) => { w.service.setFileClosed(uri); }); + + // Vipeye 语义高亮:文档关闭时清理缓存 + this._semanticTokenProvider.invalidate(uri); } protected async onDiagnostics(params: DocumentDiagnosticParams, token: CancellationToken) { diff --git a/packages/pyright-internal/src/languageService/analyzerServiceExecutor.ts b/packages/vipeye-internal/src/languageService/analyzerServiceExecutor.ts similarity index 100% rename from packages/pyright-internal/src/languageService/analyzerServiceExecutor.ts rename to packages/vipeye-internal/src/languageService/analyzerServiceExecutor.ts diff --git a/packages/pyright-internal/src/languageService/autoImporter.ts b/packages/vipeye-internal/src/languageService/autoImporter.ts similarity index 99% rename from packages/pyright-internal/src/languageService/autoImporter.ts rename to packages/vipeye-internal/src/languageService/autoImporter.ts index 8cad91b..5fd2f57 100644 --- a/packages/pyright-internal/src/languageService/autoImporter.ts +++ b/packages/vipeye-internal/src/languageService/autoImporter.ts @@ -479,7 +479,7 @@ export class AutoImporter { const fileDir = uri.getDirectory(); const initPathPy = fileDir.initPyUri; const initPathPyi = fileDir.initPyiUri; - const isStub = uri.hasExtension('.pyi'); + const isStub = uri.hasExtension('.vpi'); const hasInit = map.has(initPathPy.key) || map.has(initPathPyi.key); const sourceFileInfo = this.program.getSourceFileInfo(uri); return { isStub, hasInit, isUserCode: isUserCode(sourceFileInfo) }; diff --git a/packages/pyright-internal/src/languageService/callHierarchyProvider.ts b/packages/vipeye-internal/src/languageService/callHierarchyProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/callHierarchyProvider.ts rename to packages/vipeye-internal/src/languageService/callHierarchyProvider.ts diff --git a/packages/pyright-internal/src/languageService/codeActionProvider.ts b/packages/vipeye-internal/src/languageService/codeActionProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/codeActionProvider.ts rename to packages/vipeye-internal/src/languageService/codeActionProvider.ts diff --git a/packages/pyright-internal/src/languageService/completionProvider.ts b/packages/vipeye-internal/src/languageService/completionProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/completionProvider.ts rename to packages/vipeye-internal/src/languageService/completionProvider.ts diff --git a/packages/pyright-internal/src/languageService/completionProviderUtils.ts b/packages/vipeye-internal/src/languageService/completionProviderUtils.ts similarity index 100% rename from packages/pyright-internal/src/languageService/completionProviderUtils.ts rename to packages/vipeye-internal/src/languageService/completionProviderUtils.ts diff --git a/packages/pyright-internal/src/languageService/definitionProvider.ts b/packages/vipeye-internal/src/languageService/definitionProvider.ts similarity index 98% rename from packages/pyright-internal/src/languageService/definitionProvider.ts rename to packages/vipeye-internal/src/languageService/definitionProvider.ts index 1f41ef4..47072b6 100644 --- a/packages/pyright-internal/src/languageService/definitionProvider.ts +++ b/packages/vipeye-internal/src/languageService/definitionProvider.ts @@ -371,9 +371,9 @@ function _filterSourceMappedDeclarations( } function _isKnownTypingStubDeclaration(decl: Declaration): boolean { - // Scope strictly to the stdlib/typeshed `typing.pyi` stub (mirrors SourceFile.isTypingStubFile) so that a - // user module that shadows `typing` with its own `typing.pyi` never triggers PreferSource alias pruning. - return decl.uri.pathEndsWith('stdlib/typing.pyi'); + // Scope strictly to the stdlib/typeshed `typing.vpi` stub (mirrors SourceFile.isTypingStubFile) so that a + // user module that shadows `typing` with its own `typing.vpi` never triggers PreferSource alias pruning. + return decl.uri.pathEndsWith('stdlib/typing.vpi'); } function _isTypingAliasFactoryVariableDeclaration(decl: Declaration): boolean { diff --git a/packages/pyright-internal/src/languageService/documentHighlightProvider.ts b/packages/vipeye-internal/src/languageService/documentHighlightProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/documentHighlightProvider.ts rename to packages/vipeye-internal/src/languageService/documentHighlightProvider.ts diff --git a/packages/pyright-internal/src/languageService/documentSymbolCollector.ts b/packages/vipeye-internal/src/languageService/documentSymbolCollector.ts similarity index 100% rename from packages/pyright-internal/src/languageService/documentSymbolCollector.ts rename to packages/vipeye-internal/src/languageService/documentSymbolCollector.ts diff --git a/packages/pyright-internal/src/languageService/documentSymbolProvider.ts b/packages/vipeye-internal/src/languageService/documentSymbolProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/documentSymbolProvider.ts rename to packages/vipeye-internal/src/languageService/documentSymbolProvider.ts diff --git a/packages/pyright-internal/src/languageService/dynamicFeature.ts b/packages/vipeye-internal/src/languageService/dynamicFeature.ts similarity index 100% rename from packages/pyright-internal/src/languageService/dynamicFeature.ts rename to packages/vipeye-internal/src/languageService/dynamicFeature.ts diff --git a/packages/pyright-internal/src/languageService/fileWatcherDynamicFeature.ts b/packages/vipeye-internal/src/languageService/fileWatcherDynamicFeature.ts similarity index 100% rename from packages/pyright-internal/src/languageService/fileWatcherDynamicFeature.ts rename to packages/vipeye-internal/src/languageService/fileWatcherDynamicFeature.ts diff --git a/packages/pyright-internal/src/languageService/hoverProvider.ts b/packages/vipeye-internal/src/languageService/hoverProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/hoverProvider.ts rename to packages/vipeye-internal/src/languageService/hoverProvider.ts diff --git a/packages/pyright-internal/src/languageService/importSorter.ts b/packages/vipeye-internal/src/languageService/importSorter.ts similarity index 100% rename from packages/pyright-internal/src/languageService/importSorter.ts rename to packages/vipeye-internal/src/languageService/importSorter.ts diff --git a/packages/pyright-internal/src/languageService/importStatementCandidates.ts b/packages/vipeye-internal/src/languageService/importStatementCandidates.ts similarity index 100% rename from packages/pyright-internal/src/languageService/importStatementCandidates.ts rename to packages/vipeye-internal/src/languageService/importStatementCandidates.ts diff --git a/packages/pyright-internal/src/languageService/navigationUtils.ts b/packages/vipeye-internal/src/languageService/navigationUtils.ts similarity index 100% rename from packages/pyright-internal/src/languageService/navigationUtils.ts rename to packages/vipeye-internal/src/languageService/navigationUtils.ts diff --git a/packages/pyright-internal/src/languageService/pullDiagnosticsDynamicFeature.ts b/packages/vipeye-internal/src/languageService/pullDiagnosticsDynamicFeature.ts similarity index 100% rename from packages/pyright-internal/src/languageService/pullDiagnosticsDynamicFeature.ts rename to packages/vipeye-internal/src/languageService/pullDiagnosticsDynamicFeature.ts diff --git a/packages/pyright-internal/src/languageService/quickActions.ts b/packages/vipeye-internal/src/languageService/quickActions.ts similarity index 100% rename from packages/pyright-internal/src/languageService/quickActions.ts rename to packages/vipeye-internal/src/languageService/quickActions.ts diff --git a/packages/pyright-internal/src/languageService/referencesProvider.ts b/packages/vipeye-internal/src/languageService/referencesProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/referencesProvider.ts rename to packages/vipeye-internal/src/languageService/referencesProvider.ts diff --git a/packages/pyright-internal/src/languageService/renameProvider.ts b/packages/vipeye-internal/src/languageService/renameProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/renameProvider.ts rename to packages/vipeye-internal/src/languageService/renameProvider.ts diff --git a/packages/vipeye-internal/src/languageService/semanticTokenProvider.ts b/packages/vipeye-internal/src/languageService/semanticTokenProvider.ts new file mode 100644 index 0000000..d6e0352 --- /dev/null +++ b/packages/vipeye-internal/src/languageService/semanticTokenProvider.ts @@ -0,0 +1,670 @@ +/* + * semanticTokenProvider.ts + * + * Vipeye 语义高亮提供器。 + * 基于 LSP 3.16 SemanticTokens 协议,复用 Vipeye 的 TypeEvaluator 判断符号定义状态。 + * + * 缓存策略(模仿 Pylance 闭源设计): + * - 内存缓存:Map,文档变更时失效 + * - 磁盘缓存:序列化 token 列表到临时目录,按文件内容 hash 索引 + * - 增量计算:仅当文档分析完成且 hash 变化时重新生成 + * + * Phase A 实现目标: + * - 区分已定义变量(蓝色)和未定义变量(白色/undefined) + * - 基础类型分类:class/function/parameter/namespace + */ + +import { Declaration, DeclarationType, VariableDeclaration } from '../analyzer/declaration'; +import { ParseTreeWalker } from '../analyzer/parseTreeWalker'; +import { TypeCategory } from '../analyzer/types'; +import { TypeEvaluator } from '../analyzer/typeEvaluatorTypes'; +import { LogTracker } from '../common/logTracker'; +import { ProgramView } from '../common/extensibility'; +import { convertOffsetToPosition } from '../common/positionUtils'; +import { TextRange } from '../common/textRange'; +import { TextRangeCollection } from '../common/textRangeCollection'; +import { Uri } from '../common/uri/uri'; +import { + AssignmentNode, + ClassNode, + DecoratorNode, + FormatStringNode, + FunctionNode, + MemberAccessNode, + ModuleNameNode, + ModuleNode, + NameNode, + NumberNode, + ParseNodeType, + StringNode, + TypeAnnotationNode, +} from '../parser/parseNodes'; +import { SemanticTokenModifiers, SemanticTokenTypes } from './semanticTokenTypes'; + +// Node.js 文件系统模块(用于磁盘缓存) +import * as fs from 'fs'; +import * as path from 'path'; + +/** 磁盘缓存条目的最大存活时间(7 天,单位毫秒) */ +const DISK_CACHE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000; + +/** + * Viper 内置类型名集合。 + * 当符号声明为 Class/Function 且名字在此集合中时,使用 `builtin` token 类型。 + * 包含 Viper 语义下的基本类型(int/str/bytes 等)和 Python 兼容内置。 + */ +const BUILTIN_TYPE_NAMES = new Set([ + // 基本类型(Viper 语义:int=i32, str=bytes=i8*, 等) + 'int', 'str', 'bytes', 'bool', 'float', 'complex', + 'list', 'dict', 'set', 'tuple', 'frozenset', 'bytearray', 'memoryview', + 'type', 'object', 'None', 'True', 'False', + // Viper 特有 + 't', 'c', +]); + +/** LSP SemanticTokens 相对编码格式:[deltaLine, deltaStart, length, tokenType, tokenModifiers] */ +type SemanticTokenData = number[]; + +/** 单个 token 原始数据 */ +interface RawToken { + line: number; + startChar: number; + length: number; + tokenType: number; + tokenModifiers: number; +} + +/** 文件缓存条目 */ +interface CacheEntry { + /** 文件内容 hash(用于缓存命中判断) */ + contentHash: string; + /** 编码后的 token 数据 */ + data: SemanticTokenData; + /** 生成时间戳 */ + timestamp: number; +} + +/** + * 语义 token 提供器。 + * 通过遍历 ParseTree 中的 NameNode,结合 TypeEvaluator 判断符号定义状态, + * 生成 LSP SemanticTokens 数据。 + */ +export class SemanticTokenProvider { + /** 内存缓存:uri → 缓存条目 */ + private readonly _memoryCache = new Map(); + /** 日志跟踪器 */ + private readonly _log: LogTracker; + /** 磁盘缓存目录(可选,Phase A 预留接口) */ + private readonly _cacheDir: string | undefined; + + constructor(log: LogTracker, cacheDir?: string) { + this._log = log; + this._cacheDir = cacheDir; + } + + /** + * 提供完整文档的语义 token。 + * @param program Vipeye ProgramView 实例 + * @param fileUri 文件 URI + * @returns LSP SemanticTokens(相对编码),若无分析结果返回 undefined + */ + provideFull(program: ProgramView, fileUri: Uri): { data: SemanticTokenData } | undefined { + return this._log.log(`SemanticTokenProvider.provideFull ${fileUri}`, () => { + const parseResults = program.getParseResults(fileUri); + if (!parseResults) { + return undefined; + } + + const parserOutput = parseResults.parserOutput; + if (!parserOutput) { + return undefined; + } + + // 计算文件内容 hash,用于缓存命中判断 + const contentHash = this._computeHash(parseResults.text); + const cacheKey = fileUri.toString(); + + // 内存缓存命中 + const cached = this._memoryCache.get(cacheKey); + if (cached && cached.contentHash === contentHash) { + return { data: cached.data }; + } + + // 磁盘缓存命中(若启用,Phase A 预留) + if (this._cacheDir) { + const diskCached = this._tryLoadFromDisk(cacheKey, contentHash); + if (diskCached) { + this._memoryCache.set(cacheKey, diskCached); + return { data: diskCached.data }; + } + } + + // 生成新 token + const evaluator = program.evaluator; + if (!evaluator) { + return undefined; + } + + const tokens = this._collectTokens(parserOutput.parseTree, parserOutput.lines, evaluator); + const data = this._encodeTokens(tokens); + + const entry: CacheEntry = { + contentHash, + data, + timestamp: Date.now(), + }; + this._memoryCache.set(cacheKey, entry); + + // 异步写入磁盘缓存(Phase A 预留) + if (this._cacheDir) { + this._trySaveToDisk(cacheKey, entry); + } + + return { data }; + }); + } + + /** + * 提供指定范围的语义 token。 + * 当前实现先生成完整 token 再过滤,后续可优化为仅遍历范围节点。 + */ + provideRange( + program: ProgramView, + fileUri: Uri, + range: { startLine: number; endLine: number } + ): { data: SemanticTokenData } | undefined { + const full = this.provideFull(program, fileUri); + if (!full) { + return undefined; + } + + // 解码后过滤范围,再重新编码 + const tokens = this._decodeTokens(full.data); + const filtered = tokens.filter( + (t) => t.line >= range.startLine && t.line <= range.endLine + ); + return { data: this._encodeTokens(filtered) }; + } + + /** 使指定文件的缓存失效(文档变更时调用) */ + invalidate(uri: Uri): void { + this._memoryCache.delete(uri.toString()); + // 同步删除磁盘缓存(避免下次加载到过期数据) + if (this._cacheDir) { + this._tryDeleteFromDisk(this._getCacheFilePath(uri.toString())); + } + } + + /** 清空所有缓存(内存 + 磁盘) */ + clear(): void { + this._memoryCache.clear(); + if (this._cacheDir) { + try { + const entries = fs.readdirSync(this._cacheDir); + for (const entry of entries) { + if (entry.endsWith('.json')) { + fs.unlinkSync(path.join(this._cacheDir, entry)); + } + } + } catch { + // 忽略清理失败 + } + } + } + + /** + * 遍历 ParseTree 收集所有 NameNode 的语义 token。 + * 使用 ParseTreeWalker 确保遍历完整性。 + */ + private _collectTokens( + parseTree: ModuleNode, + lines: TextRangeCollection, + evaluator: TypeEvaluator + ): RawToken[] { + const tokens: RawToken[] = []; + const walker = new SemanticTokenWalker(evaluator, lines); + walker.walk(parseTree); + + // 按位置排序(LSP 要求) + for (const token of walker.tokens) { + tokens.push(token); + } + tokens.sort((a, b) => { + if (a.line !== b.line) return a.line - b.line; + return a.startChar - b.startChar; + }); + + return tokens; + } + + /** + * 将 RawToken 列表编码为 LSP 相对编码格式。 + * 每个 token 占 5 个数字:[deltaLine, deltaStart, length, tokenType, tokenModifiers] + */ + private _encodeTokens(tokens: RawToken[]): SemanticTokenData { + const data: SemanticTokenData = []; + let prevLine = 0; + let prevStartChar = 0; + + for (const token of tokens) { + const deltaLine = token.line - prevLine; + const deltaStart = deltaLine === 0 ? token.startChar - prevStartChar : token.startChar; + + data.push(deltaLine, deltaStart, token.length, token.tokenType, token.tokenModifiers); + + prevLine = token.line; + prevStartChar = token.startChar; + } + + return data; + } + + /** 将 LSP 相对编码解码为 RawToken 列表(用于 range 过滤) */ + private _decodeTokens(data: SemanticTokenData): RawToken[] { + const tokens: RawToken[] = []; + let prevLine = 0; + let prevStartChar = 0; + + for (let i = 0; i < data.length; i += 5) { + const deltaLine = data[i]; + const deltaStart = data[i + 1]; + const length = data[i + 2]; + const tokenType = data[i + 3]; + const tokenModifiers = data[i + 4]; + + const line = prevLine + deltaLine; + const startChar = deltaLine === 0 ? prevStartChar + deltaStart : deltaStart; + + tokens.push({ + line, + startChar, + length, + tokenType, + tokenModifiers, + }); + + prevLine = line; + prevStartChar = startChar; + } + + return tokens; + } + + /** 计算字符串 hash(简单 FNV-1a 变体,足够缓存命中判断) */ + private _computeHash(text: string): string { + let hash = 2166136261; + for (let i = 0; i < text.length; i++) { + hash ^= text.charCodeAt(i); + hash = Math.imul(hash, 16777619); + } + return (hash >>> 0).toString(16); + } + + /** 根据缓存 key(uri 字符串)计算磁盘缓存文件路径 */ + private _getCacheFilePath(key: string): string { + const uriHash = this._computeHash(key); + return path.join(this._cacheDir!, `${uriHash}.json`); + } + + /** + * 尝试从磁盘加载缓存。 + * 同步读取(在关键路径上),验证 contentHash 并检查过期时间。 + */ + private _tryLoadFromDisk(key: string, expectedHash: string): CacheEntry | undefined { + if (!this._cacheDir) { + return undefined; + } + + const filePath = this._getCacheFilePath(key); + try { + if (!fs.existsSync(filePath)) { + return undefined; + } + + const stat = fs.statSync(filePath); + const age = Date.now() - stat.mtimeMs; + if (age > DISK_CACHE_MAX_AGE_MS) { + // 过期:删除并返回未命中 + this._tryDeleteFromDisk(filePath); + return undefined; + } + + const content = fs.readFileSync(filePath, 'utf8'); + const entry = JSON.parse(content) as CacheEntry; + + // 验证 contentHash(确保文件内容未变) + if (entry.contentHash !== expectedHash) { + return undefined; + } + + return entry; + } catch { + // 读取/解析失败:忽略,视为未命中 + return undefined; + } + } + + /** + * 尝试保存缓存到磁盘。 + * 异步写入(不阻塞响应路径),失败时静默忽略。 + */ + private _trySaveToDisk(key: string, entry: CacheEntry): void { + if (!this._cacheDir) { + return; + } + + const filePath = this._getCacheFilePath(key); + // 序列化(含 contentHash 用于加载时验证) + const content = JSON.stringify(entry); + + // 异步写入:fire-and-forget,错误时仅记录日志 + fs.promises + .writeFile(filePath, content, 'utf8') + .catch(() => { + // 写入失败不影响功能,仅忽略 + }); + } + + /** 尝试删除磁盘缓存文件(忽略错误) */ + private _tryDeleteFromDisk(filePath: string): void { + try { + if (fs.existsSync(filePath)) { + fs.unlinkSync(filePath); + } + } catch { + // 删除失败不影响功能 + } + } +} + +/** + * ParseTree 遍历器,访问所有 NameNode 并生成语义 token。 + */ +class SemanticTokenWalker extends ParseTreeWalker { + /** 收集到的 token 列表 */ + readonly tokens: RawToken[] = []; + private readonly _evaluator: TypeEvaluator; + /** 文件行集合(用于偏移转换) */ + private readonly _lines: TextRangeCollection; + + constructor(evaluator: TypeEvaluator, lines: TextRangeCollection) { + super(); + this._evaluator = evaluator; + this._lines = lines; + } + + /** 访问 NameNode:核心语义分类逻辑 */ + override visitName(node: NameNode): boolean { + const token = this._classifyNameNode(node); + if (token) { + this.tokens.push(token); + } + return true; + } + + /** 访问 ModuleNameNode:import 语句中的模块名路径部分 → namespace。 + * 返回 false 阻止遍历 nameParts(避免重复 token,因 visitName 也会处理) */ + override visitModuleName(node: ModuleNameNode): boolean { + for (const part of node.d.nameParts) { + const position = convertOffsetToPosition(part.start, this._lines); + if (position && part.length > 0) { + this.tokens.push({ + line: position.line, + startChar: position.character, + length: part.length, + tokenType: SemanticTokenTypes.namespace, + tokenModifiers: 0, + }); + } + } + return false; + } + + /** 访问 MemberAccessNode:成员访问的 .name → 按 member 声明分类。 + * 返回 false 阻止遍历 member(避免 visitName 重复处理),手动遍历 leftExpr。 + * 使用 _classifyNameNode 复用声明信息查询逻辑,确保类型别名/类/函数等 + * 在成员访问位置(如 t.CInt)也能正确分类。 */ + override visitMemberAccess(node: MemberAccessNode): boolean { + const member = node.d.member; + // 复用 _classifyNameNode 逻辑(基于 getDeclInfoForNameNode + getType) + const token = this._classifyNameNode(member); + if (token) { + this.tokens.push(token); + } + // 手动遍历左侧表达式(如 obj.prop 中的 obj) + this.walk(node.d.leftExpr); + return false; + } + + /** 访问 StringNode:字符串字面量 → string */ + override visitString(node: StringNode): boolean { + this._pushLiteralToken(node.start, node.length, SemanticTokenTypes.string); + return true; + } + + /** 访问 DecoratorNode:@decoratorName → decorator 类型。 + * 返回 false 阻止默认遍历 expr,避免重复 token */ + override visitDecorator(node: DecoratorNode): boolean { + const expr = node.d.expr; + + if (expr.nodeType === ParseNodeType.Name) { + // 简单装饰器:@decoratorName + const position = convertOffsetToPosition(expr.start, this._lines); + if (position && expr.length > 0) { + this.tokens.push({ + line: position.line, + startChar: position.character, + length: expr.length, + tokenType: SemanticTokenTypes.decorator, + tokenModifiers: 0, + }); + } + return false; + } + + // 复杂装饰器:@module.decoratorName 或 @decorator(args) + // 手动遍历 expr,让内部节点按正常逻辑分类 + this.walk(expr); + return false; + } + + /** 访问 NumberNode:数字字面量 → number */ + override visitNumber(node: NumberNode): boolean { + this._pushLiteralToken(node.start, node.length, SemanticTokenTypes.number); + return true; + } + + /** 辅助:推入字面量 token(string/number 等) */ + private _pushLiteralToken(start: number, length: number, tokenType: number): void { + if (length <= 0) { + return; + } + const position = convertOffsetToPosition(start, this._lines); + if (!position) { + return; + } + this.tokens.push({ + line: position.line, + startChar: position.character, + length, + tokenType, + tokenModifiers: 0, + }); + } + + /** + * 分类 NameNode 的语义类型。 + * 通过 getDeclInfoForNameNode 判断是否已定义,再根据 DeclarationType 和 TypeCategory 细分。 + * + * 完善功能: + * - definition 修饰符:当 NameNode 处于声明位置时添加 + * - self/cls 参数:特殊处理为 parameter + readonly + * - 常量识别:全大写名变量添加 readonly 修饰符 + */ + private _classifyNameNode(node: NameNode): RawToken | undefined { + const length = node.length; + if (length <= 0) { + return undefined; + } + + // 查询符号声明信息 + const declInfo = this._evaluator.getDeclInfoForNameNode(node); + const type = this._evaluator.getType(node); + + let tokenType: number; + let tokenModifiers = 0; + const nameText = node.d.value; + + // 判断是否处于声明位置(定义点 vs 引用点) + const isDefinition = this._isDefinitionSite(node); + const defMod = isDefinition + ? SemanticTokenModifiers.declaration | SemanticTokenModifiers.definition + : 0; + + if (!declInfo || !declInfo.decls || declInfo.decls.length === 0) { + // 未定义符号 → 白色(默认前景) + tokenType = SemanticTokenTypes.undefined; + } else { + const decl: Declaration | undefined = declInfo.decls[0]; + const declType = decl?.type; + + // 根据声明类型分类 + switch (declType) { + case DeclarationType.Class: + case DeclarationType.SpecialBuiltInClass: + // 内置类型(int/str/bytes 等)→ builtin 类型 + if (BUILTIN_TYPE_NAMES.has(nameText)) { + tokenType = SemanticTokenTypes.builtin; + } else { + tokenType = SemanticTokenTypes.class; + } + tokenModifiers |= defMod; + break; + case DeclarationType.Function: + tokenType = SemanticTokenTypes.function; + tokenModifiers |= defMod; + break; + case DeclarationType.Param: + tokenType = SemanticTokenTypes.parameter; + // self/cls 参数:添加 readonly 修饰符 + if (nameText === 'self' || nameText === 'cls') { + tokenModifiers |= SemanticTokenModifiers.readonly; + } + break; + case DeclarationType.Alias: + // import 的模块别名 + tokenType = SemanticTokenTypes.namespace; + tokenModifiers |= defMod; + break; + case DeclarationType.TypeAlias: + tokenType = SemanticTokenTypes.type; + tokenModifiers |= defMod; + break; + case DeclarationType.TypeParam: + tokenType = SemanticTokenTypes.type; + tokenModifiers |= defMod; + break; + case DeclarationType.Intrinsic: + // 内置符号(None/True/False/__class__ 等)→ builtin + readonly + tokenType = SemanticTokenTypes.builtin; + tokenModifiers |= SemanticTokenModifiers.readonly; + break; + case DeclarationType.Variable: { + // 检查是否是类型别名声明(`Name: TypeAlias = type`) + const varDecl = decl as VariableDeclaration; + if (varDecl.typeAliasName && varDecl.typeAnnotationNode) { + const annNode = varDecl.typeAnnotationNode as any; + if (annNode.nodeType === ParseNodeType.Name && annNode.d?.value === 'TypeAlias') { + tokenType = SemanticTokenTypes.type; + tokenModifiers |= defMod; + break; + } + } + // 普通变量 → variable(蓝色) + tokenType = SemanticTokenTypes.variable; + tokenModifiers |= defMod; + // 常量识别:全大写名(含下划线/数字)添加 readonly 修饰符 + if (/^[A-Z][A-Z0-9_]*$/.test(nameText) && nameText.length > 1) { + tokenModifiers |= SemanticTokenModifiers.readonly; + } + break; + } + default: + // 根据推导类型进一步分类 + if (type) { + if (type.category === TypeCategory.Class) { + tokenType = BUILTIN_TYPE_NAMES.has(nameText) + ? SemanticTokenTypes.builtin + : SemanticTokenTypes.class; + } else if (type.category === TypeCategory.Function || + type.category === TypeCategory.Overloaded) { + tokenType = SemanticTokenTypes.function; + } else if (type.category === TypeCategory.Module) { + tokenType = SemanticTokenTypes.namespace; + } else if (type.category === TypeCategory.TypeVar) { + tokenType = SemanticTokenTypes.type; + } else { + tokenType = SemanticTokenTypes.variable; + } + } else { + tokenType = SemanticTokenTypes.variable; + } + tokenModifiers |= defMod; + break; + } + } + + // 转换偏移为 line/char + const position = convertOffsetToPosition(node.start, this._lines); + if (!position) { + return undefined; + } + + return { + line: position.line, + startChar: position.character, + length, + tokenType, + tokenModifiers, + }; + } + + /** + * 判断 NameNode 是否处于声明位置(定义点而非引用点)。 + * 通过检查父节点类型和字段位置确定。 + * + * 判定规则: + * - FunctionNode.d.name:函数定义名 + * - ClassNode.d.name:类定义名 + * - AssignmentNode.d.leftExpr(当 leftExpr 是 NameNode):赋值左侧 + * - TypeAnnotationNode.d.valueExpr(当 valueExpr 是 NameNode):类型注解左侧 + */ + private _isDefinitionSite(node: NameNode): boolean { + const parent = node.parent; + if (!parent) { + return false; + } + + // 函数定义名:def foo() 中的 foo + if (parent.nodeType === ParseNodeType.Function) { + return (parent as FunctionNode).d.name === node; + } + + // 类定义名:class Foo 中的 Foo + if (parent.nodeType === ParseNodeType.Class) { + return (parent as ClassNode).d.name === node; + } + + // 赋值左侧:foo = 1 中的 foo + if (parent.nodeType === ParseNodeType.Assignment) { + return (parent as AssignmentNode).d.leftExpr === node; + } + + // 类型注解左侧:foo: int 中的 foo + if (parent.nodeType === ParseNodeType.TypeAnnotation) { + return (parent as TypeAnnotationNode).d.valueExpr === node; + } + + return false; + } +} diff --git a/packages/vipeye-internal/src/languageService/semanticTokenTypes.ts b/packages/vipeye-internal/src/languageService/semanticTokenTypes.ts new file mode 100644 index 0000000..4c705e4 --- /dev/null +++ b/packages/vipeye-internal/src/languageService/semanticTokenTypes.ts @@ -0,0 +1,82 @@ +/* + * semanticTokenTypes.ts + * + * Vipeye 语义高亮 token 类型与修饰符定义。 + * 参考 LSP 3.16 SemanticTokens 规范。 + * + * tokenTypes 数组索引即 token type 编码(LSP 协议要求)。 + * tokenModifiers 数组索引即 bit 位(按位或组合)。 + */ + +/** 语义 token 类型(索引即编码) */ +export const enum SemanticTokenTypes { + /** 命名空间/模块 */ + namespace = 0, + /** 类 */ + class = 1, + /** 函数 */ + function = 2, + /** 已定义变量 */ + variable = 3, + /** 函数参数 */ + parameter = 4, + /** 类型注解 */ + type = 5, + /** 内置类型/函数 */ + builtin = 6, + /** 关键字 */ + keyword = 7, + /** 字符串 */ + string = 8, + /** 数字 */ + number = 9, + /** 注释 */ + comment = 10, + /** 未定义符号(显示为主题默认前景色,通常白色) */ + undefined = 11, + /** 装饰器 */ + decorator = 12, + /** 属性 */ + property = 13, +} + +/** 语义 token 修饰符(位掩码) */ +export const enum SemanticTokenModifiers { + /** 声明处 */ + declaration = 1 << 0, + /** 定义处 */ + definition = 1 << 1, + /** 只读 */ + readonly = 1 << 2, + /** 静态 */ + static = 1 << 3, + /** 弃用 */ + deprecated = 1 << 4, +} + +/** LSP legend 中的 tokenTypes 字符串列表(顺序与枚举值对应) */ +export const semanticTokenTypesLegend: string[] = [ + 'namespace', + 'class', + 'function', + 'variable', + 'parameter', + 'type', + 'builtin', + 'keyword', + 'string', + 'number', + 'comment', + 'undefined', + 'decorator', + 'property', +]; + +/** LSP legend 中的 tokenModifiers 字符串列表(顺序与 bit 位对应) */ +export const semanticTokenModifiersLegend: string[] = [ + 'declaration', + 'definition', + 'readonly', + 'static', + 'deprecated', +]; diff --git a/packages/pyright-internal/src/languageService/signatureHelpProvider.ts b/packages/vipeye-internal/src/languageService/signatureHelpProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/signatureHelpProvider.ts rename to packages/vipeye-internal/src/languageService/signatureHelpProvider.ts diff --git a/packages/pyright-internal/src/languageService/symbolIndexer.ts b/packages/vipeye-internal/src/languageService/symbolIndexer.ts similarity index 100% rename from packages/pyright-internal/src/languageService/symbolIndexer.ts rename to packages/vipeye-internal/src/languageService/symbolIndexer.ts diff --git a/packages/pyright-internal/src/languageService/tooltipUtils.ts b/packages/vipeye-internal/src/languageService/tooltipUtils.ts similarity index 100% rename from packages/pyright-internal/src/languageService/tooltipUtils.ts rename to packages/vipeye-internal/src/languageService/tooltipUtils.ts diff --git a/packages/pyright-internal/src/languageService/workspaceSymbolProvider.ts b/packages/vipeye-internal/src/languageService/workspaceSymbolProvider.ts similarity index 100% rename from packages/pyright-internal/src/languageService/workspaceSymbolProvider.ts rename to packages/vipeye-internal/src/languageService/workspaceSymbolProvider.ts diff --git a/packages/pyright-internal/src/localization/localize.ts b/packages/vipeye-internal/src/localization/localize.ts similarity index 100% rename from packages/pyright-internal/src/localization/localize.ts rename to packages/vipeye-internal/src/localization/localize.ts diff --git a/packages/pyright-internal/src/localization/package.nls.cs.json b/packages/vipeye-internal/src/localization/package.nls.cs.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.cs.json rename to packages/vipeye-internal/src/localization/package.nls.cs.json diff --git a/packages/pyright-internal/src/localization/package.nls.de.json b/packages/vipeye-internal/src/localization/package.nls.de.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.de.json rename to packages/vipeye-internal/src/localization/package.nls.de.json diff --git a/packages/pyright-internal/src/localization/package.nls.en-us.json b/packages/vipeye-internal/src/localization/package.nls.en-us.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.en-us.json rename to packages/vipeye-internal/src/localization/package.nls.en-us.json diff --git a/packages/pyright-internal/src/localization/package.nls.es.json b/packages/vipeye-internal/src/localization/package.nls.es.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.es.json rename to packages/vipeye-internal/src/localization/package.nls.es.json diff --git a/packages/pyright-internal/src/localization/package.nls.fr.json b/packages/vipeye-internal/src/localization/package.nls.fr.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.fr.json rename to packages/vipeye-internal/src/localization/package.nls.fr.json diff --git a/packages/pyright-internal/src/localization/package.nls.it.json b/packages/vipeye-internal/src/localization/package.nls.it.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.it.json rename to packages/vipeye-internal/src/localization/package.nls.it.json diff --git a/packages/pyright-internal/src/localization/package.nls.ja.json b/packages/vipeye-internal/src/localization/package.nls.ja.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.ja.json rename to packages/vipeye-internal/src/localization/package.nls.ja.json diff --git a/packages/pyright-internal/src/localization/package.nls.ko.json b/packages/vipeye-internal/src/localization/package.nls.ko.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.ko.json rename to packages/vipeye-internal/src/localization/package.nls.ko.json diff --git a/packages/pyright-internal/src/localization/package.nls.pl.json b/packages/vipeye-internal/src/localization/package.nls.pl.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.pl.json rename to packages/vipeye-internal/src/localization/package.nls.pl.json diff --git a/packages/pyright-internal/src/localization/package.nls.pt-br.json b/packages/vipeye-internal/src/localization/package.nls.pt-br.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.pt-br.json rename to packages/vipeye-internal/src/localization/package.nls.pt-br.json diff --git a/packages/pyright-internal/src/localization/package.nls.qps-ploc.json b/packages/vipeye-internal/src/localization/package.nls.qps-ploc.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.qps-ploc.json rename to packages/vipeye-internal/src/localization/package.nls.qps-ploc.json diff --git a/packages/pyright-internal/src/localization/package.nls.ru.json b/packages/vipeye-internal/src/localization/package.nls.ru.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.ru.json rename to packages/vipeye-internal/src/localization/package.nls.ru.json diff --git a/packages/pyright-internal/src/localization/package.nls.tr.json b/packages/vipeye-internal/src/localization/package.nls.tr.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.tr.json rename to packages/vipeye-internal/src/localization/package.nls.tr.json diff --git a/packages/pyright-internal/src/localization/package.nls.zh-cn.json b/packages/vipeye-internal/src/localization/package.nls.zh-cn.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.zh-cn.json rename to packages/vipeye-internal/src/localization/package.nls.zh-cn.json diff --git a/packages/pyright-internal/src/localization/package.nls.zh-tw.json b/packages/vipeye-internal/src/localization/package.nls.zh-tw.json similarity index 100% rename from packages/pyright-internal/src/localization/package.nls.zh-tw.json rename to packages/vipeye-internal/src/localization/package.nls.zh-tw.json diff --git a/packages/pyright-internal/src/nodeMain.ts b/packages/vipeye-internal/src/nodeMain.ts similarity index 100% rename from packages/pyright-internal/src/nodeMain.ts rename to packages/vipeye-internal/src/nodeMain.ts diff --git a/packages/pyright-internal/src/nodeServer.ts b/packages/vipeye-internal/src/nodeServer.ts similarity index 100% rename from packages/pyright-internal/src/nodeServer.ts rename to packages/vipeye-internal/src/nodeServer.ts diff --git a/packages/pyright-internal/src/parser/characterStream.ts b/packages/vipeye-internal/src/parser/characterStream.ts similarity index 100% rename from packages/pyright-internal/src/parser/characterStream.ts rename to packages/vipeye-internal/src/parser/characterStream.ts diff --git a/packages/pyright-internal/src/parser/characters.ts b/packages/vipeye-internal/src/parser/characters.ts similarity index 100% rename from packages/pyright-internal/src/parser/characters.ts rename to packages/vipeye-internal/src/parser/characters.ts diff --git a/packages/pyright-internal/src/parser/parseNodeUtils.ts b/packages/vipeye-internal/src/parser/parseNodeUtils.ts similarity index 100% rename from packages/pyright-internal/src/parser/parseNodeUtils.ts rename to packages/vipeye-internal/src/parser/parseNodeUtils.ts diff --git a/packages/pyright-internal/src/parser/parseNodes.ts b/packages/vipeye-internal/src/parser/parseNodes.ts similarity index 100% rename from packages/pyright-internal/src/parser/parseNodes.ts rename to packages/vipeye-internal/src/parser/parseNodes.ts diff --git a/packages/pyright-internal/src/parser/parser.ts b/packages/vipeye-internal/src/parser/parser.ts similarity index 99% rename from packages/pyright-internal/src/parser/parser.ts rename to packages/vipeye-internal/src/parser/parser.ts index ee6b045..ef5bd04 100644 --- a/packages/pyright-internal/src/parser/parser.ts +++ b/packages/vipeye-internal/src/parser/parser.ts @@ -16,6 +16,7 @@ import { appendArray } from '../common/collectionUtils'; import { assert } from '../common/debug'; import { Diagnostic, DiagnosticAddendum } from '../common/diagnostic'; import { DiagnosticSink } from '../common/diagnosticSink'; +import { IsViperDialect, LanguageDialect } from '../common/dialect'; import { convertOffsetsToRange } from '../common/positionUtils'; import { PythonVersion, @@ -172,6 +173,8 @@ export class ParseOptions { skipFunctionAndClassBody: boolean; useNotebookMode: boolean; reportErrorsForParsedStringContents: boolean; + // Viper 方言开关;undefined 表示使用默认 Python 语义。 + dialect: LanguageDialect | undefined; constructor() { this.isStubFile = false; @@ -180,6 +183,7 @@ export class ParseOptions { this.skipFunctionAndClassBody = false; this.useNotebookMode = false; this.reportErrorsForParsedStringContents = false; + this.dialect = undefined; } } @@ -549,7 +553,11 @@ export class Parser { private _parseTypeAliasStatement(): TypeAliasNode { const typeToken = this._getKeywordToken(KeywordType.Type); - if (!this._parseOptions.isStubFile && PythonVersion.isLessThan(this._getLanguageVersion(), pythonVersion3_12)) { + if ( + !this._parseOptions.isStubFile && + !IsViperDialect(this._parseOptions.dialect) && + PythonVersion.isLessThan(this._getLanguageVersion(), pythonVersion3_12) + ) { this._addSyntaxError(LocMessage.typeAliasStatementIllegal(), typeToken); } @@ -2047,6 +2055,7 @@ export class Parser { if ( !this._parseOptions.isStubFile && + !IsViperDialect(this._parseOptions.dialect) && PythonVersion.isLessThan(this._getLanguageVersion(), pythonVersion3_12) ) { this._addSyntaxError(LocMessage.functionTypeParametersIllegal(), typeParameters); @@ -2549,6 +2558,7 @@ export class Parser { if ( !this._parseOptions.isStubFile && + !IsViperDialect(this._parseOptions.dialect) && PythonVersion.isLessThan(this._getLanguageVersion(), pythonVersion3_12) ) { this._addSyntaxError(LocMessage.classTypeParametersIllegal(), typeParameters); diff --git a/packages/pyright-internal/src/parser/stringTokenUtils.ts b/packages/vipeye-internal/src/parser/stringTokenUtils.ts similarity index 100% rename from packages/pyright-internal/src/parser/stringTokenUtils.ts rename to packages/vipeye-internal/src/parser/stringTokenUtils.ts diff --git a/packages/pyright-internal/src/parser/tokenizer.ts b/packages/vipeye-internal/src/parser/tokenizer.ts similarity index 99% rename from packages/pyright-internal/src/parser/tokenizer.ts rename to packages/vipeye-internal/src/parser/tokenizer.ts index 2a7d464..468e9d0 100644 --- a/packages/pyright-internal/src/parser/tokenizer.ts +++ b/packages/vipeye-internal/src/parser/tokenizer.ts @@ -1806,6 +1806,21 @@ export class Tokenizer { }; this._pyrightIgnoreLines.set(this._lineRanges.length, ignoreComment); } + + // 同时支持 "# viper: ignore" 注释指令(与 "# pyright: ignore" 等价)。 + const viperIgnoreMatch = matchIgnoreDirective(sourceText, start, end, 'viper'); + if (viperIgnoreMatch) { + const commentStart = viperIgnoreMatch.index; + const textRange: TextRange = { + start: commentStart + viperIgnoreMatch.prefix.length, + length: viperIgnoreMatch.fullMatch.length - viperIgnoreMatch.prefix.length, + }; + const ignoreComment: IgnoreComment = { + range: textRange, + rulesList: this._getIgnoreCommentRulesList(commentStart, viperIgnoreMatch), + }; + this._pyrightIgnoreLines.set(this._lineRanges.length, ignoreComment); + } } const comment = Comment.create(start, length, sourceText.slice(start, end)); diff --git a/packages/pyright-internal/src/parser/tokenizerTypes.ts b/packages/vipeye-internal/src/parser/tokenizerTypes.ts similarity index 100% rename from packages/pyright-internal/src/parser/tokenizerTypes.ts rename to packages/vipeye-internal/src/parser/tokenizerTypes.ts diff --git a/packages/pyright-internal/src/parser/unicode.ts b/packages/vipeye-internal/src/parser/unicode.ts similarity index 100% rename from packages/pyright-internal/src/parser/unicode.ts rename to packages/vipeye-internal/src/parser/unicode.ts diff --git a/packages/pyright-internal/src/partialStubService.ts b/packages/vipeye-internal/src/partialStubService.ts similarity index 99% rename from packages/pyright-internal/src/partialStubService.ts rename to packages/vipeye-internal/src/partialStubService.ts index 6f2f21c..651a59f 100644 --- a/packages/pyright-internal/src/partialStubService.ts +++ b/packages/vipeye-internal/src/partialStubService.ts @@ -122,7 +122,7 @@ export class PartialStubService implements SupportPartialStubs { this._realFs.mapDirectory( packagePath, partialStubPackagePath, - (u, fs) => u.hasExtension('.pyi') || (fs.existsSync(u) && fs.statSync(u).isDirectory()) + (u, fs) => u.hasExtension('.vpi') || (fs.existsSync(u) && fs.statSync(u).isDirectory()) ) ); } catch { diff --git a/packages/pyright-internal/src/pprof/profiler.ts b/packages/vipeye-internal/src/pprof/profiler.ts similarity index 97% rename from packages/pyright-internal/src/pprof/profiler.ts rename to packages/vipeye-internal/src/pprof/profiler.ts index 941b547..ff938d8 100644 --- a/packages/pyright-internal/src/pprof/profiler.ts +++ b/packages/vipeye-internal/src/pprof/profiler.ts @@ -16,7 +16,7 @@ ○ It should be named something like bin\win32-x64-110\pprof-nodejs.node ○ Copy it to the node_modules\@datadog\pprof\prebuilds\win32-x64 ○ Rename it to electron-110.node (or whatever ABI version it is using) - - Modify pylance to use pprof around problem location using the pyright\packages\pyright-internal\pprof\profiler.ts + - Modify pylance to use pprof around problem location using the pyright\packages\vipeye-internal\pprof\profiler.ts ○ startProfile before ○ finishProfile after, passing it a file name - Rebuild Pylance diff --git a/packages/pyright-internal/src/pyright.ts b/packages/vipeye-internal/src/pyright.ts similarity index 100% rename from packages/pyright-internal/src/pyright.ts rename to packages/vipeye-internal/src/pyright.ts diff --git a/packages/pyright-internal/src/pyrightFileSystem.ts b/packages/vipeye-internal/src/pyrightFileSystem.ts similarity index 100% rename from packages/pyright-internal/src/pyrightFileSystem.ts rename to packages/vipeye-internal/src/pyrightFileSystem.ts diff --git a/packages/pyright-internal/src/readonlyAugmentedFileSystem.ts b/packages/vipeye-internal/src/readonlyAugmentedFileSystem.ts similarity index 100% rename from packages/pyright-internal/src/readonlyAugmentedFileSystem.ts rename to packages/vipeye-internal/src/readonlyAugmentedFileSystem.ts diff --git a/packages/pyright-internal/src/server.ts b/packages/vipeye-internal/src/server.ts similarity index 75% rename from packages/pyright-internal/src/server.ts rename to packages/vipeye-internal/src/server.ts index 53fba86..621627c 100644 --- a/packages/pyright-internal/src/server.ts +++ b/packages/vipeye-internal/src/server.ts @@ -18,7 +18,6 @@ import { import { AnalysisResults } from './analyzer/analysis'; import { CacheManager } from './analyzer/cacheManager'; import { ImportResolver } from './analyzer/importResolver'; -import { isPythonBinary } from './analyzer/pythonPathUtils'; import { BackgroundAnalysis } from './backgroundAnalysis'; import { IBackgroundAnalysis } from './backgroundAnalysisBase'; import { CommandController } from './commands/commandController'; @@ -112,22 +111,11 @@ export class PyrightServer extends LanguageServerBase { try { const workspaces = this.workspaceFactory.getNonDefaultWorkspaces(WellKnownWorkspaceKinds.Regular); - const pythonSection = await this.getConfiguration(workspace.rootUri, 'python'); - if (pythonSection) { - const pythonPath = pythonSection.pythonPath; - if (pythonPath && isString(pythonPath) && !isPythonBinary(pythonPath)) { - serverSettings.pythonPath = resolvePathWithEnvVariables(workspace, pythonPath, workspaces); - } + const viperSection = await this.getConfiguration(workspace.rootUri, 'viper'); - const venvPath = pythonSection.venvPath; - if (venvPath && isString(venvPath)) { - serverSettings.venvPath = resolvePathWithEnvVariables(workspace, venvPath, workspaces); - } - } - - const pythonAnalysisSection = pythonSection?.analysis; - if (pythonAnalysisSection) { - const typeshedPaths = pythonAnalysisSection.typeshedPaths; + const viperAnalysisSection = viperSection?.analysis; + if (viperAnalysisSection) { + const typeshedPaths = viperAnalysisSection.typeshedPaths; if (typeshedPaths && Array.isArray(typeshedPaths) && typeshedPaths.length > 0) { const typeshedPath = typeshedPaths[0]; if (typeshedPath && isString(typeshedPath)) { @@ -135,12 +123,12 @@ export class PyrightServer extends LanguageServerBase { } } - const stubPath = pythonAnalysisSection.stubPath; + const stubPath = viperAnalysisSection.stubPath; if (stubPath && isString(stubPath)) { serverSettings.stubPath = resolvePathWithEnvVariables(workspace, stubPath, workspaces); } - const diagnosticSeverityOverrides = pythonAnalysisSection.diagnosticSeverityOverrides; + const diagnosticSeverityOverrides = viperAnalysisSection.diagnosticSeverityOverrides; if (diagnosticSeverityOverrides) { for (const [name, value] of Object.entries(diagnosticSeverityOverrides)) { const ruleName = this.getDiagnosticRuleName(name); @@ -151,20 +139,20 @@ export class PyrightServer extends LanguageServerBase { } } - if (pythonAnalysisSection.diagnosticMode !== undefined) { - serverSettings.openFilesOnly = this.isOpenFilesOnly(pythonAnalysisSection.diagnosticMode); - } else if (pythonAnalysisSection.openFilesOnly !== undefined) { - serverSettings.openFilesOnly = !!pythonAnalysisSection.openFilesOnly; + if (viperAnalysisSection.diagnosticMode !== undefined) { + serverSettings.openFilesOnly = this.isOpenFilesOnly(viperAnalysisSection.diagnosticMode); + } else if (viperAnalysisSection.openFilesOnly !== undefined) { + serverSettings.openFilesOnly = !!viperAnalysisSection.openFilesOnly; } - if (pythonAnalysisSection.useLibraryCodeForTypes !== undefined) { - serverSettings.useLibraryCodeForTypes = !!pythonAnalysisSection.useLibraryCodeForTypes; + if (viperAnalysisSection.useLibraryCodeForTypes !== undefined) { + serverSettings.useLibraryCodeForTypes = !!viperAnalysisSection.useLibraryCodeForTypes; } - serverSettings.logLevel = convertLogLevel(pythonAnalysisSection.logLevel); - serverSettings.autoSearchPaths = !!pythonAnalysisSection.autoSearchPaths; + serverSettings.logLevel = convertLogLevel(viperAnalysisSection.logLevel); + serverSettings.autoSearchPaths = !!viperAnalysisSection.autoSearchPaths; - const extraPaths = pythonAnalysisSection.extraPaths; + const extraPaths = viperAnalysisSection.extraPaths; if (extraPaths && Array.isArray(extraPaths) && extraPaths.length > 0) { serverSettings.extraPaths = extraPaths .filter((p) => p && isString(p)) @@ -172,50 +160,37 @@ export class PyrightServer extends LanguageServerBase { .filter(isDefined); } - serverSettings.includeFileSpecs = this._getStringValues(pythonAnalysisSection.include); - serverSettings.excludeFileSpecs = this._getStringValues(pythonAnalysisSection.exclude); - serverSettings.ignoreFileSpecs = this._getStringValues(pythonAnalysisSection.ignore); + serverSettings.includeFileSpecs = this._getStringValues(viperAnalysisSection.include); + serverSettings.excludeFileSpecs = this._getStringValues(viperAnalysisSection.exclude); + serverSettings.ignoreFileSpecs = this._getStringValues(viperAnalysisSection.ignore); - if (pythonAnalysisSection.typeCheckingMode !== undefined) { - serverSettings.typeCheckingMode = pythonAnalysisSection.typeCheckingMode; + if (viperAnalysisSection.typeCheckingMode !== undefined) { + serverSettings.typeCheckingMode = viperAnalysisSection.typeCheckingMode; } - if (pythonAnalysisSection.autoImportCompletions !== undefined) { - serverSettings.autoImportCompletions = pythonAnalysisSection.autoImportCompletions; + if (viperAnalysisSection.autoImportCompletions !== undefined) { + serverSettings.autoImportCompletions = viperAnalysisSection.autoImportCompletions; } if ( serverSettings.logLevel === LogLevel.Log && - pythonAnalysisSection.logTypeEvaluationTime !== undefined + viperAnalysisSection.logTypeEvaluationTime !== undefined ) { - serverSettings.logTypeEvaluationTime = pythonAnalysisSection.logTypeEvaluationTime; + serverSettings.logTypeEvaluationTime = viperAnalysisSection.logTypeEvaluationTime; } - if (pythonAnalysisSection.typeEvaluationTimeThreshold !== undefined) { - serverSettings.typeEvaluationTimeThreshold = pythonAnalysisSection.typeEvaluationTimeThreshold; + if (viperAnalysisSection.typeEvaluationTimeThreshold !== undefined) { + serverSettings.typeEvaluationTimeThreshold = viperAnalysisSection.typeEvaluationTimeThreshold; } } else { serverSettings.autoSearchPaths = true; } - const pyrightSection = await this.getConfiguration(workspace.rootUri, 'pyright'); - if (pyrightSection) { - if (pyrightSection.openFilesOnly !== undefined) { - serverSettings.openFilesOnly = !!pyrightSection.openFilesOnly; - } - - if (pyrightSection.useLibraryCodeForTypes !== undefined) { - serverSettings.useLibraryCodeForTypes = !!pyrightSection.useLibraryCodeForTypes; - } - - serverSettings.disableLanguageServices = !!pyrightSection.disableLanguageServices; - serverSettings.disableTaggedHints = !!pyrightSection.disableTaggedHints; - serverSettings.disableOrganizeImports = !!pyrightSection.disableOrganizeImports; - - const typeCheckingMode = pyrightSection.typeCheckingMode; - if (typeCheckingMode && isString(typeCheckingMode)) { - serverSettings.typeCheckingMode = typeCheckingMode; - } + const vipeyeSection = await this.getConfiguration(workspace.rootUri, 'vipeye'); + if (vipeyeSection) { + serverSettings.disableLanguageServices = !!vipeyeSection.disableLanguageServices; + serverSettings.disableTaggedHints = !!vipeyeSection.disableTaggedHints; + serverSettings.disableOrganizeImports = !!vipeyeSection.disableOrganizeImports; } } catch (error) { this.console.error(`Error reading settings: ${error}`); diff --git a/packages/pyright-internal/src/tests/benchmarkData/comment_heavy.py b/packages/vipeye-internal/src/tests/benchmarkData/comment_heavy.py similarity index 100% rename from packages/pyright-internal/src/tests/benchmarkData/comment_heavy.py rename to packages/vipeye-internal/src/tests/benchmarkData/comment_heavy.py diff --git a/packages/pyright-internal/src/tests/benchmarkData/fstring_heavy.py b/packages/vipeye-internal/src/tests/benchmarkData/fstring_heavy.py similarity index 100% rename from packages/pyright-internal/src/tests/benchmarkData/fstring_heavy.py rename to packages/vipeye-internal/src/tests/benchmarkData/fstring_heavy.py diff --git a/packages/pyright-internal/src/tests/benchmarkData/import_heavy.py b/packages/vipeye-internal/src/tests/benchmarkData/import_heavy.py similarity index 100% rename from packages/pyright-internal/src/tests/benchmarkData/import_heavy.py rename to packages/vipeye-internal/src/tests/benchmarkData/import_heavy.py diff --git a/packages/pyright-internal/src/tests/benchmarkData/large_class.py b/packages/vipeye-internal/src/tests/benchmarkData/large_class.py similarity index 100% rename from packages/pyright-internal/src/tests/benchmarkData/large_class.py rename to packages/vipeye-internal/src/tests/benchmarkData/large_class.py diff --git a/packages/pyright-internal/src/tests/benchmarkData/large_stdlib.py b/packages/vipeye-internal/src/tests/benchmarkData/large_stdlib.py similarity index 100% rename from packages/pyright-internal/src/tests/benchmarkData/large_stdlib.py rename to packages/vipeye-internal/src/tests/benchmarkData/large_stdlib.py diff --git a/packages/pyright-internal/src/tests/benchmarkData/repetitive_identifiers.py b/packages/vipeye-internal/src/tests/benchmarkData/repetitive_identifiers.py similarity index 100% rename from packages/pyright-internal/src/tests/benchmarkData/repetitive_identifiers.py rename to packages/vipeye-internal/src/tests/benchmarkData/repetitive_identifiers.py diff --git a/packages/pyright-internal/src/tests/benchmarkData/union_heavy.py b/packages/vipeye-internal/src/tests/benchmarkData/union_heavy.py similarity index 100% rename from packages/pyright-internal/src/tests/benchmarkData/union_heavy.py rename to packages/vipeye-internal/src/tests/benchmarkData/union_heavy.py diff --git a/packages/pyright-internal/src/tests/benchmarks/parserBenchmark.test.ts b/packages/vipeye-internal/src/tests/benchmarks/parserBenchmark.test.ts similarity index 99% rename from packages/pyright-internal/src/tests/benchmarks/parserBenchmark.test.ts rename to packages/vipeye-internal/src/tests/benchmarks/parserBenchmark.test.ts index 2869777..06450c8 100644 --- a/packages/pyright-internal/src/tests/benchmarks/parserBenchmark.test.ts +++ b/packages/vipeye-internal/src/tests/benchmarks/parserBenchmark.test.ts @@ -6,7 +6,7 @@ * Measures nodes/sec, parse time, AST node count across representative corpora. * * Run with: - * cd packages/pyright/packages/pyright-internal + * cd packages/pyright/packages/vipeye-internal * node node_modules\jest\bin\jest parserBenchmark.test --runInBand --detectOpenHandles --forceExit --testTimeout=300000 * * Results are written as JSON to: diff --git a/packages/pyright-internal/src/tests/benchmarks/tokenizerBenchmark.test.ts b/packages/vipeye-internal/src/tests/benchmarks/tokenizerBenchmark.test.ts similarity index 99% rename from packages/pyright-internal/src/tests/benchmarks/tokenizerBenchmark.test.ts rename to packages/vipeye-internal/src/tests/benchmarks/tokenizerBenchmark.test.ts index 48c1521..7cff51e 100644 --- a/packages/pyright-internal/src/tests/benchmarks/tokenizerBenchmark.test.ts +++ b/packages/vipeye-internal/src/tests/benchmarks/tokenizerBenchmark.test.ts @@ -6,7 +6,7 @@ * Measures tokens/sec and time-to-tokenize across representative corpora. * * Run with: - * cd packages/pyright-internal + * cd packages/vipeye-internal * node node_modules\jest\bin\jest tokenizerBenchmark.test --runInBand --detectOpenHandles --forceExit --testTimeout=300000 * * Results are written as JSON to: diff --git a/packages/pyright-internal/src/tests/cacheManager.test.ts b/packages/vipeye-internal/src/tests/cacheManager.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/cacheManager.test.ts rename to packages/vipeye-internal/src/tests/cacheManager.test.ts diff --git a/packages/pyright-internal/src/tests/chainedSourceFiles.test.ts b/packages/vipeye-internal/src/tests/chainedSourceFiles.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/chainedSourceFiles.test.ts rename to packages/vipeye-internal/src/tests/chainedSourceFiles.test.ts diff --git a/packages/pyright-internal/src/tests/checker.test.ts b/packages/vipeye-internal/src/tests/checker.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/checker.test.ts rename to packages/vipeye-internal/src/tests/checker.test.ts diff --git a/packages/pyright-internal/src/tests/classDeclaration.test.ts b/packages/vipeye-internal/src/tests/classDeclaration.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/classDeclaration.test.ts rename to packages/vipeye-internal/src/tests/classDeclaration.test.ts diff --git a/packages/pyright-internal/src/tests/collectionUtils.test.ts b/packages/vipeye-internal/src/tests/collectionUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/collectionUtils.test.ts rename to packages/vipeye-internal/src/tests/collectionUtils.test.ts diff --git a/packages/pyright-internal/src/tests/common.test.ts b/packages/vipeye-internal/src/tests/common.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/common.test.ts rename to packages/vipeye-internal/src/tests/common.test.ts diff --git a/packages/pyright-internal/src/tests/completionProviderUtils.test.ts b/packages/vipeye-internal/src/tests/completionProviderUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/completionProviderUtils.test.ts rename to packages/vipeye-internal/src/tests/completionProviderUtils.test.ts diff --git a/packages/pyright-internal/src/tests/completions.test.ts b/packages/vipeye-internal/src/tests/completions.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/completions.test.ts rename to packages/vipeye-internal/src/tests/completions.test.ts diff --git a/packages/pyright-internal/src/tests/config.test.ts b/packages/vipeye-internal/src/tests/config.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/config.test.ts rename to packages/vipeye-internal/src/tests/config.test.ts diff --git a/packages/pyright-internal/src/tests/debug.test.ts b/packages/vipeye-internal/src/tests/debug.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/debug.test.ts rename to packages/vipeye-internal/src/tests/debug.test.ts diff --git a/packages/pyright-internal/src/tests/deferred.test.ts b/packages/vipeye-internal/src/tests/deferred.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/deferred.test.ts rename to packages/vipeye-internal/src/tests/deferred.test.ts diff --git a/packages/pyright-internal/src/tests/diagnosticOverrides.test.ts b/packages/vipeye-internal/src/tests/diagnosticOverrides.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/diagnosticOverrides.test.ts rename to packages/vipeye-internal/src/tests/diagnosticOverrides.test.ts diff --git a/packages/pyright-internal/src/tests/diagnostics.test.ts b/packages/vipeye-internal/src/tests/diagnostics.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/diagnostics.test.ts rename to packages/vipeye-internal/src/tests/diagnostics.test.ts diff --git a/packages/pyright-internal/src/tests/docStringConversion.test.ts b/packages/vipeye-internal/src/tests/docStringConversion.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/docStringConversion.test.ts rename to packages/vipeye-internal/src/tests/docStringConversion.test.ts diff --git a/packages/pyright-internal/src/tests/docStringReturnExtraction.test.ts b/packages/vipeye-internal/src/tests/docStringReturnExtraction.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/docStringReturnExtraction.test.ts rename to packages/vipeye-internal/src/tests/docStringReturnExtraction.test.ts diff --git a/packages/pyright-internal/src/tests/documentSymbolCollector.test.ts b/packages/vipeye-internal/src/tests/documentSymbolCollector.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/documentSymbolCollector.test.ts rename to packages/vipeye-internal/src/tests/documentSymbolCollector.test.ts diff --git a/packages/pyright-internal/src/tests/envVarUtils.test.ts b/packages/vipeye-internal/src/tests/envVarUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/envVarUtils.test.ts rename to packages/vipeye-internal/src/tests/envVarUtils.test.ts diff --git a/packages/pyright-internal/src/tests/filesystem.test.ts b/packages/vipeye-internal/src/tests/filesystem.test.ts similarity index 97% rename from packages/pyright-internal/src/tests/filesystem.test.ts rename to packages/vipeye-internal/src/tests/filesystem.test.ts index 80705b5..fc61fa6 100644 --- a/packages/pyright-internal/src/tests/filesystem.test.ts +++ b/packages/vipeye-internal/src/tests/filesystem.test.ts @@ -211,15 +211,15 @@ test('Mounted directory traversal is lazy for statSync', () => { const calls = { readdirSync: 0, statSync: 0, readFileSync: 0 }; const sourceRoot = normalizeSlashes('/src'); - const entries = ['a.pyi', 'b.pyi']; + const entries = ['a.vpi', 'b.vpi']; const resolver: vfs.FileSystemResolver = { readdirSync: (path) => { calls.readdirSync++; assert.equal(path, sourceRoot); return [ - { name: 'a.pyi', kind: 'file' as const }, - { name: 'b.pyi', kind: 'file' as const }, + { name: 'a.vpi', kind: 'file' as const }, + { name: 'b.vpi', kind: 'file' as const }, ]; }, statSync: (path) => { @@ -227,7 +227,7 @@ test('Mounted directory traversal is lazy for statSync', () => { if (path === sourceRoot) { return { mode: vfs.S_IFDIR, size: 0 }; } - if (path === normalizeSlashes('/src/a.pyi') || path === normalizeSlashes('/src/b.pyi')) { + if (path === normalizeSlashes('/src/a.vpi') || path === normalizeSlashes('/src/b.vpi')) { return { mode: vfs.S_IFREG, size: 1 }; } const err: NodeJS.ErrnoException = new Error(`ENOENT: ${path}`); diff --git a/packages/pyright-internal/src/tests/fourSlashParser.test.ts b/packages/vipeye-internal/src/tests/fourSlashParser.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourSlashParser.test.ts rename to packages/vipeye-internal/src/tests/fourSlashParser.test.ts diff --git a/packages/pyright-internal/src/tests/fourSlashRunner.test.ts b/packages/vipeye-internal/src/tests/fourSlashRunner.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourSlashRunner.test.ts rename to packages/vipeye-internal/src/tests/fourSlashRunner.test.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.disabled.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.disabled.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.disabled.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.disabled.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.duplicates.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.duplicates.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.duplicates.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.duplicates.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.fromImport.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.fromImport.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.fromImport.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.fromImport.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.lib.alias.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.lib.alias.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.lib.alias.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.lib.alias.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.plainText.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.plainText.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.plainText.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.plainText.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.shadow.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.shadow.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.shadow.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.shadow.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.submodule.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.submodule.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.submodule.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.submodule.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.topLevel.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.topLevel.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.topLevel.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.topLevel.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.autoimport.unicode.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.autoimport.unicode.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.autoimport.unicode.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.autoimport.unicode.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.builtinDocstrings.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.builtinDocstrings.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.builtinDocstrings.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.builtinDocstrings.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.builtinOverride.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.builtinOverride.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.builtinOverride.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.builtinOverride.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.call.stringLiteral.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.call.stringLiteral.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.call.stringLiteral.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.call.stringLiteral.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.call.typedDict.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.call.typedDict.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.call.typedDict.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.call.typedDict.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.call.typedDict.list.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.call.typedDict.list.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.call.typedDict.list.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.call.typedDict.list.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.call.typedDict.states.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.call.typedDict.states.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.call.typedDict.states.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.call.typedDict.states.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.classVariable.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.classVariable.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.classVariable.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.classVariable.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.comment.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.comment.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.comment.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.comment.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.class.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.class.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.class.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.class.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.exception.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.exception.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.exception.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.exception.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.for.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.for.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.for.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.for.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.importAlias.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.importAlias.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.importAlias.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.importAlias.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.lambda.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.lambda.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.lambda.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.lambda.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.method.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.method.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.method.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.method.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.overload.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.overload.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.overload.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.overload.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.declNames.topLevelOverload.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.declNames.topLevelOverload.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.declNames.topLevelOverload.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.declNames.topLevelOverload.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.complex.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.complex.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.complex.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.complex.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.expression.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.simple.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.simple.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.simple.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.simple.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.symbols.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.symbols.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dictionary.keys.symbols.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dictionary.keys.symbols.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dunderNew.Inheritance.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dunderNew.Inheritance.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dunderNew.Inheritance.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dunderNew.Inheritance.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.dunderNew.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.dunderNew.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.dunderNew.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.dunderNew.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.enums.members.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.enums.members.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.enums.members.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.enums.members.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.errorNodes.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.errorNodes.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.errorNodes.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.errorNodes.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.excluded.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.excluded.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.excluded.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.excluded.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.fstring.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.fstring.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.fstring.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.fstring.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.fstring.stringLiteral.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.fstring.stringLiteral.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.fstring.stringLiteral.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.fstring.stringLiteral.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.fuzzyMatching.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.fuzzyMatching.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.fuzzyMatching.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.fuzzyMatching.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.dunderNames.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.dunderNames.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.dunderNames.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.dunderNames.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.duplicates.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.duplicates.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.duplicates.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.duplicates.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.exactMatch.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.exactMatch.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.exactMatch.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.exactMatch.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.interimFile.fourslash.disabled.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.interimFile.fourslash.disabled.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.interimFile.fourslash.disabled.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.interimFile.fourslash.disabled.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.privateNoPytyped.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.privateNoPytyped.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.privateNoPytyped.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.privateNoPytyped.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.pytyped.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.pytyped.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.pytyped.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.pytyped.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.pytypedLocal.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.pytypedLocal.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.pytypedLocal.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.pytypedLocal.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.import.submodule.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.import.submodule.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.import.submodule.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.import.submodule.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.inList.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.inList.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.inList.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.inList.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.included.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.included.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.included.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.included.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.indexer.keys.getitem.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.indexer.keys.getitem.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.indexer.keys.getitem.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.indexer.keys.getitem.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.inherited.function.docFromStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.inherited.function.docFromStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.inherited.function.docFromStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.inherited.function.docFromStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.inherited.property.docFromStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.inherited.property.docFromStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.inherited.property.docFromStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.inherited.property.docFromStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.keywords.expressionContext.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.keywords.expressionContext.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.keywords.expressionContext.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.keywords.expressionContext.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.keywords.pythonVersion.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.keywords.pythonVersion.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.keywords.pythonVersion.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.keywords.pythonVersion.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.libCodeAndStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.libCodeAndStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.libCodeAndStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.libCodeAndStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.libCodeNoStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.libCodeNoStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.libCodeNoStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.libCodeNoStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.libStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.libStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.libStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.libStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.literals.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.literals.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.literals.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.literals.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.localCode.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.localCode.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.localCode.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.localCode.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.overloads.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.overloads.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.overloads.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.overloads.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.default.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.default.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.default.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.default.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.default.importStub.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.default.importStub.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.default.importStub.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.default.importStub.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.default.imported.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.default.imported.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.default.imported.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.default.imported.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.default.stub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.default.stub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.default.stub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.default.stub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.property.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.property.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.property.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.property.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.property.stub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.property.stub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.property.stub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.property.stub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.staticAndClassmethod.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.staticAndClassmethod.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.staticAndClassmethod.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.staticAndClassmethod.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override.stub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override.stub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override.stub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override.stub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.override2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.override2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.override2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.override2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.parameters.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.parameters.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.parameters.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.parameters.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.params.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.params.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.params.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.params.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.parentFolder.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.parentFolder.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.parentFolder.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.parentFolder.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.parentFolders.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.parentFolders.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.parentFolders.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.parentFolders.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.plainText.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.plainText.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.plainText.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.plainText.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.private.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.private.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.private.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.private.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.property.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.property.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.property.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.property.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.propertyDocStrings.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.propertyDocStrings.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.propertyDocStrings.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.propertyDocStrings.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.qualname.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.qualname.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.qualname.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.qualname.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.self.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.self.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.self.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.self.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.stringLiteral.escape.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.stringLiteral.escape.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.stringLiteral.escape.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.stringLiteral.escape.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.stringLiteral.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.stringLiteral.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.stringLiteral.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.stringLiteral.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.triggers.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.triggers.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.triggers.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.triggers.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.typeAlias.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.typeAlias.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.typeAlias.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.typeAlias.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.typeshed.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.typeshed.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.typeshed.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.typeshed.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.vardecls.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.vardecls.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.vardecls.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.vardecls.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.variableDocStrings.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.variableDocStrings.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.variableDocStrings.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.variableDocStrings.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.wildcardimports.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.wildcardimports.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.wildcardimports.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.wildcardimports.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/completions.with.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/completions.with.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/completions.with.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/completions.with.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/diagnostics.missingModuleSource.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/diagnostics.missingModuleSource.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/diagnostics.missingModuleSource.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/diagnostics.missingModuleSource.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.builtinClass.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.builtinClass.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.builtinClass.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.builtinClass.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.classes.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.classes.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.classes.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.classes.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.dataclasses.converter.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.dataclasses.converter.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.dataclasses.converter.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.dataclasses.converter.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.fields.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.fields.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.fields.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.fields.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.functions.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.functions.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.functions.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.functions.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.methods.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.methods.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.methods.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.methods.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.modules.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.modules.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.modules.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.modules.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.namespaceImport.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.namespaceImport.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.namespaceImport.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.namespaceImport.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.overloads.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.overloads.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.overloads.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.overloads.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.parameters.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.parameters.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.parameters.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.parameters.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.stubOnly.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.stubOnly.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.stubOnly.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.stubOnly.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.stubPackages.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.stubPackages.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.stubPackages.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.stubPackages.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.typedDict.keys.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.typedDict.keys.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.typedDict.keys.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.typedDict.keys.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.variables.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.variables.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.variables.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.variables.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findDefinitions.wildcardimports.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findDefinitions.wildcardimports.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findDefinitions.wildcardimports.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findDefinitions.wildcardimports.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findTypeDefinitions.classes.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findTypeDefinitions.classes.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findTypeDefinitions.classes.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findTypeDefinitions.classes.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findTypeDefinitions.unions.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findTypeDefinitions.unions.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findTypeDefinitions.unions.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findTypeDefinitions.unions.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.classPropertyReadWrite.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.classPropertyReadWrite.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.classPropertyReadWrite.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.classPropertyReadWrite.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.importalias.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.importalias.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.importalias.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.importalias.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.module.nested.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.module.nested.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.module.nested.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.module.nested.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.modules.duplicated.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.modules.duplicated.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.modules.duplicated.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.modules.duplicated.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.modules.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.modules.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.modules.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.modules.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.modules.shadow.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.modules.shadow.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.modules.shadow.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.modules.shadow.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.openFiles.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.openFiles.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.openFiles.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.openFiles.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.parameter.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.parameter.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.parameter.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.parameter.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/findallreferences.variable.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/findallreferences.variable.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/findallreferences.variable.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/findallreferences.variable.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/highlightreferences.attributes.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/highlightreferences.attributes.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/highlightreferences.attributes.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/highlightreferences.attributes.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.async.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.async.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.async.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.async.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.builtinDocstrings.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.builtinDocstrings.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.builtinDocstrings.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.builtinDocstrings.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.class.docString.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.class.docString.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.class.docString.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.class.docString.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.classNoInit.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.classNoInit.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.classNoInit.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.classNoInit.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.typeshed.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.typeshed.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docFromSrc.typeshed.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docFromSrc.typeshed.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docstring.alias.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docstring.alias.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docstring.alias.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docstring.alias.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docstring.links.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docstring.links.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docstring.links.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docstring.links.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docstring.overloads.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docstring.overloads.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docstring.overloads.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docstring.overloads.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docstring.parameter.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docstring.parameter.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docstring.parameter.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docstring.parameter.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.docstring.split.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.docstring.split.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.docstring.split.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.docstring.split.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.dunderNew.basic.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.basic.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.dunderNew.basic.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.basic.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.dunderNew.inheritance.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.inheritance.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.dunderNew.inheritance.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.inheritance.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.dunderNew.inheritance2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.inheritance2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.dunderNew.inheritance2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.inheritance2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.dunderNew.overloads.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.overloads.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.dunderNew.overloads.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.overloads.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.dunderNew.withInit.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.withInit.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.dunderNew.withInit.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.dunderNew.withInit.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.formatted.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.formatted.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.formatted.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.formatted.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.import.django.view.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.import.django.view.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.import.django.view.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.import.django.view.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.import.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.import.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.import.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.import.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inferred.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inferred.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inferred.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inferred.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inherited.docFromSrc.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inherited.docFromSrc.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inherited.docFromSrc.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inherited.docFromSrc.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inherited.docFromStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inherited.docFromStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inherited.docFromStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inherited.docFromStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.inherited.property.docFromStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.inherited.property.docFromStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.inherited.property.docFromStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.inherited.property.docFromStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.init.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.init.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.init.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.init.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.libCodeAndStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.libCodeAndStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.libCodeAndStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.libCodeAndStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.libCodeNoStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.libCodeNoStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.libCodeNoStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.libCodeNoStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.libStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.libStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.libStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.libStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.optionalAliasParameter.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.optionalAliasParameter.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.optionalAliasParameter.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.optionalAliasParameter.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.overloadedFunction.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.overloadedFunction.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.overloadedFunction.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.overloadedFunction.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.plainText.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.plainText.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.plainText.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.plainText.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.slots.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.slots.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.slots.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.slots.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.typedDict.get.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.typedDict.get.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.typedDict.get.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.typedDict.get.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.typedDict.key.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.typedDict.key.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.typedDict.key.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.typedDict.key.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.unpackedTypedDict.key.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.unpackedTypedDict.key.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.unpackedTypedDict.key.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.unpackedTypedDict.key.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.variable.docString.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.variable.docString.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.variable.docString.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.variable.docString.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/hover.wildcardimports.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/hover.wildcardimports.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/hover.wildcardimports.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/hover.wildcardimports.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.multipart.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.multipart.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.multipart.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.multipart.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.multipart2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.multipart2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.multipart2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.multipart2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.multipart3.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.multipart3.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.multipart3.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.multipart3.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.multipartModuleClassShadow.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.multipartModuleClassShadow.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.multipartModuleClassShadow.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.multipartModuleClassShadow.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.nameconflict.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.nameconflict.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.nameconflict.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.nameconflict.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.publicSymbols.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.publicSymbols.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.publicSymbols.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.publicSymbols.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.pytyped.dunderAll.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.pytyped.dunderAll.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.pytyped.dunderAll.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.pytyped.dunderAll.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.pytyped.privateSymbols.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.pytyped.privateSymbols.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.pytyped.privateSymbols.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.pytyped.privateSymbols.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.pytyped.unsupportedDunderAll.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/import.wildcard.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/import.wildcard.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/import.wildcard.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/import.wildcard.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/importnotresolved.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/importnotresolved.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/importnotresolved.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/importnotresolved.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingModuleSource.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingModuleSource.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingModuleSource.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingModuleSource.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingTypeStub.codeAction.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingTypeStub.codeAction.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingTypeStub.codeAction.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingTypeStub.codeAction.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.multipart.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.multipart.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.multipart.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.multipart.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.singlefile.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.singlefile.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.singlefile.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.singlefile.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.singlepart.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.singlepart.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.singlepart.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.singlepart.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingTypeStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingTypeStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingTypeStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingTypeStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/noerrors.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/noerrors.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/noerrors.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/noerrors.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/orderImports1.command.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/orderImports1.command.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/orderImports1.command.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/orderImports1.command.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/orderImports2.command.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/orderImports2.command.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/orderImports2.command.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/orderImports2.command.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.externallyHidden.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.externallyHidden.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.externallyHidden.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.externallyHidden.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.externallyHidden.params.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.externallyHidden.params.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.externallyHidden.params.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.externallyHidden.params.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.function.untitledFile.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.function.untitledFile.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.function.untitledFile.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.function.untitledFile.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.init.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.init.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.init.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.init.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.library.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.library.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.library.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.library.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.library.sourceAndStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.library.sourceAndStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.library.sourceAndStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.library.sourceAndStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.multipleDecl.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.multipleDecl.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.multipleDecl.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.multipleDecl.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.parens.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.parens.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.parens.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.parens.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.sourceAndStub.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.sourceAndStub.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.sourceAndStub.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.sourceAndStub.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.string.excluded.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.string.excluded.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.string.excluded.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.string.excluded.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.string.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.string.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.string.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.string.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/rename.typeParams.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/rename.typeParams.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/rename.typeParams.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/rename.typeParams.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.builtinDocstrings.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.builtinDocstrings.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.builtinDocstrings.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.builtinDocstrings.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.complicated.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.complicated.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.complicated.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.complicated.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.cornercases.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.cornercases.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.cornercases.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.cornercases.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.dataclassAlias.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.dataclassAlias.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.dataclassAlias.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.dataclassAlias.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.docstrings.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.docstrings.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.docstrings.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.docstrings.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.docstrings.overloaded.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.docstrings.overloaded.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.docstrings.overloaded.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.docstrings.overloaded.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.docstrings.wildcardimports.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.docstrings.wildcardimports.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.docstrings.wildcardimports.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.docstrings.wildcardimports.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.dunderNew.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.dunderNew.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.dunderNew.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.dunderNew.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.overload.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.overload.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.overload.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.overload.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.posonly.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.posonly.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.posonly.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.posonly.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/signature.simple.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/signature.simple.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/signature.simple.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/signature.simple.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/tsconfig.json b/packages/vipeye-internal/src/tests/fourslash/tsconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/tsconfig.json rename to packages/vipeye-internal/src/tests/fourslash/tsconfig.json diff --git a/packages/pyright-internal/src/tests/fourslash/typeVerifier.fourslash.ts b/packages/vipeye-internal/src/tests/fourslash/typeVerifier.fourslash.ts similarity index 100% rename from packages/pyright-internal/src/tests/fourslash/typeVerifier.fourslash.ts rename to packages/vipeye-internal/src/tests/fourslash/typeVerifier.fourslash.ts diff --git a/packages/pyright-internal/src/tests/fourslash/typings/fourslash.d.ts b/packages/vipeye-internal/src/tests/fourslash/typings/fourslash.d.ts similarity index 98% rename from packages/pyright-internal/src/tests/fourslash/typings/fourslash.d.ts rename to packages/vipeye-internal/src/tests/fourslash/typings/fourslash.d.ts index e1f456c..69758ca 100644 --- a/packages/pyright-internal/src/tests/fourslash/typings/fourslash.d.ts +++ b/packages/vipeye-internal/src/tests/fourslash/typings/fourslash.d.ts @@ -399,9 +399,9 @@ declare namespace Consts { } export enum Commands { - createTypeStub = 'pyright.createtypestub', - restartServer = 'pyright.restartserver', - orderImports = 'pyright.organizeimports', + createTypeStub = 'viper.createtypestub', + restartServer = 'viper.restartserver', + orderImports = 'viper.organizeimports', } namespace DocumentHighlightKind { diff --git a/packages/pyright-internal/src/tests/harness/fourslash/fourSlashParser.ts b/packages/vipeye-internal/src/tests/harness/fourslash/fourSlashParser.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/fourslash/fourSlashParser.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/fourSlashParser.ts diff --git a/packages/pyright-internal/src/tests/harness/fourslash/fourSlashRawUtils.ts b/packages/vipeye-internal/src/tests/harness/fourslash/fourSlashRawUtils.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/fourslash/fourSlashRawUtils.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/fourSlashRawUtils.ts diff --git a/packages/pyright-internal/src/tests/harness/fourslash/fourSlashTypes.ts b/packages/vipeye-internal/src/tests/harness/fourslash/fourSlashTypes.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/fourslash/fourSlashTypes.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/fourSlashTypes.ts diff --git a/packages/pyright-internal/src/tests/harness/fourslash/runner.ts b/packages/vipeye-internal/src/tests/harness/fourslash/runner.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/fourslash/runner.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/runner.ts diff --git a/packages/pyright-internal/src/tests/harness/fourslash/testLanguageService.ts b/packages/vipeye-internal/src/tests/harness/fourslash/testLanguageService.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/fourslash/testLanguageService.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/testLanguageService.ts diff --git a/packages/pyright-internal/src/tests/harness/fourslash/testState.Consts.ts b/packages/vipeye-internal/src/tests/harness/fourslash/testState.Consts.ts similarity index 86% rename from packages/pyright-internal/src/tests/harness/fourslash/testState.Consts.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/testState.Consts.ts index 3a97896..d8419d1 100644 --- a/packages/pyright-internal/src/tests/harness/fourslash/testState.Consts.ts +++ b/packages/vipeye-internal/src/tests/harness/fourslash/testState.Consts.ts @@ -20,9 +20,9 @@ export namespace Consts { // is marked as const enum and we can't import "const enum" which get removed // once compiled export enum Commands { - createTypeStub = 'pyright.createtypestub', - restartServer = 'pyright.restartserver', - orderImports = 'pyright.organizeimports', + createTypeStub = 'viper.createtypestub', + restartServer = 'viper.restartserver', + orderImports = 'viper.organizeimports', } export import CompletionItemKind = lsp.CompletionItemKind; diff --git a/packages/pyright-internal/src/tests/harness/fourslash/testState.ts b/packages/vipeye-internal/src/tests/harness/fourslash/testState.ts similarity index 99% rename from packages/pyright-internal/src/tests/harness/fourslash/testState.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/testState.ts index 9b434a0..d94a584 100644 --- a/packages/pyright-internal/src/tests/harness/fourslash/testState.ts +++ b/packages/vipeye-internal/src/tests/harness/fourslash/testState.ts @@ -834,9 +834,9 @@ export class TestState { CancellationToken.None ); - if (command.command === 'pyright.createtypestub') { + if (command.command === 'viper.createtypestub') { await this._verifyFiles(files); - } else if (command.command === 'pyright.organizeimports') { + } else if (command.command === 'viper.organizeimports') { // Organize imports command can be used on only one file at a time, // so there is no looping over "commandResult" or "files". const workspaceEditResult = commandResult as WorkspaceEdit; diff --git a/packages/pyright-internal/src/tests/harness/fourslash/testStateUtils.ts b/packages/vipeye-internal/src/tests/harness/fourslash/testStateUtils.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/fourslash/testStateUtils.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/testStateUtils.ts diff --git a/packages/pyright-internal/src/tests/harness/fourslash/workspaceEditTestUtils.ts b/packages/vipeye-internal/src/tests/harness/fourslash/workspaceEditTestUtils.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/fourslash/workspaceEditTestUtils.ts rename to packages/vipeye-internal/src/tests/harness/fourslash/workspaceEditTestUtils.ts diff --git a/packages/pyright-internal/src/tests/harness/testAccessHost.ts b/packages/vipeye-internal/src/tests/harness/testAccessHost.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/testAccessHost.ts rename to packages/vipeye-internal/src/tests/harness/testAccessHost.ts diff --git a/packages/pyright-internal/src/tests/harness/testHost.ts b/packages/vipeye-internal/src/tests/harness/testHost.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/testHost.ts rename to packages/vipeye-internal/src/tests/harness/testHost.ts diff --git a/packages/pyright-internal/src/tests/harness/utils.ts b/packages/vipeye-internal/src/tests/harness/utils.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/utils.ts rename to packages/vipeye-internal/src/tests/harness/utils.ts diff --git a/packages/pyright-internal/src/tests/harness/vfs/factory.ts b/packages/vipeye-internal/src/tests/harness/vfs/factory.ts similarity index 98% rename from packages/pyright-internal/src/tests/harness/vfs/factory.ts rename to packages/vipeye-internal/src/tests/harness/vfs/factory.ts index 0e42d64..9e45ad5 100644 --- a/packages/pyright-internal/src/tests/harness/vfs/factory.ts +++ b/packages/vipeye-internal/src/tests/harness/vfs/factory.ts @@ -53,7 +53,7 @@ export const srcFolder = normalizeSlashes('/.src'); /** * Create a virtual file system from a physical file system using the following path mappings: * - * - `/typeshed-fallback` is a directory mapped to `packages/pyright-internal/typeshed-fallback` + * - `/typeshed-fallback` is a directory mapped to `packages/vipeye-internal/typeshed-fallback` * - `/.src` is a virtual directory to be used for tests. * * @param host it provides an access to host (real) file system diff --git a/packages/pyright-internal/src/tests/harness/vfs/filesystem.ts b/packages/vipeye-internal/src/tests/harness/vfs/filesystem.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/vfs/filesystem.ts rename to packages/vipeye-internal/src/tests/harness/vfs/filesystem.ts diff --git a/packages/pyright-internal/src/tests/harness/vfs/pathValidation.ts b/packages/vipeye-internal/src/tests/harness/vfs/pathValidation.ts similarity index 100% rename from packages/pyright-internal/src/tests/harness/vfs/pathValidation.ts rename to packages/vipeye-internal/src/tests/harness/vfs/pathValidation.ts diff --git a/packages/pyright-internal/src/tests/hoverProvider.test.ts b/packages/vipeye-internal/src/tests/hoverProvider.test.ts similarity index 99% rename from packages/pyright-internal/src/tests/hoverProvider.test.ts rename to packages/vipeye-internal/src/tests/hoverProvider.test.ts index b8e7632..5070824 100644 --- a/packages/pyright-internal/src/tests/hoverProvider.test.ts +++ b/packages/vipeye-internal/src/tests/hoverProvider.test.ts @@ -79,11 +79,11 @@ test('import tooltip - import statement with stubs', async () => { // @filename: test.py //// import [|/*marker1*/matplotlib|].[|/*marker2*/pyplot|] -// @filename: matplotlib/__init__.pyi +// @filename: matplotlib/__init__.vpi // @library: true //// # empty -// @filename: matplotlib/pyplot.pyi +// @filename: matplotlib/pyplot.vpi // @library: true //// # empty diff --git a/packages/pyright-internal/src/tests/importResolver.test.ts b/packages/vipeye-internal/src/tests/importResolver.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/importResolver.test.ts rename to packages/vipeye-internal/src/tests/importResolver.test.ts diff --git a/packages/pyright-internal/src/tests/importResolverSupport.test.ts b/packages/vipeye-internal/src/tests/importResolverSupport.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/importResolverSupport.test.ts rename to packages/vipeye-internal/src/tests/importResolverSupport.test.ts diff --git a/packages/pyright-internal/src/tests/importStatementUtils.test.ts b/packages/vipeye-internal/src/tests/importStatementUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/importStatementUtils.test.ts rename to packages/vipeye-internal/src/tests/importStatementUtils.test.ts diff --git a/packages/pyright-internal/src/tests/ipythonMode.test.ts b/packages/vipeye-internal/src/tests/ipythonMode.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/ipythonMode.test.ts rename to packages/vipeye-internal/src/tests/ipythonMode.test.ts diff --git a/packages/pyright-internal/src/tests/languageServer.test.ts b/packages/vipeye-internal/src/tests/languageServer.test.ts similarity index 98% rename from packages/pyright-internal/src/tests/languageServer.test.ts rename to packages/vipeye-internal/src/tests/languageServer.test.ts index 887fd78..d894f3a 100644 --- a/packages/pyright-internal/src/tests/languageServer.test.ts +++ b/packages/vipeye-internal/src/tests/languageServer.test.ts @@ -194,7 +194,7 @@ describe(`Basic language server tests`, () => { { item: { scopeUri: `file://${normalizeSlashes(DEFAULT_WORKSPACE_ROOT, '/')}`, - section: 'python.analysis', + section: 'viper.analysis', }, value: { typeCheckingMode: 'strict', @@ -239,7 +239,7 @@ describe(`Basic language server tests`, () => { { item: { scopeUri: `file://${normalizeSlashes(DEFAULT_WORKSPACE_ROOT, '/')}`, - section: 'python.analysis', + section: 'viper.analysis', }, value: { typeCheckingMode: 'strict', @@ -280,7 +280,7 @@ describe(`Basic language server tests`, () => { { item: { scopeUri: `file://${normalizeSlashes(DEFAULT_WORKSPACE_ROOT, '/')}`, - section: 'python.analysis', + section: 'viper.analysis', }, value: { diagnosticSeverityOverrides: { @@ -329,7 +329,7 @@ describe(`Basic language server tests`, () => { { item: { scopeUri: `file://${normalizeSlashes(DEFAULT_WORKSPACE_ROOT, '/')}`, - section: 'python.analysis', + section: 'viper.analysis', }, value: { // default open-files-only mode @@ -395,7 +395,7 @@ describe(`Basic language server tests`, () => { { item: { scopeUri: `file://${normalizeSlashes(DEFAULT_WORKSPACE_ROOT, '/')}`, - section: 'python.analysis', + section: 'viper.analysis', }, value: { diagnosticMode: 'workspace', diff --git a/packages/pyright-internal/src/tests/localizer.test.ts b/packages/vipeye-internal/src/tests/localizer.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/localizer.test.ts rename to packages/vipeye-internal/src/tests/localizer.test.ts diff --git a/packages/pyright-internal/src/tests/logger.test.ts b/packages/vipeye-internal/src/tests/logger.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/logger.test.ts rename to packages/vipeye-internal/src/tests/logger.test.ts diff --git a/packages/pyright-internal/src/tests/lsp/customLsp.ts b/packages/vipeye-internal/src/tests/lsp/customLsp.ts similarity index 100% rename from packages/pyright-internal/src/tests/lsp/customLsp.ts rename to packages/vipeye-internal/src/tests/lsp/customLsp.ts diff --git a/packages/pyright-internal/src/tests/lsp/languageServer.ts b/packages/vipeye-internal/src/tests/lsp/languageServer.ts similarity index 100% rename from packages/pyright-internal/src/tests/lsp/languageServer.ts rename to packages/vipeye-internal/src/tests/lsp/languageServer.ts diff --git a/packages/pyright-internal/src/tests/lsp/languageServerTestUtils.ts b/packages/vipeye-internal/src/tests/lsp/languageServerTestUtils.ts similarity index 100% rename from packages/pyright-internal/src/tests/lsp/languageServerTestUtils.ts rename to packages/vipeye-internal/src/tests/lsp/languageServerTestUtils.ts diff --git a/packages/pyright-internal/src/tests/lsp/main.ts b/packages/vipeye-internal/src/tests/lsp/main.ts similarity index 100% rename from packages/pyright-internal/src/tests/lsp/main.ts rename to packages/vipeye-internal/src/tests/lsp/main.ts diff --git a/packages/pyright-internal/src/tests/lsp/rspack.testserver.config.js b/packages/vipeye-internal/src/tests/lsp/rspack.testserver.config.js similarity index 100% rename from packages/pyright-internal/src/tests/lsp/rspack.testserver.config.js rename to packages/vipeye-internal/src/tests/lsp/rspack.testserver.config.js diff --git a/packages/pyright-internal/src/tests/parseTreeUtils.test.ts b/packages/vipeye-internal/src/tests/parseTreeUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/parseTreeUtils.test.ts rename to packages/vipeye-internal/src/tests/parseTreeUtils.test.ts diff --git a/packages/pyright-internal/src/tests/parser.test.ts b/packages/vipeye-internal/src/tests/parser.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/parser.test.ts rename to packages/vipeye-internal/src/tests/parser.test.ts diff --git a/packages/pyright-internal/src/tests/pathUtils.test.ts b/packages/vipeye-internal/src/tests/pathUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/pathUtils.test.ts rename to packages/vipeye-internal/src/tests/pathUtils.test.ts diff --git a/packages/pyright-internal/src/tests/positionUtils.test.ts b/packages/vipeye-internal/src/tests/positionUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/positionUtils.test.ts rename to packages/vipeye-internal/src/tests/positionUtils.test.ts diff --git a/packages/pyright-internal/src/tests/privateImportUsage.test.ts b/packages/vipeye-internal/src/tests/privateImportUsage.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/privateImportUsage.test.ts rename to packages/vipeye-internal/src/tests/privateImportUsage.test.ts diff --git a/packages/pyright-internal/src/tests/pyrightFileSystem.test.ts b/packages/vipeye-internal/src/tests/pyrightFileSystem.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/pyrightFileSystem.test.ts rename to packages/vipeye-internal/src/tests/pyrightFileSystem.test.ts diff --git a/packages/pyright-internal/src/tests/realTempFile.test.ts b/packages/vipeye-internal/src/tests/realTempFile.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/realTempFile.test.ts rename to packages/vipeye-internal/src/tests/realTempFile.test.ts diff --git a/packages/pyright-internal/src/tests/samples/abstractClass1.py b/packages/vipeye-internal/src/tests/samples/abstractClass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass1.py rename to packages/vipeye-internal/src/tests/samples/abstractClass1.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass10.py b/packages/vipeye-internal/src/tests/samples/abstractClass10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass10.py rename to packages/vipeye-internal/src/tests/samples/abstractClass10.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass11.py b/packages/vipeye-internal/src/tests/samples/abstractClass11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass11.py rename to packages/vipeye-internal/src/tests/samples/abstractClass11.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass2.py b/packages/vipeye-internal/src/tests/samples/abstractClass2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass2.py rename to packages/vipeye-internal/src/tests/samples/abstractClass2.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass3.py b/packages/vipeye-internal/src/tests/samples/abstractClass3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass3.py rename to packages/vipeye-internal/src/tests/samples/abstractClass3.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass4.py b/packages/vipeye-internal/src/tests/samples/abstractClass4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass4.py rename to packages/vipeye-internal/src/tests/samples/abstractClass4.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass5.py b/packages/vipeye-internal/src/tests/samples/abstractClass5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass5.py rename to packages/vipeye-internal/src/tests/samples/abstractClass5.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass6.py b/packages/vipeye-internal/src/tests/samples/abstractClass6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass6.py rename to packages/vipeye-internal/src/tests/samples/abstractClass6.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass7.py b/packages/vipeye-internal/src/tests/samples/abstractClass7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass7.py rename to packages/vipeye-internal/src/tests/samples/abstractClass7.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass8.py b/packages/vipeye-internal/src/tests/samples/abstractClass8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass8.py rename to packages/vipeye-internal/src/tests/samples/abstractClass8.py diff --git a/packages/pyright-internal/src/tests/samples/abstractClass9.py b/packages/vipeye-internal/src/tests/samples/abstractClass9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/abstractClass9.py rename to packages/vipeye-internal/src/tests/samples/abstractClass9.py diff --git a/packages/pyright-internal/src/tests/samples/annotated1.py b/packages/vipeye-internal/src/tests/samples/annotated1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotated1.py rename to packages/vipeye-internal/src/tests/samples/annotated1.py diff --git a/packages/pyright-internal/src/tests/samples/annotated2.py b/packages/vipeye-internal/src/tests/samples/annotated2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotated2.py rename to packages/vipeye-internal/src/tests/samples/annotated2.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar1.py b/packages/vipeye-internal/src/tests/samples/annotatedVar1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar1.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar1.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar2.py b/packages/vipeye-internal/src/tests/samples/annotatedVar2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar2.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar2.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar3.py b/packages/vipeye-internal/src/tests/samples/annotatedVar3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar3.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar3.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar4.py b/packages/vipeye-internal/src/tests/samples/annotatedVar4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar4.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar4.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar5.py b/packages/vipeye-internal/src/tests/samples/annotatedVar5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar5.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar5.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar6.py b/packages/vipeye-internal/src/tests/samples/annotatedVar6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar6.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar6.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar7.py b/packages/vipeye-internal/src/tests/samples/annotatedVar7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar7.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar7.py diff --git a/packages/pyright-internal/src/tests/samples/annotatedVar8.py b/packages/vipeye-internal/src/tests/samples/annotatedVar8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotatedVar8.py rename to packages/vipeye-internal/src/tests/samples/annotatedVar8.py diff --git a/packages/pyright-internal/src/tests/samples/annotations1.py b/packages/vipeye-internal/src/tests/samples/annotations1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotations1.py rename to packages/vipeye-internal/src/tests/samples/annotations1.py diff --git a/packages/pyright-internal/src/tests/samples/annotations2.py b/packages/vipeye-internal/src/tests/samples/annotations2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotations2.py rename to packages/vipeye-internal/src/tests/samples/annotations2.py diff --git a/packages/pyright-internal/src/tests/samples/annotations3.py b/packages/vipeye-internal/src/tests/samples/annotations3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotations3.py rename to packages/vipeye-internal/src/tests/samples/annotations3.py diff --git a/packages/pyright-internal/src/tests/samples/annotations4.py b/packages/vipeye-internal/src/tests/samples/annotations4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotations4.py rename to packages/vipeye-internal/src/tests/samples/annotations4.py diff --git a/packages/pyright-internal/src/tests/samples/annotations5.py b/packages/vipeye-internal/src/tests/samples/annotations5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotations5.py rename to packages/vipeye-internal/src/tests/samples/annotations5.py diff --git a/packages/pyright-internal/src/tests/samples/annotations6.py b/packages/vipeye-internal/src/tests/samples/annotations6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/annotations6.py rename to packages/vipeye-internal/src/tests/samples/annotations6.py diff --git a/packages/pyright-internal/src/tests/samples/any1.py b/packages/vipeye-internal/src/tests/samples/any1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/any1.py rename to packages/vipeye-internal/src/tests/samples/any1.py diff --git a/packages/pyright-internal/src/tests/samples/assert1.py b/packages/vipeye-internal/src/tests/samples/assert1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assert1.py rename to packages/vipeye-internal/src/tests/samples/assert1.py diff --git a/packages/pyright-internal/src/tests/samples/assertType1.py b/packages/vipeye-internal/src/tests/samples/assertType1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assertType1.py rename to packages/vipeye-internal/src/tests/samples/assertType1.py diff --git a/packages/pyright-internal/src/tests/samples/assignment1.py b/packages/vipeye-internal/src/tests/samples/assignment1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment1.py rename to packages/vipeye-internal/src/tests/samples/assignment1.py diff --git a/packages/pyright-internal/src/tests/samples/assignment10.py b/packages/vipeye-internal/src/tests/samples/assignment10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment10.py rename to packages/vipeye-internal/src/tests/samples/assignment10.py diff --git a/packages/pyright-internal/src/tests/samples/assignment11.py b/packages/vipeye-internal/src/tests/samples/assignment11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment11.py rename to packages/vipeye-internal/src/tests/samples/assignment11.py diff --git a/packages/pyright-internal/src/tests/samples/assignment12.py b/packages/vipeye-internal/src/tests/samples/assignment12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment12.py rename to packages/vipeye-internal/src/tests/samples/assignment12.py diff --git a/packages/pyright-internal/src/tests/samples/assignment2.py b/packages/vipeye-internal/src/tests/samples/assignment2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment2.py rename to packages/vipeye-internal/src/tests/samples/assignment2.py diff --git a/packages/pyright-internal/src/tests/samples/assignment3.py b/packages/vipeye-internal/src/tests/samples/assignment3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment3.py rename to packages/vipeye-internal/src/tests/samples/assignment3.py diff --git a/packages/pyright-internal/src/tests/samples/assignment4.py b/packages/vipeye-internal/src/tests/samples/assignment4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment4.py rename to packages/vipeye-internal/src/tests/samples/assignment4.py diff --git a/packages/pyright-internal/src/tests/samples/assignment5.py b/packages/vipeye-internal/src/tests/samples/assignment5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment5.py rename to packages/vipeye-internal/src/tests/samples/assignment5.py diff --git a/packages/pyright-internal/src/tests/samples/assignment6.py b/packages/vipeye-internal/src/tests/samples/assignment6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment6.py rename to packages/vipeye-internal/src/tests/samples/assignment6.py diff --git a/packages/pyright-internal/src/tests/samples/assignment7.py b/packages/vipeye-internal/src/tests/samples/assignment7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment7.py rename to packages/vipeye-internal/src/tests/samples/assignment7.py diff --git a/packages/pyright-internal/src/tests/samples/assignment8.py b/packages/vipeye-internal/src/tests/samples/assignment8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment8.py rename to packages/vipeye-internal/src/tests/samples/assignment8.py diff --git a/packages/pyright-internal/src/tests/samples/assignment9.py b/packages/vipeye-internal/src/tests/samples/assignment9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignment9.py rename to packages/vipeye-internal/src/tests/samples/assignment9.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr1.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr1.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr1.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr2.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr2.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr2.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr3.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr3.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr3.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr4.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr4.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr4.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr5.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr5.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr5.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr6.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr6.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr6.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr7.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr7.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr7.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr8.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr8.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr8.py diff --git a/packages/pyright-internal/src/tests/samples/assignmentExpr9.py b/packages/vipeye-internal/src/tests/samples/assignmentExpr9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/assignmentExpr9.py rename to packages/vipeye-internal/src/tests/samples/assignmentExpr9.py diff --git a/packages/pyright-internal/src/tests/samples/async1.py b/packages/vipeye-internal/src/tests/samples/async1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/async1.py rename to packages/vipeye-internal/src/tests/samples/async1.py diff --git a/packages/pyright-internal/src/tests/samples/augmentedAssignment1.py b/packages/vipeye-internal/src/tests/samples/augmentedAssignment1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/augmentedAssignment1.py rename to packages/vipeye-internal/src/tests/samples/augmentedAssignment1.py diff --git a/packages/pyright-internal/src/tests/samples/augmentedAssignment2.py b/packages/vipeye-internal/src/tests/samples/augmentedAssignment2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/augmentedAssignment2.py rename to packages/vipeye-internal/src/tests/samples/augmentedAssignment2.py diff --git a/packages/pyright-internal/src/tests/samples/augmentedAssignment3.py b/packages/vipeye-internal/src/tests/samples/augmentedAssignment3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/augmentedAssignment3.py rename to packages/vipeye-internal/src/tests/samples/augmentedAssignment3.py diff --git a/packages/pyright-internal/src/tests/samples/autoVariance1.py b/packages/vipeye-internal/src/tests/samples/autoVariance1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/autoVariance1.py rename to packages/vipeye-internal/src/tests/samples/autoVariance1.py diff --git a/packages/pyright-internal/src/tests/samples/autoVariance2.py b/packages/vipeye-internal/src/tests/samples/autoVariance2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/autoVariance2.py rename to packages/vipeye-internal/src/tests/samples/autoVariance2.py diff --git a/packages/pyright-internal/src/tests/samples/autoVariance3.py b/packages/vipeye-internal/src/tests/samples/autoVariance3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/autoVariance3.py rename to packages/vipeye-internal/src/tests/samples/autoVariance3.py diff --git a/packages/pyright-internal/src/tests/samples/autoVariance4.py b/packages/vipeye-internal/src/tests/samples/autoVariance4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/autoVariance4.py rename to packages/vipeye-internal/src/tests/samples/autoVariance4.py diff --git a/packages/pyright-internal/src/tests/samples/autoVariance5.py b/packages/vipeye-internal/src/tests/samples/autoVariance5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/autoVariance5.py rename to packages/vipeye-internal/src/tests/samples/autoVariance5.py diff --git a/packages/pyright-internal/src/tests/samples/await1.py b/packages/vipeye-internal/src/tests/samples/await1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/await1.py rename to packages/vipeye-internal/src/tests/samples/await1.py diff --git a/packages/pyright-internal/src/tests/samples/await2.py b/packages/vipeye-internal/src/tests/samples/await2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/await2.py rename to packages/vipeye-internal/src/tests/samples/await2.py diff --git a/packages/pyright-internal/src/tests/samples/await3.py b/packages/vipeye-internal/src/tests/samples/await3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/await3.py rename to packages/vipeye-internal/src/tests/samples/await3.py diff --git a/packages/pyright-internal/src/tests/samples/badToken1.py b/packages/vipeye-internal/src/tests/samples/badToken1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/badToken1.py rename to packages/vipeye-internal/src/tests/samples/badToken1.py diff --git a/packages/pyright-internal/src/tests/samples/builtins1.py b/packages/vipeye-internal/src/tests/samples/builtins1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/builtins1.py rename to packages/vipeye-internal/src/tests/samples/builtins1.py diff --git a/packages/pyright-internal/src/tests/samples/builtins2.py b/packages/vipeye-internal/src/tests/samples/builtins2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/builtins2.py rename to packages/vipeye-internal/src/tests/samples/builtins2.py diff --git a/packages/pyright-internal/src/tests/samples/call1.py b/packages/vipeye-internal/src/tests/samples/call1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call1.py rename to packages/vipeye-internal/src/tests/samples/call1.py diff --git a/packages/pyright-internal/src/tests/samples/call10.py b/packages/vipeye-internal/src/tests/samples/call10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call10.py rename to packages/vipeye-internal/src/tests/samples/call10.py diff --git a/packages/pyright-internal/src/tests/samples/call11.py b/packages/vipeye-internal/src/tests/samples/call11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call11.py rename to packages/vipeye-internal/src/tests/samples/call11.py diff --git a/packages/pyright-internal/src/tests/samples/call12.py b/packages/vipeye-internal/src/tests/samples/call12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call12.py rename to packages/vipeye-internal/src/tests/samples/call12.py diff --git a/packages/pyright-internal/src/tests/samples/call13.py b/packages/vipeye-internal/src/tests/samples/call13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call13.py rename to packages/vipeye-internal/src/tests/samples/call13.py diff --git a/packages/pyright-internal/src/tests/samples/call14.py b/packages/vipeye-internal/src/tests/samples/call14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call14.py rename to packages/vipeye-internal/src/tests/samples/call14.py diff --git a/packages/pyright-internal/src/tests/samples/call15.py b/packages/vipeye-internal/src/tests/samples/call15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call15.py rename to packages/vipeye-internal/src/tests/samples/call15.py diff --git a/packages/pyright-internal/src/tests/samples/call16.py b/packages/vipeye-internal/src/tests/samples/call16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call16.py rename to packages/vipeye-internal/src/tests/samples/call16.py diff --git a/packages/pyright-internal/src/tests/samples/call17.py b/packages/vipeye-internal/src/tests/samples/call17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call17.py rename to packages/vipeye-internal/src/tests/samples/call17.py diff --git a/packages/pyright-internal/src/tests/samples/call2.py b/packages/vipeye-internal/src/tests/samples/call2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call2.py rename to packages/vipeye-internal/src/tests/samples/call2.py diff --git a/packages/pyright-internal/src/tests/samples/call3.py b/packages/vipeye-internal/src/tests/samples/call3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call3.py rename to packages/vipeye-internal/src/tests/samples/call3.py diff --git a/packages/pyright-internal/src/tests/samples/call4.py b/packages/vipeye-internal/src/tests/samples/call4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call4.py rename to packages/vipeye-internal/src/tests/samples/call4.py diff --git a/packages/pyright-internal/src/tests/samples/call5.py b/packages/vipeye-internal/src/tests/samples/call5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call5.py rename to packages/vipeye-internal/src/tests/samples/call5.py diff --git a/packages/pyright-internal/src/tests/samples/call6.py b/packages/vipeye-internal/src/tests/samples/call6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call6.py rename to packages/vipeye-internal/src/tests/samples/call6.py diff --git a/packages/pyright-internal/src/tests/samples/call7.py b/packages/vipeye-internal/src/tests/samples/call7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call7.py rename to packages/vipeye-internal/src/tests/samples/call7.py diff --git a/packages/pyright-internal/src/tests/samples/call8.py b/packages/vipeye-internal/src/tests/samples/call8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call8.py rename to packages/vipeye-internal/src/tests/samples/call8.py diff --git a/packages/pyright-internal/src/tests/samples/call9.py b/packages/vipeye-internal/src/tests/samples/call9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/call9.py rename to packages/vipeye-internal/src/tests/samples/call9.py diff --git a/packages/pyright-internal/src/tests/samples/callSite1.py b/packages/vipeye-internal/src/tests/samples/callSite1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callSite1.py rename to packages/vipeye-internal/src/tests/samples/callSite1.py diff --git a/packages/pyright-internal/src/tests/samples/callSite2.py b/packages/vipeye-internal/src/tests/samples/callSite2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callSite2.py rename to packages/vipeye-internal/src/tests/samples/callSite2.py diff --git a/packages/pyright-internal/src/tests/samples/callSite3.py b/packages/vipeye-internal/src/tests/samples/callSite3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callSite3.py rename to packages/vipeye-internal/src/tests/samples/callSite3.py diff --git a/packages/pyright-internal/src/tests/samples/callable1.py b/packages/vipeye-internal/src/tests/samples/callable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callable1.py rename to packages/vipeye-internal/src/tests/samples/callable1.py diff --git a/packages/pyright-internal/src/tests/samples/callable2.py b/packages/vipeye-internal/src/tests/samples/callable2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callable2.py rename to packages/vipeye-internal/src/tests/samples/callable2.py diff --git a/packages/pyright-internal/src/tests/samples/callable3.py b/packages/vipeye-internal/src/tests/samples/callable3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callable3.py rename to packages/vipeye-internal/src/tests/samples/callable3.py diff --git a/packages/pyright-internal/src/tests/samples/callable4.py b/packages/vipeye-internal/src/tests/samples/callable4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callable4.py rename to packages/vipeye-internal/src/tests/samples/callable4.py diff --git a/packages/pyright-internal/src/tests/samples/callable5.py b/packages/vipeye-internal/src/tests/samples/callable5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callable5.py rename to packages/vipeye-internal/src/tests/samples/callable5.py diff --git a/packages/pyright-internal/src/tests/samples/callable6.py b/packages/vipeye-internal/src/tests/samples/callable6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callable6.py rename to packages/vipeye-internal/src/tests/samples/callable6.py diff --git a/packages/pyright-internal/src/tests/samples/callable7.py b/packages/vipeye-internal/src/tests/samples/callable7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callable7.py rename to packages/vipeye-internal/src/tests/samples/callable7.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol1.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol1.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol1.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol10.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol10.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol10.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol11.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol11.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol11.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol2.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol2.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol2.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol3.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol3.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol3.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol4.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol4.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol4.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol5.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol5.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol5.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol6.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol6.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol6.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol7.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol7.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol7.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol8.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol8.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol8.py diff --git a/packages/pyright-internal/src/tests/samples/callbackProtocol9.py b/packages/vipeye-internal/src/tests/samples/callbackProtocol9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/callbackProtocol9.py rename to packages/vipeye-internal/src/tests/samples/callbackProtocol9.py diff --git a/packages/pyright-internal/src/tests/samples/capturedVariable1.py b/packages/vipeye-internal/src/tests/samples/capturedVariable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/capturedVariable1.py rename to packages/vipeye-internal/src/tests/samples/capturedVariable1.py diff --git a/packages/pyright-internal/src/tests/samples/capturedVariable2.py b/packages/vipeye-internal/src/tests/samples/capturedVariable2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/capturedVariable2.py rename to packages/vipeye-internal/src/tests/samples/capturedVariable2.py diff --git a/packages/pyright-internal/src/tests/samples/circular1.py b/packages/vipeye-internal/src/tests/samples/circular1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/circular1.py rename to packages/vipeye-internal/src/tests/samples/circular1.py diff --git a/packages/pyright-internal/src/tests/samples/circular2.py b/packages/vipeye-internal/src/tests/samples/circular2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/circular2.py rename to packages/vipeye-internal/src/tests/samples/circular2.py diff --git a/packages/pyright-internal/src/tests/samples/circularBaseClass.py b/packages/vipeye-internal/src/tests/samples/circularBaseClass.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/circularBaseClass.py rename to packages/vipeye-internal/src/tests/samples/circularBaseClass.py diff --git a/packages/pyright-internal/src/tests/samples/classGetItem1.py b/packages/vipeye-internal/src/tests/samples/classGetItem1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classGetItem1.py rename to packages/vipeye-internal/src/tests/samples/classGetItem1.py diff --git a/packages/pyright-internal/src/tests/samples/classVar1.py b/packages/vipeye-internal/src/tests/samples/classVar1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classVar1.py rename to packages/vipeye-internal/src/tests/samples/classVar1.py diff --git a/packages/pyright-internal/src/tests/samples/classVar2.py b/packages/vipeye-internal/src/tests/samples/classVar2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classVar2.py rename to packages/vipeye-internal/src/tests/samples/classVar2.py diff --git a/packages/pyright-internal/src/tests/samples/classVar3.py b/packages/vipeye-internal/src/tests/samples/classVar3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classVar3.py rename to packages/vipeye-internal/src/tests/samples/classVar3.py diff --git a/packages/pyright-internal/src/tests/samples/classVar4.py b/packages/vipeye-internal/src/tests/samples/classVar4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classVar4.py rename to packages/vipeye-internal/src/tests/samples/classVar4.py diff --git a/packages/pyright-internal/src/tests/samples/classVar5.py b/packages/vipeye-internal/src/tests/samples/classVar5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classVar5.py rename to packages/vipeye-internal/src/tests/samples/classVar5.py diff --git a/packages/pyright-internal/src/tests/samples/classVar6.py b/packages/vipeye-internal/src/tests/samples/classVar6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classVar6.py rename to packages/vipeye-internal/src/tests/samples/classVar6.py diff --git a/packages/pyright-internal/src/tests/samples/classVar7.py b/packages/vipeye-internal/src/tests/samples/classVar7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classVar7.py rename to packages/vipeye-internal/src/tests/samples/classVar7.py diff --git a/packages/pyright-internal/src/tests/samples/classes1.py b/packages/vipeye-internal/src/tests/samples/classes1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes1.py rename to packages/vipeye-internal/src/tests/samples/classes1.py diff --git a/packages/pyright-internal/src/tests/samples/classes10.py b/packages/vipeye-internal/src/tests/samples/classes10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes10.py rename to packages/vipeye-internal/src/tests/samples/classes10.py diff --git a/packages/pyright-internal/src/tests/samples/classes11.py b/packages/vipeye-internal/src/tests/samples/classes11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes11.py rename to packages/vipeye-internal/src/tests/samples/classes11.py diff --git a/packages/pyright-internal/src/tests/samples/classes3.py b/packages/vipeye-internal/src/tests/samples/classes3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes3.py rename to packages/vipeye-internal/src/tests/samples/classes3.py diff --git a/packages/pyright-internal/src/tests/samples/classes4.py b/packages/vipeye-internal/src/tests/samples/classes4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes4.py rename to packages/vipeye-internal/src/tests/samples/classes4.py diff --git a/packages/pyright-internal/src/tests/samples/classes5.py b/packages/vipeye-internal/src/tests/samples/classes5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes5.py rename to packages/vipeye-internal/src/tests/samples/classes5.py diff --git a/packages/pyright-internal/src/tests/samples/classes6.py b/packages/vipeye-internal/src/tests/samples/classes6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes6.py rename to packages/vipeye-internal/src/tests/samples/classes6.py diff --git a/packages/pyright-internal/src/tests/samples/classes7.py b/packages/vipeye-internal/src/tests/samples/classes7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes7.py rename to packages/vipeye-internal/src/tests/samples/classes7.py diff --git a/packages/pyright-internal/src/tests/samples/classes8.py b/packages/vipeye-internal/src/tests/samples/classes8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes8.py rename to packages/vipeye-internal/src/tests/samples/classes8.py diff --git a/packages/pyright-internal/src/tests/samples/classes9.py b/packages/vipeye-internal/src/tests/samples/classes9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/classes9.py rename to packages/vipeye-internal/src/tests/samples/classes9.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow1.py b/packages/vipeye-internal/src/tests/samples/codeFlow1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow1.py rename to packages/vipeye-internal/src/tests/samples/codeFlow1.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow10.py b/packages/vipeye-internal/src/tests/samples/codeFlow10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow10.py rename to packages/vipeye-internal/src/tests/samples/codeFlow10.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow11.py b/packages/vipeye-internal/src/tests/samples/codeFlow11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow11.py rename to packages/vipeye-internal/src/tests/samples/codeFlow11.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow2.py b/packages/vipeye-internal/src/tests/samples/codeFlow2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow2.py rename to packages/vipeye-internal/src/tests/samples/codeFlow2.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow3.py b/packages/vipeye-internal/src/tests/samples/codeFlow3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow3.py rename to packages/vipeye-internal/src/tests/samples/codeFlow3.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow4.py b/packages/vipeye-internal/src/tests/samples/codeFlow4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow4.py rename to packages/vipeye-internal/src/tests/samples/codeFlow4.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow5.py b/packages/vipeye-internal/src/tests/samples/codeFlow5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow5.py rename to packages/vipeye-internal/src/tests/samples/codeFlow5.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow6.py b/packages/vipeye-internal/src/tests/samples/codeFlow6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow6.py rename to packages/vipeye-internal/src/tests/samples/codeFlow6.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow7.py b/packages/vipeye-internal/src/tests/samples/codeFlow7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow7.py rename to packages/vipeye-internal/src/tests/samples/codeFlow7.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow8.py b/packages/vipeye-internal/src/tests/samples/codeFlow8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow8.py rename to packages/vipeye-internal/src/tests/samples/codeFlow8.py diff --git a/packages/pyright-internal/src/tests/samples/codeFlow9.py b/packages/vipeye-internal/src/tests/samples/codeFlow9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/codeFlow9.py rename to packages/vipeye-internal/src/tests/samples/codeFlow9.py diff --git a/packages/pyright-internal/src/tests/samples/comparison1.py b/packages/vipeye-internal/src/tests/samples/comparison1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comparison1.py rename to packages/vipeye-internal/src/tests/samples/comparison1.py diff --git a/packages/pyright-internal/src/tests/samples/comparison2.py b/packages/vipeye-internal/src/tests/samples/comparison2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comparison2.py rename to packages/vipeye-internal/src/tests/samples/comparison2.py diff --git a/packages/pyright-internal/src/tests/samples/complex1.py b/packages/vipeye-internal/src/tests/samples/complex1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/complex1.py rename to packages/vipeye-internal/src/tests/samples/complex1.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension1.py b/packages/vipeye-internal/src/tests/samples/comprehension1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension1.py rename to packages/vipeye-internal/src/tests/samples/comprehension1.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension10.py b/packages/vipeye-internal/src/tests/samples/comprehension10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension10.py rename to packages/vipeye-internal/src/tests/samples/comprehension10.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension11.py b/packages/vipeye-internal/src/tests/samples/comprehension11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension11.py rename to packages/vipeye-internal/src/tests/samples/comprehension11.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension2.py b/packages/vipeye-internal/src/tests/samples/comprehension2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension2.py rename to packages/vipeye-internal/src/tests/samples/comprehension2.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension3.py b/packages/vipeye-internal/src/tests/samples/comprehension3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension3.py rename to packages/vipeye-internal/src/tests/samples/comprehension3.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension4.py b/packages/vipeye-internal/src/tests/samples/comprehension4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension4.py rename to packages/vipeye-internal/src/tests/samples/comprehension4.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension5.py b/packages/vipeye-internal/src/tests/samples/comprehension5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension5.py rename to packages/vipeye-internal/src/tests/samples/comprehension5.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension6.py b/packages/vipeye-internal/src/tests/samples/comprehension6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension6.py rename to packages/vipeye-internal/src/tests/samples/comprehension6.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension7.py b/packages/vipeye-internal/src/tests/samples/comprehension7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension7.py rename to packages/vipeye-internal/src/tests/samples/comprehension7.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension8.py b/packages/vipeye-internal/src/tests/samples/comprehension8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension8.py rename to packages/vipeye-internal/src/tests/samples/comprehension8.py diff --git a/packages/pyright-internal/src/tests/samples/comprehension9.py b/packages/vipeye-internal/src/tests/samples/comprehension9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/comprehension9.py rename to packages/vipeye-internal/src/tests/samples/comprehension9.py diff --git a/packages/pyright-internal/src/tests/samples/conditional1.py b/packages/vipeye-internal/src/tests/samples/conditional1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/conditional1.py rename to packages/vipeye-internal/src/tests/samples/conditional1.py diff --git a/packages/pyright-internal/src/tests/samples/constant1.py b/packages/vipeye-internal/src/tests/samples/constant1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constant1.py rename to packages/vipeye-internal/src/tests/samples/constant1.py diff --git a/packages/pyright-internal/src/tests/samples/constants1.py b/packages/vipeye-internal/src/tests/samples/constants1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constants1.py rename to packages/vipeye-internal/src/tests/samples/constants1.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar1.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar1.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar1.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar10.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar10.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar10.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar11.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar11.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar11.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar12.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar12.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar12.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar13.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar13.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar13.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar14.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar14.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar14.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar15.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar15.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar15.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar16.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar16.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar16.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar17.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar17.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar17.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar18.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar18.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar18.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar19.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar19.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar19.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar2.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar2.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar2.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar20.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar20.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar20.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar3.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar3.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar3.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar4.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar4.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar4.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar5.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar5.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar5.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar6.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar6.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar6.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar7.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar7.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar7.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar8.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar8.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar8.py diff --git a/packages/pyright-internal/src/tests/samples/constrainedTypeVar9.py b/packages/vipeye-internal/src/tests/samples/constrainedTypeVar9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constrainedTypeVar9.py rename to packages/vipeye-internal/src/tests/samples/constrainedTypeVar9.py diff --git a/packages/pyright-internal/src/tests/samples/constructor1.py b/packages/vipeye-internal/src/tests/samples/constructor1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor1.py rename to packages/vipeye-internal/src/tests/samples/constructor1.py diff --git a/packages/pyright-internal/src/tests/samples/constructor10.py b/packages/vipeye-internal/src/tests/samples/constructor10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor10.py rename to packages/vipeye-internal/src/tests/samples/constructor10.py diff --git a/packages/pyright-internal/src/tests/samples/constructor11.py b/packages/vipeye-internal/src/tests/samples/constructor11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor11.py rename to packages/vipeye-internal/src/tests/samples/constructor11.py diff --git a/packages/pyright-internal/src/tests/samples/constructor12.py b/packages/vipeye-internal/src/tests/samples/constructor12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor12.py rename to packages/vipeye-internal/src/tests/samples/constructor12.py diff --git a/packages/pyright-internal/src/tests/samples/constructor13.py b/packages/vipeye-internal/src/tests/samples/constructor13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor13.py rename to packages/vipeye-internal/src/tests/samples/constructor13.py diff --git a/packages/pyright-internal/src/tests/samples/constructor14.py b/packages/vipeye-internal/src/tests/samples/constructor14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor14.py rename to packages/vipeye-internal/src/tests/samples/constructor14.py diff --git a/packages/pyright-internal/src/tests/samples/constructor15.py b/packages/vipeye-internal/src/tests/samples/constructor15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor15.py rename to packages/vipeye-internal/src/tests/samples/constructor15.py diff --git a/packages/pyright-internal/src/tests/samples/constructor16.py b/packages/vipeye-internal/src/tests/samples/constructor16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor16.py rename to packages/vipeye-internal/src/tests/samples/constructor16.py diff --git a/packages/pyright-internal/src/tests/samples/constructor17.py b/packages/vipeye-internal/src/tests/samples/constructor17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor17.py rename to packages/vipeye-internal/src/tests/samples/constructor17.py diff --git a/packages/pyright-internal/src/tests/samples/constructor18.py b/packages/vipeye-internal/src/tests/samples/constructor18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor18.py rename to packages/vipeye-internal/src/tests/samples/constructor18.py diff --git a/packages/pyright-internal/src/tests/samples/constructor19.py b/packages/vipeye-internal/src/tests/samples/constructor19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor19.py rename to packages/vipeye-internal/src/tests/samples/constructor19.py diff --git a/packages/pyright-internal/src/tests/samples/constructor2.py b/packages/vipeye-internal/src/tests/samples/constructor2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor2.py rename to packages/vipeye-internal/src/tests/samples/constructor2.py diff --git a/packages/pyright-internal/src/tests/samples/constructor20.py b/packages/vipeye-internal/src/tests/samples/constructor20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor20.py rename to packages/vipeye-internal/src/tests/samples/constructor20.py diff --git a/packages/pyright-internal/src/tests/samples/constructor21.py b/packages/vipeye-internal/src/tests/samples/constructor21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor21.py rename to packages/vipeye-internal/src/tests/samples/constructor21.py diff --git a/packages/pyright-internal/src/tests/samples/constructor22.py b/packages/vipeye-internal/src/tests/samples/constructor22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor22.py rename to packages/vipeye-internal/src/tests/samples/constructor22.py diff --git a/packages/pyright-internal/src/tests/samples/constructor23.py b/packages/vipeye-internal/src/tests/samples/constructor23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor23.py rename to packages/vipeye-internal/src/tests/samples/constructor23.py diff --git a/packages/pyright-internal/src/tests/samples/constructor24.py b/packages/vipeye-internal/src/tests/samples/constructor24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor24.py rename to packages/vipeye-internal/src/tests/samples/constructor24.py diff --git a/packages/pyright-internal/src/tests/samples/constructor25.py b/packages/vipeye-internal/src/tests/samples/constructor25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor25.py rename to packages/vipeye-internal/src/tests/samples/constructor25.py diff --git a/packages/pyright-internal/src/tests/samples/constructor26.py b/packages/vipeye-internal/src/tests/samples/constructor26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor26.py rename to packages/vipeye-internal/src/tests/samples/constructor26.py diff --git a/packages/pyright-internal/src/tests/samples/constructor27.py b/packages/vipeye-internal/src/tests/samples/constructor27.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor27.py rename to packages/vipeye-internal/src/tests/samples/constructor27.py diff --git a/packages/pyright-internal/src/tests/samples/constructor28.py b/packages/vipeye-internal/src/tests/samples/constructor28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor28.py rename to packages/vipeye-internal/src/tests/samples/constructor28.py diff --git a/packages/pyright-internal/src/tests/samples/constructor29.py b/packages/vipeye-internal/src/tests/samples/constructor29.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor29.py rename to packages/vipeye-internal/src/tests/samples/constructor29.py diff --git a/packages/pyright-internal/src/tests/samples/constructor3.py b/packages/vipeye-internal/src/tests/samples/constructor3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor3.py rename to packages/vipeye-internal/src/tests/samples/constructor3.py diff --git a/packages/pyright-internal/src/tests/samples/constructor30.py b/packages/vipeye-internal/src/tests/samples/constructor30.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor30.py rename to packages/vipeye-internal/src/tests/samples/constructor30.py diff --git a/packages/pyright-internal/src/tests/samples/constructor31.py b/packages/vipeye-internal/src/tests/samples/constructor31.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor31.py rename to packages/vipeye-internal/src/tests/samples/constructor31.py diff --git a/packages/pyright-internal/src/tests/samples/constructor32.py b/packages/vipeye-internal/src/tests/samples/constructor32.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor32.py rename to packages/vipeye-internal/src/tests/samples/constructor32.py diff --git a/packages/pyright-internal/src/tests/samples/constructor33.py b/packages/vipeye-internal/src/tests/samples/constructor33.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor33.py rename to packages/vipeye-internal/src/tests/samples/constructor33.py diff --git a/packages/pyright-internal/src/tests/samples/constructor4.py b/packages/vipeye-internal/src/tests/samples/constructor4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor4.py rename to packages/vipeye-internal/src/tests/samples/constructor4.py diff --git a/packages/pyright-internal/src/tests/samples/constructor5.py b/packages/vipeye-internal/src/tests/samples/constructor5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor5.py rename to packages/vipeye-internal/src/tests/samples/constructor5.py diff --git a/packages/pyright-internal/src/tests/samples/constructor6.py b/packages/vipeye-internal/src/tests/samples/constructor6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor6.py rename to packages/vipeye-internal/src/tests/samples/constructor6.py diff --git a/packages/pyright-internal/src/tests/samples/constructor7.py b/packages/vipeye-internal/src/tests/samples/constructor7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor7.py rename to packages/vipeye-internal/src/tests/samples/constructor7.py diff --git a/packages/pyright-internal/src/tests/samples/constructor9.py b/packages/vipeye-internal/src/tests/samples/constructor9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructor9.py rename to packages/vipeye-internal/src/tests/samples/constructor9.py diff --git a/packages/pyright-internal/src/tests/samples/constructorCallable1.py b/packages/vipeye-internal/src/tests/samples/constructorCallable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructorCallable1.py rename to packages/vipeye-internal/src/tests/samples/constructorCallable1.py diff --git a/packages/pyright-internal/src/tests/samples/constructorCallable2.py b/packages/vipeye-internal/src/tests/samples/constructorCallable2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/constructorCallable2.py rename to packages/vipeye-internal/src/tests/samples/constructorCallable2.py diff --git a/packages/pyright-internal/src/tests/samples/coroutines1.py b/packages/vipeye-internal/src/tests/samples/coroutines1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/coroutines1.py rename to packages/vipeye-internal/src/tests/samples/coroutines1.py diff --git a/packages/pyright-internal/src/tests/samples/coroutines2.py b/packages/vipeye-internal/src/tests/samples/coroutines2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/coroutines2.py rename to packages/vipeye-internal/src/tests/samples/coroutines2.py diff --git a/packages/pyright-internal/src/tests/samples/coroutines3.py b/packages/vipeye-internal/src/tests/samples/coroutines3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/coroutines3.py rename to packages/vipeye-internal/src/tests/samples/coroutines3.py diff --git a/packages/pyright-internal/src/tests/samples/coroutines4.py b/packages/vipeye-internal/src/tests/samples/coroutines4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/coroutines4.py rename to packages/vipeye-internal/src/tests/samples/coroutines4.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass1.py b/packages/vipeye-internal/src/tests/samples/dataclass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass1.py rename to packages/vipeye-internal/src/tests/samples/dataclass1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass10.py b/packages/vipeye-internal/src/tests/samples/dataclass10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass10.py rename to packages/vipeye-internal/src/tests/samples/dataclass10.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass11.py b/packages/vipeye-internal/src/tests/samples/dataclass11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass11.py rename to packages/vipeye-internal/src/tests/samples/dataclass11.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass12.py b/packages/vipeye-internal/src/tests/samples/dataclass12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass12.py rename to packages/vipeye-internal/src/tests/samples/dataclass12.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass13.py b/packages/vipeye-internal/src/tests/samples/dataclass13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass13.py rename to packages/vipeye-internal/src/tests/samples/dataclass13.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass14.py b/packages/vipeye-internal/src/tests/samples/dataclass14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass14.py rename to packages/vipeye-internal/src/tests/samples/dataclass14.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass15.py b/packages/vipeye-internal/src/tests/samples/dataclass15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass15.py rename to packages/vipeye-internal/src/tests/samples/dataclass15.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass16.py b/packages/vipeye-internal/src/tests/samples/dataclass16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass16.py rename to packages/vipeye-internal/src/tests/samples/dataclass16.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass17.py b/packages/vipeye-internal/src/tests/samples/dataclass17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass17.py rename to packages/vipeye-internal/src/tests/samples/dataclass17.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass18.py b/packages/vipeye-internal/src/tests/samples/dataclass18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass18.py rename to packages/vipeye-internal/src/tests/samples/dataclass18.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass2.py b/packages/vipeye-internal/src/tests/samples/dataclass2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass2.py rename to packages/vipeye-internal/src/tests/samples/dataclass2.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass3.py b/packages/vipeye-internal/src/tests/samples/dataclass3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass3.py rename to packages/vipeye-internal/src/tests/samples/dataclass3.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass4.py b/packages/vipeye-internal/src/tests/samples/dataclass4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass4.py rename to packages/vipeye-internal/src/tests/samples/dataclass4.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass5.py b/packages/vipeye-internal/src/tests/samples/dataclass5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass5.py rename to packages/vipeye-internal/src/tests/samples/dataclass5.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass6.py b/packages/vipeye-internal/src/tests/samples/dataclass6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass6.py rename to packages/vipeye-internal/src/tests/samples/dataclass6.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass7.py b/packages/vipeye-internal/src/tests/samples/dataclass7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass7.py rename to packages/vipeye-internal/src/tests/samples/dataclass7.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass8.py b/packages/vipeye-internal/src/tests/samples/dataclass8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass8.py rename to packages/vipeye-internal/src/tests/samples/dataclass8.py diff --git a/packages/pyright-internal/src/tests/samples/dataclass9.py b/packages/vipeye-internal/src/tests/samples/dataclass9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclass9.py rename to packages/vipeye-internal/src/tests/samples/dataclass9.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassConverter1.py b/packages/vipeye-internal/src/tests/samples/dataclassConverter1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassConverter1.py rename to packages/vipeye-internal/src/tests/samples/dataclassConverter1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassConverter2.py b/packages/vipeye-internal/src/tests/samples/dataclassConverter2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassConverter2.py rename to packages/vipeye-internal/src/tests/samples/dataclassConverter2.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassConverter3.py b/packages/vipeye-internal/src/tests/samples/dataclassConverter3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassConverter3.py rename to packages/vipeye-internal/src/tests/samples/dataclassConverter3.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassDescriptors1.py b/packages/vipeye-internal/src/tests/samples/dataclassDescriptors1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassDescriptors1.py rename to packages/vipeye-internal/src/tests/samples/dataclassDescriptors1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassDescriptors2.py b/packages/vipeye-internal/src/tests/samples/dataclassDescriptors2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassDescriptors2.py rename to packages/vipeye-internal/src/tests/samples/dataclassDescriptors2.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassFrozen1.py b/packages/vipeye-internal/src/tests/samples/dataclassFrozen1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassFrozen1.py rename to packages/vipeye-internal/src/tests/samples/dataclassFrozen1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassHash1.py b/packages/vipeye-internal/src/tests/samples/dataclassHash1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassHash1.py rename to packages/vipeye-internal/src/tests/samples/dataclassHash1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassKwOnly1.py b/packages/vipeye-internal/src/tests/samples/dataclassKwOnly1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassKwOnly1.py rename to packages/vipeye-internal/src/tests/samples/dataclassKwOnly1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassKwOnly2.py b/packages/vipeye-internal/src/tests/samples/dataclassKwOnly2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassKwOnly2.py rename to packages/vipeye-internal/src/tests/samples/dataclassKwOnly2.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassNamedTuple1.py b/packages/vipeye-internal/src/tests/samples/dataclassNamedTuple1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassNamedTuple1.py rename to packages/vipeye-internal/src/tests/samples/dataclassNamedTuple1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassNamedTuple2.py b/packages/vipeye-internal/src/tests/samples/dataclassNamedTuple2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassNamedTuple2.py rename to packages/vipeye-internal/src/tests/samples/dataclassNamedTuple2.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassPostInit1.py b/packages/vipeye-internal/src/tests/samples/dataclassPostInit1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassPostInit1.py rename to packages/vipeye-internal/src/tests/samples/dataclassPostInit1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassReplace1.py b/packages/vipeye-internal/src/tests/samples/dataclassReplace1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassReplace1.py rename to packages/vipeye-internal/src/tests/samples/dataclassReplace1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassSlots1.py b/packages/vipeye-internal/src/tests/samples/dataclassSlots1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassSlots1.py rename to packages/vipeye-internal/src/tests/samples/dataclassSlots1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassTransform1.py b/packages/vipeye-internal/src/tests/samples/dataclassTransform1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassTransform1.py rename to packages/vipeye-internal/src/tests/samples/dataclassTransform1.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassTransform2.py b/packages/vipeye-internal/src/tests/samples/dataclassTransform2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassTransform2.py rename to packages/vipeye-internal/src/tests/samples/dataclassTransform2.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassTransform3.py b/packages/vipeye-internal/src/tests/samples/dataclassTransform3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassTransform3.py rename to packages/vipeye-internal/src/tests/samples/dataclassTransform3.py diff --git a/packages/pyright-internal/src/tests/samples/dataclassTransform4.py b/packages/vipeye-internal/src/tests/samples/dataclassTransform4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dataclassTransform4.py rename to packages/vipeye-internal/src/tests/samples/dataclassTransform4.py diff --git a/packages/pyright-internal/src/tests/samples/decorator1.py b/packages/vipeye-internal/src/tests/samples/decorator1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/decorator1.py rename to packages/vipeye-internal/src/tests/samples/decorator1.py diff --git a/packages/pyright-internal/src/tests/samples/decorator2.py b/packages/vipeye-internal/src/tests/samples/decorator2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/decorator2.py rename to packages/vipeye-internal/src/tests/samples/decorator2.py diff --git a/packages/pyright-internal/src/tests/samples/decorator3.py b/packages/vipeye-internal/src/tests/samples/decorator3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/decorator3.py rename to packages/vipeye-internal/src/tests/samples/decorator3.py diff --git a/packages/pyright-internal/src/tests/samples/decorator4.py b/packages/vipeye-internal/src/tests/samples/decorator4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/decorator4.py rename to packages/vipeye-internal/src/tests/samples/decorator4.py diff --git a/packages/pyright-internal/src/tests/samples/decorator5.py b/packages/vipeye-internal/src/tests/samples/decorator5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/decorator5.py rename to packages/vipeye-internal/src/tests/samples/decorator5.py diff --git a/packages/pyright-internal/src/tests/samples/decorator6.py b/packages/vipeye-internal/src/tests/samples/decorator6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/decorator6.py rename to packages/vipeye-internal/src/tests/samples/decorator6.py diff --git a/packages/pyright-internal/src/tests/samples/decorator7.py b/packages/vipeye-internal/src/tests/samples/decorator7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/decorator7.py rename to packages/vipeye-internal/src/tests/samples/decorator7.py diff --git a/packages/pyright-internal/src/tests/samples/defaultInitializer1.py b/packages/vipeye-internal/src/tests/samples/defaultInitializer1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/defaultInitializer1.py rename to packages/vipeye-internal/src/tests/samples/defaultInitializer1.py diff --git a/packages/pyright-internal/src/tests/samples/del1.py b/packages/vipeye-internal/src/tests/samples/del1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/del1.py rename to packages/vipeye-internal/src/tests/samples/del1.py diff --git a/packages/pyright-internal/src/tests/samples/del2.py b/packages/vipeye-internal/src/tests/samples/del2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/del2.py rename to packages/vipeye-internal/src/tests/samples/del2.py diff --git a/packages/pyright-internal/src/tests/samples/deprecated2.py b/packages/vipeye-internal/src/tests/samples/deprecated2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecated2.py rename to packages/vipeye-internal/src/tests/samples/deprecated2.py diff --git a/packages/pyright-internal/src/tests/samples/deprecated3.py b/packages/vipeye-internal/src/tests/samples/deprecated3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecated3.py rename to packages/vipeye-internal/src/tests/samples/deprecated3.py diff --git a/packages/pyright-internal/src/tests/samples/deprecated4.py b/packages/vipeye-internal/src/tests/samples/deprecated4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecated4.py rename to packages/vipeye-internal/src/tests/samples/deprecated4.py diff --git a/packages/pyright-internal/src/tests/samples/deprecated5.py b/packages/vipeye-internal/src/tests/samples/deprecated5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecated5.py rename to packages/vipeye-internal/src/tests/samples/deprecated5.py diff --git a/packages/pyright-internal/src/tests/samples/deprecated6.py b/packages/vipeye-internal/src/tests/samples/deprecated6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecated6.py rename to packages/vipeye-internal/src/tests/samples/deprecated6.py diff --git a/packages/pyright-internal/src/tests/samples/deprecated7.py b/packages/vipeye-internal/src/tests/samples/deprecated7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecated7.py rename to packages/vipeye-internal/src/tests/samples/deprecated7.py diff --git a/packages/pyright-internal/src/tests/samples/deprecated8.py b/packages/vipeye-internal/src/tests/samples/deprecated8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecated8.py rename to packages/vipeye-internal/src/tests/samples/deprecated8.py diff --git a/packages/pyright-internal/src/tests/samples/deprecatedAlias1.py b/packages/vipeye-internal/src/tests/samples/deprecatedAlias1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecatedAlias1.py rename to packages/vipeye-internal/src/tests/samples/deprecatedAlias1.py diff --git a/packages/pyright-internal/src/tests/samples/deprecatedAlias2.py b/packages/vipeye-internal/src/tests/samples/deprecatedAlias2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/deprecatedAlias2.py rename to packages/vipeye-internal/src/tests/samples/deprecatedAlias2.py diff --git a/packages/pyright-internal/src/tests/samples/descriptor1.py b/packages/vipeye-internal/src/tests/samples/descriptor1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/descriptor1.py rename to packages/vipeye-internal/src/tests/samples/descriptor1.py diff --git a/packages/pyright-internal/src/tests/samples/descriptor2.py b/packages/vipeye-internal/src/tests/samples/descriptor2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/descriptor2.py rename to packages/vipeye-internal/src/tests/samples/descriptor2.py diff --git a/packages/pyright-internal/src/tests/samples/descriptor3.py b/packages/vipeye-internal/src/tests/samples/descriptor3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/descriptor3.py rename to packages/vipeye-internal/src/tests/samples/descriptor3.py diff --git a/packages/pyright-internal/src/tests/samples/descriptor4.py b/packages/vipeye-internal/src/tests/samples/descriptor4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/descriptor4.py rename to packages/vipeye-internal/src/tests/samples/descriptor4.py diff --git a/packages/pyright-internal/src/tests/samples/dictionary1.py b/packages/vipeye-internal/src/tests/samples/dictionary1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dictionary1.py rename to packages/vipeye-internal/src/tests/samples/dictionary1.py diff --git a/packages/pyright-internal/src/tests/samples/dictionary2.py b/packages/vipeye-internal/src/tests/samples/dictionary2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dictionary2.py rename to packages/vipeye-internal/src/tests/samples/dictionary2.py diff --git a/packages/pyright-internal/src/tests/samples/dictionary3.py b/packages/vipeye-internal/src/tests/samples/dictionary3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dictionary3.py rename to packages/vipeye-internal/src/tests/samples/dictionary3.py diff --git a/packages/pyright-internal/src/tests/samples/dictionary4.py b/packages/vipeye-internal/src/tests/samples/dictionary4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dictionary4.py rename to packages/vipeye-internal/src/tests/samples/dictionary4.py diff --git a/packages/pyright-internal/src/tests/samples/dunderAll1.py b/packages/vipeye-internal/src/tests/samples/dunderAll1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dunderAll1.py rename to packages/vipeye-internal/src/tests/samples/dunderAll1.py diff --git a/packages/pyright-internal/src/tests/samples/dunderAll2.py b/packages/vipeye-internal/src/tests/samples/dunderAll2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/dunderAll2.py rename to packages/vipeye-internal/src/tests/samples/dunderAll2.py diff --git a/packages/pyright-internal/src/tests/samples/dunderAll3.pyi b/packages/vipeye-internal/src/tests/samples/dunderAll3.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/dunderAll3.pyi rename to packages/vipeye-internal/src/tests/samples/dunderAll3.pyi diff --git a/packages/pyright-internal/src/tests/samples/duplicateDeclaration1.py b/packages/vipeye-internal/src/tests/samples/duplicateDeclaration1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/duplicateDeclaration1.py rename to packages/vipeye-internal/src/tests/samples/duplicateDeclaration1.py diff --git a/packages/pyright-internal/src/tests/samples/duplicateDeclaration2.py b/packages/vipeye-internal/src/tests/samples/duplicateDeclaration2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/duplicateDeclaration2.py rename to packages/vipeye-internal/src/tests/samples/duplicateDeclaration2.py diff --git a/packages/pyright-internal/src/tests/samples/duplicateImports1.py b/packages/vipeye-internal/src/tests/samples/duplicateImports1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/duplicateImports1.py rename to packages/vipeye-internal/src/tests/samples/duplicateImports1.py diff --git a/packages/pyright-internal/src/tests/samples/ellipsis1.pyi b/packages/vipeye-internal/src/tests/samples/ellipsis1.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/ellipsis1.pyi rename to packages/vipeye-internal/src/tests/samples/ellipsis1.pyi diff --git a/packages/pyright-internal/src/tests/samples/emptyContainers1.py b/packages/vipeye-internal/src/tests/samples/emptyContainers1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/emptyContainers1.py rename to packages/vipeye-internal/src/tests/samples/emptyContainers1.py diff --git a/packages/pyright-internal/src/tests/samples/enum1.py b/packages/vipeye-internal/src/tests/samples/enum1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum1.py rename to packages/vipeye-internal/src/tests/samples/enum1.py diff --git a/packages/pyright-internal/src/tests/samples/enum10.py b/packages/vipeye-internal/src/tests/samples/enum10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum10.py rename to packages/vipeye-internal/src/tests/samples/enum10.py diff --git a/packages/pyright-internal/src/tests/samples/enum11.py b/packages/vipeye-internal/src/tests/samples/enum11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum11.py rename to packages/vipeye-internal/src/tests/samples/enum11.py diff --git a/packages/pyright-internal/src/tests/samples/enum12.py b/packages/vipeye-internal/src/tests/samples/enum12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum12.py rename to packages/vipeye-internal/src/tests/samples/enum12.py diff --git a/packages/pyright-internal/src/tests/samples/enum13.py b/packages/vipeye-internal/src/tests/samples/enum13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum13.py rename to packages/vipeye-internal/src/tests/samples/enum13.py diff --git a/packages/pyright-internal/src/tests/samples/enum14.py b/packages/vipeye-internal/src/tests/samples/enum14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum14.py rename to packages/vipeye-internal/src/tests/samples/enum14.py diff --git a/packages/pyright-internal/src/tests/samples/enum2.py b/packages/vipeye-internal/src/tests/samples/enum2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum2.py rename to packages/vipeye-internal/src/tests/samples/enum2.py diff --git a/packages/pyright-internal/src/tests/samples/enum3.py b/packages/vipeye-internal/src/tests/samples/enum3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum3.py rename to packages/vipeye-internal/src/tests/samples/enum3.py diff --git a/packages/pyright-internal/src/tests/samples/enum4.py b/packages/vipeye-internal/src/tests/samples/enum4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum4.py rename to packages/vipeye-internal/src/tests/samples/enum4.py diff --git a/packages/pyright-internal/src/tests/samples/enum5.py b/packages/vipeye-internal/src/tests/samples/enum5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum5.py rename to packages/vipeye-internal/src/tests/samples/enum5.py diff --git a/packages/pyright-internal/src/tests/samples/enum6.py b/packages/vipeye-internal/src/tests/samples/enum6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum6.py rename to packages/vipeye-internal/src/tests/samples/enum6.py diff --git a/packages/pyright-internal/src/tests/samples/enum7.py b/packages/vipeye-internal/src/tests/samples/enum7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum7.py rename to packages/vipeye-internal/src/tests/samples/enum7.py diff --git a/packages/pyright-internal/src/tests/samples/enum8.py b/packages/vipeye-internal/src/tests/samples/enum8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum8.py rename to packages/vipeye-internal/src/tests/samples/enum8.py diff --git a/packages/pyright-internal/src/tests/samples/enum9.py b/packages/vipeye-internal/src/tests/samples/enum9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enum9.py rename to packages/vipeye-internal/src/tests/samples/enum9.py diff --git a/packages/pyright-internal/src/tests/samples/enumAuto1.py b/packages/vipeye-internal/src/tests/samples/enumAuto1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enumAuto1.py rename to packages/vipeye-internal/src/tests/samples/enumAuto1.py diff --git a/packages/pyright-internal/src/tests/samples/enumGenNextValue1.py b/packages/vipeye-internal/src/tests/samples/enumGenNextValue1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/enumGenNextValue1.py rename to packages/vipeye-internal/src/tests/samples/enumGenNextValue1.py diff --git a/packages/pyright-internal/src/tests/samples/exceptionGroup1.py b/packages/vipeye-internal/src/tests/samples/exceptionGroup1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/exceptionGroup1.py rename to packages/vipeye-internal/src/tests/samples/exceptionGroup1.py diff --git a/packages/pyright-internal/src/tests/samples/expression1.py b/packages/vipeye-internal/src/tests/samples/expression1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression1.py rename to packages/vipeye-internal/src/tests/samples/expression1.py diff --git a/packages/pyright-internal/src/tests/samples/expression2.py b/packages/vipeye-internal/src/tests/samples/expression2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression2.py rename to packages/vipeye-internal/src/tests/samples/expression2.py diff --git a/packages/pyright-internal/src/tests/samples/expression3.py b/packages/vipeye-internal/src/tests/samples/expression3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression3.py rename to packages/vipeye-internal/src/tests/samples/expression3.py diff --git a/packages/pyright-internal/src/tests/samples/expression4.py b/packages/vipeye-internal/src/tests/samples/expression4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression4.py rename to packages/vipeye-internal/src/tests/samples/expression4.py diff --git a/packages/pyright-internal/src/tests/samples/expression5.py b/packages/vipeye-internal/src/tests/samples/expression5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression5.py rename to packages/vipeye-internal/src/tests/samples/expression5.py diff --git a/packages/pyright-internal/src/tests/samples/expression6.py b/packages/vipeye-internal/src/tests/samples/expression6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression6.py rename to packages/vipeye-internal/src/tests/samples/expression6.py diff --git a/packages/pyright-internal/src/tests/samples/expression7.py b/packages/vipeye-internal/src/tests/samples/expression7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression7.py rename to packages/vipeye-internal/src/tests/samples/expression7.py diff --git a/packages/pyright-internal/src/tests/samples/expression8.py b/packages/vipeye-internal/src/tests/samples/expression8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression8.py rename to packages/vipeye-internal/src/tests/samples/expression8.py diff --git a/packages/pyright-internal/src/tests/samples/expression9.py b/packages/vipeye-internal/src/tests/samples/expression9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/expression9.py rename to packages/vipeye-internal/src/tests/samples/expression9.py diff --git a/packages/pyright-internal/src/tests/samples/final1.py b/packages/vipeye-internal/src/tests/samples/final1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/final1.py rename to packages/vipeye-internal/src/tests/samples/final1.py diff --git a/packages/pyright-internal/src/tests/samples/final2.py b/packages/vipeye-internal/src/tests/samples/final2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/final2.py rename to packages/vipeye-internal/src/tests/samples/final2.py diff --git a/packages/pyright-internal/src/tests/samples/final3.py b/packages/vipeye-internal/src/tests/samples/final3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/final3.py rename to packages/vipeye-internal/src/tests/samples/final3.py diff --git a/packages/pyright-internal/src/tests/samples/final4.pyi b/packages/vipeye-internal/src/tests/samples/final4.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/final4.pyi rename to packages/vipeye-internal/src/tests/samples/final4.pyi diff --git a/packages/pyright-internal/src/tests/samples/final5.py b/packages/vipeye-internal/src/tests/samples/final5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/final5.py rename to packages/vipeye-internal/src/tests/samples/final5.py diff --git a/packages/pyright-internal/src/tests/samples/final6.pyi b/packages/vipeye-internal/src/tests/samples/final6.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/final6.pyi rename to packages/vipeye-internal/src/tests/samples/final6.pyi diff --git a/packages/pyright-internal/src/tests/samples/final7.py b/packages/vipeye-internal/src/tests/samples/final7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/final7.py rename to packages/vipeye-internal/src/tests/samples/final7.py diff --git a/packages/pyright-internal/src/tests/samples/final8.py b/packages/vipeye-internal/src/tests/samples/final8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/final8.py rename to packages/vipeye-internal/src/tests/samples/final8.py diff --git a/packages/pyright-internal/src/tests/samples/finallyExit1.py b/packages/vipeye-internal/src/tests/samples/finallyExit1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/finallyExit1.py rename to packages/vipeye-internal/src/tests/samples/finallyExit1.py diff --git a/packages/pyright-internal/src/tests/samples/forLoop1.py b/packages/vipeye-internal/src/tests/samples/forLoop1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/forLoop1.py rename to packages/vipeye-internal/src/tests/samples/forLoop1.py diff --git a/packages/pyright-internal/src/tests/samples/forLoop2.py b/packages/vipeye-internal/src/tests/samples/forLoop2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/forLoop2.py rename to packages/vipeye-internal/src/tests/samples/forLoop2.py diff --git a/packages/pyright-internal/src/tests/samples/fstring1.py b/packages/vipeye-internal/src/tests/samples/fstring1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/fstring1.py rename to packages/vipeye-internal/src/tests/samples/fstring1.py diff --git a/packages/pyright-internal/src/tests/samples/fstring2.py b/packages/vipeye-internal/src/tests/samples/fstring2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/fstring2.py rename to packages/vipeye-internal/src/tests/samples/fstring2.py diff --git a/packages/pyright-internal/src/tests/samples/fstring3.py b/packages/vipeye-internal/src/tests/samples/fstring3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/fstring3.py rename to packages/vipeye-internal/src/tests/samples/fstring3.py diff --git a/packages/pyright-internal/src/tests/samples/fstring4.py b/packages/vipeye-internal/src/tests/samples/fstring4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/fstring4.py rename to packages/vipeye-internal/src/tests/samples/fstring4.py diff --git a/packages/pyright-internal/src/tests/samples/fstring5.py b/packages/vipeye-internal/src/tests/samples/fstring5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/fstring5.py rename to packages/vipeye-internal/src/tests/samples/fstring5.py diff --git a/packages/pyright-internal/src/tests/samples/fstring6.py b/packages/vipeye-internal/src/tests/samples/fstring6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/fstring6.py rename to packages/vipeye-internal/src/tests/samples/fstring6.py diff --git a/packages/pyright-internal/src/tests/samples/function1.py b/packages/vipeye-internal/src/tests/samples/function1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function1.py rename to packages/vipeye-internal/src/tests/samples/function1.py diff --git a/packages/pyright-internal/src/tests/samples/function10.py b/packages/vipeye-internal/src/tests/samples/function10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function10.py rename to packages/vipeye-internal/src/tests/samples/function10.py diff --git a/packages/pyright-internal/src/tests/samples/function2.py b/packages/vipeye-internal/src/tests/samples/function2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function2.py rename to packages/vipeye-internal/src/tests/samples/function2.py diff --git a/packages/pyright-internal/src/tests/samples/function3.py b/packages/vipeye-internal/src/tests/samples/function3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function3.py rename to packages/vipeye-internal/src/tests/samples/function3.py diff --git a/packages/pyright-internal/src/tests/samples/function5.py b/packages/vipeye-internal/src/tests/samples/function5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function5.py rename to packages/vipeye-internal/src/tests/samples/function5.py diff --git a/packages/pyright-internal/src/tests/samples/function6.py b/packages/vipeye-internal/src/tests/samples/function6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function6.py rename to packages/vipeye-internal/src/tests/samples/function6.py diff --git a/packages/pyright-internal/src/tests/samples/function7.py b/packages/vipeye-internal/src/tests/samples/function7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function7.py rename to packages/vipeye-internal/src/tests/samples/function7.py diff --git a/packages/pyright-internal/src/tests/samples/function8.py b/packages/vipeye-internal/src/tests/samples/function8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function8.py rename to packages/vipeye-internal/src/tests/samples/function8.py diff --git a/packages/pyright-internal/src/tests/samples/function9.py b/packages/vipeye-internal/src/tests/samples/function9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/function9.py rename to packages/vipeye-internal/src/tests/samples/function9.py diff --git a/packages/pyright-internal/src/tests/samples/functionAnnotation1.py b/packages/vipeye-internal/src/tests/samples/functionAnnotation1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/functionAnnotation1.py rename to packages/vipeye-internal/src/tests/samples/functionAnnotation1.py diff --git a/packages/pyright-internal/src/tests/samples/functionAnnotation2.py b/packages/vipeye-internal/src/tests/samples/functionAnnotation2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/functionAnnotation2.py rename to packages/vipeye-internal/src/tests/samples/functionAnnotation2.py diff --git a/packages/pyright-internal/src/tests/samples/functionAnnotation3.py b/packages/vipeye-internal/src/tests/samples/functionAnnotation3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/functionAnnotation3.py rename to packages/vipeye-internal/src/tests/samples/functionAnnotation3.py diff --git a/packages/pyright-internal/src/tests/samples/functionAnnotation4.py b/packages/vipeye-internal/src/tests/samples/functionAnnotation4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/functionAnnotation4.py rename to packages/vipeye-internal/src/tests/samples/functionAnnotation4.py diff --git a/packages/pyright-internal/src/tests/samples/functionAssignabilityMessage1.py b/packages/vipeye-internal/src/tests/samples/functionAssignabilityMessage1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/functionAssignabilityMessage1.py rename to packages/vipeye-internal/src/tests/samples/functionAssignabilityMessage1.py diff --git a/packages/pyright-internal/src/tests/samples/functionMember1.py b/packages/vipeye-internal/src/tests/samples/functionMember1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/functionMember1.py rename to packages/vipeye-internal/src/tests/samples/functionMember1.py diff --git a/packages/pyright-internal/src/tests/samples/functionMember2.py b/packages/vipeye-internal/src/tests/samples/functionMember2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/functionMember2.py rename to packages/vipeye-internal/src/tests/samples/functionMember2.py diff --git a/packages/pyright-internal/src/tests/samples/futureImport1.py b/packages/vipeye-internal/src/tests/samples/futureImport1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/futureImport1.py rename to packages/vipeye-internal/src/tests/samples/futureImport1.py diff --git a/packages/pyright-internal/src/tests/samples/futureImport2.py b/packages/vipeye-internal/src/tests/samples/futureImport2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/futureImport2.py rename to packages/vipeye-internal/src/tests/samples/futureImport2.py diff --git a/packages/pyright-internal/src/tests/samples/futureImport3.py b/packages/vipeye-internal/src/tests/samples/futureImport3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/futureImport3.py rename to packages/vipeye-internal/src/tests/samples/futureImport3.py diff --git a/packages/pyright-internal/src/tests/samples/generator1.py b/packages/vipeye-internal/src/tests/samples/generator1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator1.py rename to packages/vipeye-internal/src/tests/samples/generator1.py diff --git a/packages/pyright-internal/src/tests/samples/generator10.py b/packages/vipeye-internal/src/tests/samples/generator10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator10.py rename to packages/vipeye-internal/src/tests/samples/generator10.py diff --git a/packages/pyright-internal/src/tests/samples/generator11.py b/packages/vipeye-internal/src/tests/samples/generator11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator11.py rename to packages/vipeye-internal/src/tests/samples/generator11.py diff --git a/packages/pyright-internal/src/tests/samples/generator12.py b/packages/vipeye-internal/src/tests/samples/generator12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator12.py rename to packages/vipeye-internal/src/tests/samples/generator12.py diff --git a/packages/pyright-internal/src/tests/samples/generator13.py b/packages/vipeye-internal/src/tests/samples/generator13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator13.py rename to packages/vipeye-internal/src/tests/samples/generator13.py diff --git a/packages/pyright-internal/src/tests/samples/generator14.py b/packages/vipeye-internal/src/tests/samples/generator14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator14.py rename to packages/vipeye-internal/src/tests/samples/generator14.py diff --git a/packages/pyright-internal/src/tests/samples/generator15.py b/packages/vipeye-internal/src/tests/samples/generator15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator15.py rename to packages/vipeye-internal/src/tests/samples/generator15.py diff --git a/packages/pyright-internal/src/tests/samples/generator16.py b/packages/vipeye-internal/src/tests/samples/generator16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator16.py rename to packages/vipeye-internal/src/tests/samples/generator16.py diff --git a/packages/pyright-internal/src/tests/samples/generator2.py b/packages/vipeye-internal/src/tests/samples/generator2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator2.py rename to packages/vipeye-internal/src/tests/samples/generator2.py diff --git a/packages/pyright-internal/src/tests/samples/generator3.py b/packages/vipeye-internal/src/tests/samples/generator3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator3.py rename to packages/vipeye-internal/src/tests/samples/generator3.py diff --git a/packages/pyright-internal/src/tests/samples/generator4.py b/packages/vipeye-internal/src/tests/samples/generator4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator4.py rename to packages/vipeye-internal/src/tests/samples/generator4.py diff --git a/packages/pyright-internal/src/tests/samples/generator5.py b/packages/vipeye-internal/src/tests/samples/generator5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator5.py rename to packages/vipeye-internal/src/tests/samples/generator5.py diff --git a/packages/pyright-internal/src/tests/samples/generator6.py b/packages/vipeye-internal/src/tests/samples/generator6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator6.py rename to packages/vipeye-internal/src/tests/samples/generator6.py diff --git a/packages/pyright-internal/src/tests/samples/generator7.py b/packages/vipeye-internal/src/tests/samples/generator7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator7.py rename to packages/vipeye-internal/src/tests/samples/generator7.py diff --git a/packages/pyright-internal/src/tests/samples/generator8.py b/packages/vipeye-internal/src/tests/samples/generator8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator8.py rename to packages/vipeye-internal/src/tests/samples/generator8.py diff --git a/packages/pyright-internal/src/tests/samples/generator9.py b/packages/vipeye-internal/src/tests/samples/generator9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generator9.py rename to packages/vipeye-internal/src/tests/samples/generator9.py diff --git a/packages/pyright-internal/src/tests/samples/generic1.py b/packages/vipeye-internal/src/tests/samples/generic1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generic1.py rename to packages/vipeye-internal/src/tests/samples/generic1.py diff --git a/packages/pyright-internal/src/tests/samples/generic2.py b/packages/vipeye-internal/src/tests/samples/generic2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generic2.py rename to packages/vipeye-internal/src/tests/samples/generic2.py diff --git a/packages/pyright-internal/src/tests/samples/generic3.py b/packages/vipeye-internal/src/tests/samples/generic3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/generic3.py rename to packages/vipeye-internal/src/tests/samples/generic3.py diff --git a/packages/pyright-internal/src/tests/samples/genericType1.py b/packages/vipeye-internal/src/tests/samples/genericType1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType1.py rename to packages/vipeye-internal/src/tests/samples/genericType1.py diff --git a/packages/pyright-internal/src/tests/samples/genericType10.py b/packages/vipeye-internal/src/tests/samples/genericType10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType10.py rename to packages/vipeye-internal/src/tests/samples/genericType10.py diff --git a/packages/pyright-internal/src/tests/samples/genericType11.py b/packages/vipeye-internal/src/tests/samples/genericType11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType11.py rename to packages/vipeye-internal/src/tests/samples/genericType11.py diff --git a/packages/pyright-internal/src/tests/samples/genericType12.py b/packages/vipeye-internal/src/tests/samples/genericType12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType12.py rename to packages/vipeye-internal/src/tests/samples/genericType12.py diff --git a/packages/pyright-internal/src/tests/samples/genericType13.py b/packages/vipeye-internal/src/tests/samples/genericType13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType13.py rename to packages/vipeye-internal/src/tests/samples/genericType13.py diff --git a/packages/pyright-internal/src/tests/samples/genericType14.py b/packages/vipeye-internal/src/tests/samples/genericType14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType14.py rename to packages/vipeye-internal/src/tests/samples/genericType14.py diff --git a/packages/pyright-internal/src/tests/samples/genericType15.py b/packages/vipeye-internal/src/tests/samples/genericType15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType15.py rename to packages/vipeye-internal/src/tests/samples/genericType15.py diff --git a/packages/pyright-internal/src/tests/samples/genericType16.py b/packages/vipeye-internal/src/tests/samples/genericType16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType16.py rename to packages/vipeye-internal/src/tests/samples/genericType16.py diff --git a/packages/pyright-internal/src/tests/samples/genericType17.py b/packages/vipeye-internal/src/tests/samples/genericType17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType17.py rename to packages/vipeye-internal/src/tests/samples/genericType17.py diff --git a/packages/pyright-internal/src/tests/samples/genericType18.py b/packages/vipeye-internal/src/tests/samples/genericType18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType18.py rename to packages/vipeye-internal/src/tests/samples/genericType18.py diff --git a/packages/pyright-internal/src/tests/samples/genericType19.py b/packages/vipeye-internal/src/tests/samples/genericType19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType19.py rename to packages/vipeye-internal/src/tests/samples/genericType19.py diff --git a/packages/pyright-internal/src/tests/samples/genericType2.py b/packages/vipeye-internal/src/tests/samples/genericType2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType2.py rename to packages/vipeye-internal/src/tests/samples/genericType2.py diff --git a/packages/pyright-internal/src/tests/samples/genericType20.py b/packages/vipeye-internal/src/tests/samples/genericType20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType20.py rename to packages/vipeye-internal/src/tests/samples/genericType20.py diff --git a/packages/pyright-internal/src/tests/samples/genericType21.py b/packages/vipeye-internal/src/tests/samples/genericType21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType21.py rename to packages/vipeye-internal/src/tests/samples/genericType21.py diff --git a/packages/pyright-internal/src/tests/samples/genericType22.py b/packages/vipeye-internal/src/tests/samples/genericType22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType22.py rename to packages/vipeye-internal/src/tests/samples/genericType22.py diff --git a/packages/pyright-internal/src/tests/samples/genericType23.py b/packages/vipeye-internal/src/tests/samples/genericType23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType23.py rename to packages/vipeye-internal/src/tests/samples/genericType23.py diff --git a/packages/pyright-internal/src/tests/samples/genericType24.py b/packages/vipeye-internal/src/tests/samples/genericType24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType24.py rename to packages/vipeye-internal/src/tests/samples/genericType24.py diff --git a/packages/pyright-internal/src/tests/samples/genericType25.py b/packages/vipeye-internal/src/tests/samples/genericType25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType25.py rename to packages/vipeye-internal/src/tests/samples/genericType25.py diff --git a/packages/pyright-internal/src/tests/samples/genericType26.py b/packages/vipeye-internal/src/tests/samples/genericType26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType26.py rename to packages/vipeye-internal/src/tests/samples/genericType26.py diff --git a/packages/pyright-internal/src/tests/samples/genericType27.py b/packages/vipeye-internal/src/tests/samples/genericType27.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType27.py rename to packages/vipeye-internal/src/tests/samples/genericType27.py diff --git a/packages/pyright-internal/src/tests/samples/genericType28.py b/packages/vipeye-internal/src/tests/samples/genericType28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType28.py rename to packages/vipeye-internal/src/tests/samples/genericType28.py diff --git a/packages/pyright-internal/src/tests/samples/genericType29.py b/packages/vipeye-internal/src/tests/samples/genericType29.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType29.py rename to packages/vipeye-internal/src/tests/samples/genericType29.py diff --git a/packages/pyright-internal/src/tests/samples/genericType3.py b/packages/vipeye-internal/src/tests/samples/genericType3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType3.py rename to packages/vipeye-internal/src/tests/samples/genericType3.py diff --git a/packages/pyright-internal/src/tests/samples/genericType30.py b/packages/vipeye-internal/src/tests/samples/genericType30.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType30.py rename to packages/vipeye-internal/src/tests/samples/genericType30.py diff --git a/packages/pyright-internal/src/tests/samples/genericType31.py b/packages/vipeye-internal/src/tests/samples/genericType31.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType31.py rename to packages/vipeye-internal/src/tests/samples/genericType31.py diff --git a/packages/pyright-internal/src/tests/samples/genericType32.py b/packages/vipeye-internal/src/tests/samples/genericType32.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType32.py rename to packages/vipeye-internal/src/tests/samples/genericType32.py diff --git a/packages/pyright-internal/src/tests/samples/genericType33.py b/packages/vipeye-internal/src/tests/samples/genericType33.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType33.py rename to packages/vipeye-internal/src/tests/samples/genericType33.py diff --git a/packages/pyright-internal/src/tests/samples/genericType34.py b/packages/vipeye-internal/src/tests/samples/genericType34.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType34.py rename to packages/vipeye-internal/src/tests/samples/genericType34.py diff --git a/packages/pyright-internal/src/tests/samples/genericType35.py b/packages/vipeye-internal/src/tests/samples/genericType35.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType35.py rename to packages/vipeye-internal/src/tests/samples/genericType35.py diff --git a/packages/pyright-internal/src/tests/samples/genericType36.py b/packages/vipeye-internal/src/tests/samples/genericType36.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType36.py rename to packages/vipeye-internal/src/tests/samples/genericType36.py diff --git a/packages/pyright-internal/src/tests/samples/genericType37.py b/packages/vipeye-internal/src/tests/samples/genericType37.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType37.py rename to packages/vipeye-internal/src/tests/samples/genericType37.py diff --git a/packages/pyright-internal/src/tests/samples/genericType38.py b/packages/vipeye-internal/src/tests/samples/genericType38.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType38.py rename to packages/vipeye-internal/src/tests/samples/genericType38.py diff --git a/packages/pyright-internal/src/tests/samples/genericType39.py b/packages/vipeye-internal/src/tests/samples/genericType39.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType39.py rename to packages/vipeye-internal/src/tests/samples/genericType39.py diff --git a/packages/pyright-internal/src/tests/samples/genericType4.py b/packages/vipeye-internal/src/tests/samples/genericType4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType4.py rename to packages/vipeye-internal/src/tests/samples/genericType4.py diff --git a/packages/pyright-internal/src/tests/samples/genericType40.py b/packages/vipeye-internal/src/tests/samples/genericType40.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType40.py rename to packages/vipeye-internal/src/tests/samples/genericType40.py diff --git a/packages/pyright-internal/src/tests/samples/genericType41.py b/packages/vipeye-internal/src/tests/samples/genericType41.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType41.py rename to packages/vipeye-internal/src/tests/samples/genericType41.py diff --git a/packages/pyright-internal/src/tests/samples/genericType42.py b/packages/vipeye-internal/src/tests/samples/genericType42.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType42.py rename to packages/vipeye-internal/src/tests/samples/genericType42.py diff --git a/packages/pyright-internal/src/tests/samples/genericType43.py b/packages/vipeye-internal/src/tests/samples/genericType43.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType43.py rename to packages/vipeye-internal/src/tests/samples/genericType43.py diff --git a/packages/pyright-internal/src/tests/samples/genericType44.py b/packages/vipeye-internal/src/tests/samples/genericType44.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType44.py rename to packages/vipeye-internal/src/tests/samples/genericType44.py diff --git a/packages/pyright-internal/src/tests/samples/genericType45.py b/packages/vipeye-internal/src/tests/samples/genericType45.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType45.py rename to packages/vipeye-internal/src/tests/samples/genericType45.py diff --git a/packages/pyright-internal/src/tests/samples/genericType46.py b/packages/vipeye-internal/src/tests/samples/genericType46.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType46.py rename to packages/vipeye-internal/src/tests/samples/genericType46.py diff --git a/packages/pyright-internal/src/tests/samples/genericType47.py b/packages/vipeye-internal/src/tests/samples/genericType47.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType47.py rename to packages/vipeye-internal/src/tests/samples/genericType47.py diff --git a/packages/pyright-internal/src/tests/samples/genericType5.py b/packages/vipeye-internal/src/tests/samples/genericType5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType5.py rename to packages/vipeye-internal/src/tests/samples/genericType5.py diff --git a/packages/pyright-internal/src/tests/samples/genericType6.py b/packages/vipeye-internal/src/tests/samples/genericType6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType6.py rename to packages/vipeye-internal/src/tests/samples/genericType6.py diff --git a/packages/pyright-internal/src/tests/samples/genericType7.py b/packages/vipeye-internal/src/tests/samples/genericType7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType7.py rename to packages/vipeye-internal/src/tests/samples/genericType7.py diff --git a/packages/pyright-internal/src/tests/samples/genericType8.py b/packages/vipeye-internal/src/tests/samples/genericType8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType8.py rename to packages/vipeye-internal/src/tests/samples/genericType8.py diff --git a/packages/pyright-internal/src/tests/samples/genericType9.py b/packages/vipeye-internal/src/tests/samples/genericType9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/genericType9.py rename to packages/vipeye-internal/src/tests/samples/genericType9.py diff --git a/packages/pyright-internal/src/tests/samples/hashability1.py b/packages/vipeye-internal/src/tests/samples/hashability1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/hashability1.py rename to packages/vipeye-internal/src/tests/samples/hashability1.py diff --git a/packages/pyright-internal/src/tests/samples/hashability2.py b/packages/vipeye-internal/src/tests/samples/hashability2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/hashability2.py rename to packages/vipeye-internal/src/tests/samples/hashability2.py diff --git a/packages/pyright-internal/src/tests/samples/hashability3.py b/packages/vipeye-internal/src/tests/samples/hashability3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/hashability3.py rename to packages/vipeye-internal/src/tests/samples/hashability3.py diff --git a/packages/pyright-internal/src/tests/samples/import1.py b/packages/vipeye-internal/src/tests/samples/import1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import1.py rename to packages/vipeye-internal/src/tests/samples/import1.py diff --git a/packages/pyright-internal/src/tests/samples/import10.py b/packages/vipeye-internal/src/tests/samples/import10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import10.py rename to packages/vipeye-internal/src/tests/samples/import10.py diff --git a/packages/pyright-internal/src/tests/samples/import11.py b/packages/vipeye-internal/src/tests/samples/import11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import11.py rename to packages/vipeye-internal/src/tests/samples/import11.py diff --git a/packages/pyright-internal/src/tests/samples/import12.py b/packages/vipeye-internal/src/tests/samples/import12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import12.py rename to packages/vipeye-internal/src/tests/samples/import12.py diff --git a/packages/pyright-internal/src/tests/samples/import13.py b/packages/vipeye-internal/src/tests/samples/import13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import13.py rename to packages/vipeye-internal/src/tests/samples/import13.py diff --git a/packages/pyright-internal/src/tests/samples/import14.py b/packages/vipeye-internal/src/tests/samples/import14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import14.py rename to packages/vipeye-internal/src/tests/samples/import14.py diff --git a/packages/pyright-internal/src/tests/samples/import15.py b/packages/vipeye-internal/src/tests/samples/import15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import15.py rename to packages/vipeye-internal/src/tests/samples/import15.py diff --git a/packages/pyright-internal/src/tests/samples/import16.py b/packages/vipeye-internal/src/tests/samples/import16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import16.py rename to packages/vipeye-internal/src/tests/samples/import16.py diff --git a/packages/pyright-internal/src/tests/samples/import17.py b/packages/vipeye-internal/src/tests/samples/import17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import17.py rename to packages/vipeye-internal/src/tests/samples/import17.py diff --git a/packages/pyright-internal/src/tests/samples/import18.py b/packages/vipeye-internal/src/tests/samples/import18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import18.py rename to packages/vipeye-internal/src/tests/samples/import18.py diff --git a/packages/pyright-internal/src/tests/samples/import2.py b/packages/vipeye-internal/src/tests/samples/import2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import2.py rename to packages/vipeye-internal/src/tests/samples/import2.py diff --git a/packages/pyright-internal/src/tests/samples/import3.py b/packages/vipeye-internal/src/tests/samples/import3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import3.py rename to packages/vipeye-internal/src/tests/samples/import3.py diff --git a/packages/pyright-internal/src/tests/samples/import4.py b/packages/vipeye-internal/src/tests/samples/import4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import4.py rename to packages/vipeye-internal/src/tests/samples/import4.py diff --git a/packages/pyright-internal/src/tests/samples/import5.py b/packages/vipeye-internal/src/tests/samples/import5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import5.py rename to packages/vipeye-internal/src/tests/samples/import5.py diff --git a/packages/pyright-internal/src/tests/samples/import6.py b/packages/vipeye-internal/src/tests/samples/import6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import6.py rename to packages/vipeye-internal/src/tests/samples/import6.py diff --git a/packages/pyright-internal/src/tests/samples/import7.py b/packages/vipeye-internal/src/tests/samples/import7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import7.py rename to packages/vipeye-internal/src/tests/samples/import7.py diff --git a/packages/pyright-internal/src/tests/samples/import8.py b/packages/vipeye-internal/src/tests/samples/import8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import8.py rename to packages/vipeye-internal/src/tests/samples/import8.py diff --git a/packages/pyright-internal/src/tests/samples/import9.py b/packages/vipeye-internal/src/tests/samples/import9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/import9.py rename to packages/vipeye-internal/src/tests/samples/import9.py diff --git a/packages/pyright-internal/src/tests/samples/inconsistentConstructor1.py b/packages/vipeye-internal/src/tests/samples/inconsistentConstructor1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/inconsistentConstructor1.py rename to packages/vipeye-internal/src/tests/samples/inconsistentConstructor1.py diff --git a/packages/pyright-internal/src/tests/samples/inconsistentSpaceTab1.py b/packages/vipeye-internal/src/tests/samples/inconsistentSpaceTab1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/inconsistentSpaceTab1.py rename to packages/vipeye-internal/src/tests/samples/inconsistentSpaceTab1.py diff --git a/packages/pyright-internal/src/tests/samples/inconsistentSpaceTab2.py b/packages/vipeye-internal/src/tests/samples/inconsistentSpaceTab2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/inconsistentSpaceTab2.py rename to packages/vipeye-internal/src/tests/samples/inconsistentSpaceTab2.py diff --git a/packages/pyright-internal/src/tests/samples/index1.py b/packages/vipeye-internal/src/tests/samples/index1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/index1.py rename to packages/vipeye-internal/src/tests/samples/index1.py diff --git a/packages/pyright-internal/src/tests/samples/inferredTypes1.py b/packages/vipeye-internal/src/tests/samples/inferredTypes1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/inferredTypes1.py rename to packages/vipeye-internal/src/tests/samples/inferredTypes1.py diff --git a/packages/pyright-internal/src/tests/samples/inferredTypes2.py b/packages/vipeye-internal/src/tests/samples/inferredTypes2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/inferredTypes2.py rename to packages/vipeye-internal/src/tests/samples/inferredTypes2.py diff --git a/packages/pyright-internal/src/tests/samples/inferredTypes3.py b/packages/vipeye-internal/src/tests/samples/inferredTypes3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/inferredTypes3.py rename to packages/vipeye-internal/src/tests/samples/inferredTypes3.py diff --git a/packages/pyright-internal/src/tests/samples/initVar1.py b/packages/vipeye-internal/src/tests/samples/initVar1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/initVar1.py rename to packages/vipeye-internal/src/tests/samples/initVar1.py diff --git a/packages/pyright-internal/src/tests/samples/initsubclass1.py b/packages/vipeye-internal/src/tests/samples/initsubclass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/initsubclass1.py rename to packages/vipeye-internal/src/tests/samples/initsubclass1.py diff --git a/packages/pyright-internal/src/tests/samples/initsubclass2.py b/packages/vipeye-internal/src/tests/samples/initsubclass2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/initsubclass2.py rename to packages/vipeye-internal/src/tests/samples/initsubclass2.py diff --git a/packages/pyright-internal/src/tests/samples/initsubclass3.py b/packages/vipeye-internal/src/tests/samples/initsubclass3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/initsubclass3.py rename to packages/vipeye-internal/src/tests/samples/initsubclass3.py diff --git a/packages/pyright-internal/src/tests/samples/isinstance1.py b/packages/vipeye-internal/src/tests/samples/isinstance1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/isinstance1.py rename to packages/vipeye-internal/src/tests/samples/isinstance1.py diff --git a/packages/pyright-internal/src/tests/samples/isinstance2.py b/packages/vipeye-internal/src/tests/samples/isinstance2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/isinstance2.py rename to packages/vipeye-internal/src/tests/samples/isinstance2.py diff --git a/packages/pyright-internal/src/tests/samples/isinstance3.py b/packages/vipeye-internal/src/tests/samples/isinstance3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/isinstance3.py rename to packages/vipeye-internal/src/tests/samples/isinstance3.py diff --git a/packages/pyright-internal/src/tests/samples/isinstance4.py b/packages/vipeye-internal/src/tests/samples/isinstance4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/isinstance4.py rename to packages/vipeye-internal/src/tests/samples/isinstance4.py diff --git a/packages/pyright-internal/src/tests/samples/isinstance5.py b/packages/vipeye-internal/src/tests/samples/isinstance5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/isinstance5.py rename to packages/vipeye-internal/src/tests/samples/isinstance5.py diff --git a/packages/pyright-internal/src/tests/samples/isinstance6.py b/packages/vipeye-internal/src/tests/samples/isinstance6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/isinstance6.py rename to packages/vipeye-internal/src/tests/samples/isinstance6.py diff --git a/packages/pyright-internal/src/tests/samples/kwargsUnpack1.py b/packages/vipeye-internal/src/tests/samples/kwargsUnpack1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/kwargsUnpack1.py rename to packages/vipeye-internal/src/tests/samples/kwargsUnpack1.py diff --git a/packages/pyright-internal/src/tests/samples/kwargsUnpack2.py b/packages/vipeye-internal/src/tests/samples/kwargsUnpack2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/kwargsUnpack2.py rename to packages/vipeye-internal/src/tests/samples/kwargsUnpack2.py diff --git a/packages/pyright-internal/src/tests/samples/lambda1.py b/packages/vipeye-internal/src/tests/samples/lambda1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda1.py rename to packages/vipeye-internal/src/tests/samples/lambda1.py diff --git a/packages/pyright-internal/src/tests/samples/lambda10.py b/packages/vipeye-internal/src/tests/samples/lambda10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda10.py rename to packages/vipeye-internal/src/tests/samples/lambda10.py diff --git a/packages/pyright-internal/src/tests/samples/lambda11.py b/packages/vipeye-internal/src/tests/samples/lambda11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda11.py rename to packages/vipeye-internal/src/tests/samples/lambda11.py diff --git a/packages/pyright-internal/src/tests/samples/lambda12.py b/packages/vipeye-internal/src/tests/samples/lambda12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda12.py rename to packages/vipeye-internal/src/tests/samples/lambda12.py diff --git a/packages/pyright-internal/src/tests/samples/lambda13.py b/packages/vipeye-internal/src/tests/samples/lambda13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda13.py rename to packages/vipeye-internal/src/tests/samples/lambda13.py diff --git a/packages/pyright-internal/src/tests/samples/lambda14.py b/packages/vipeye-internal/src/tests/samples/lambda14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda14.py rename to packages/vipeye-internal/src/tests/samples/lambda14.py diff --git a/packages/pyright-internal/src/tests/samples/lambda15.py b/packages/vipeye-internal/src/tests/samples/lambda15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda15.py rename to packages/vipeye-internal/src/tests/samples/lambda15.py diff --git a/packages/pyright-internal/src/tests/samples/lambda2.py b/packages/vipeye-internal/src/tests/samples/lambda2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda2.py rename to packages/vipeye-internal/src/tests/samples/lambda2.py diff --git a/packages/pyright-internal/src/tests/samples/lambda3.py b/packages/vipeye-internal/src/tests/samples/lambda3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda3.py rename to packages/vipeye-internal/src/tests/samples/lambda3.py diff --git a/packages/pyright-internal/src/tests/samples/lambda4.py b/packages/vipeye-internal/src/tests/samples/lambda4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda4.py rename to packages/vipeye-internal/src/tests/samples/lambda4.py diff --git a/packages/pyright-internal/src/tests/samples/lambda5.py b/packages/vipeye-internal/src/tests/samples/lambda5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda5.py rename to packages/vipeye-internal/src/tests/samples/lambda5.py diff --git a/packages/pyright-internal/src/tests/samples/lambda6.py b/packages/vipeye-internal/src/tests/samples/lambda6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda6.py rename to packages/vipeye-internal/src/tests/samples/lambda6.py diff --git a/packages/pyright-internal/src/tests/samples/lambda7.py b/packages/vipeye-internal/src/tests/samples/lambda7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda7.py rename to packages/vipeye-internal/src/tests/samples/lambda7.py diff --git a/packages/pyright-internal/src/tests/samples/lambda8.py b/packages/vipeye-internal/src/tests/samples/lambda8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda8.py rename to packages/vipeye-internal/src/tests/samples/lambda8.py diff --git a/packages/pyright-internal/src/tests/samples/lambda9.py b/packages/vipeye-internal/src/tests/samples/lambda9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lambda9.py rename to packages/vipeye-internal/src/tests/samples/lambda9.py diff --git a/packages/pyright-internal/src/tests/samples/lazyImport1.py b/packages/vipeye-internal/src/tests/samples/lazyImport1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lazyImport1.py rename to packages/vipeye-internal/src/tests/samples/lazyImport1.py diff --git a/packages/pyright-internal/src/tests/samples/lines1.py b/packages/vipeye-internal/src/tests/samples/lines1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/lines1.py rename to packages/vipeye-internal/src/tests/samples/lines1.py diff --git a/packages/pyright-internal/src/tests/samples/list1.py b/packages/vipeye-internal/src/tests/samples/list1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/list1.py rename to packages/vipeye-internal/src/tests/samples/list1.py diff --git a/packages/pyright-internal/src/tests/samples/list2.py b/packages/vipeye-internal/src/tests/samples/list2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/list2.py rename to packages/vipeye-internal/src/tests/samples/list2.py diff --git a/packages/pyright-internal/src/tests/samples/list3.py b/packages/vipeye-internal/src/tests/samples/list3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/list3.py rename to packages/vipeye-internal/src/tests/samples/list3.py diff --git a/packages/pyright-internal/src/tests/samples/literalForLoop1.py b/packages/vipeye-internal/src/tests/samples/literalForLoop1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literalForLoop1.py rename to packages/vipeye-internal/src/tests/samples/literalForLoop1.py diff --git a/packages/pyright-internal/src/tests/samples/literalString1.py b/packages/vipeye-internal/src/tests/samples/literalString1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literalString1.py rename to packages/vipeye-internal/src/tests/samples/literalString1.py diff --git a/packages/pyright-internal/src/tests/samples/literalString2.py b/packages/vipeye-internal/src/tests/samples/literalString2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literalString2.py rename to packages/vipeye-internal/src/tests/samples/literalString2.py diff --git a/packages/pyright-internal/src/tests/samples/literalString3.py b/packages/vipeye-internal/src/tests/samples/literalString3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literalString3.py rename to packages/vipeye-internal/src/tests/samples/literalString3.py diff --git a/packages/pyright-internal/src/tests/samples/literals1.py b/packages/vipeye-internal/src/tests/samples/literals1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literals1.py rename to packages/vipeye-internal/src/tests/samples/literals1.py diff --git a/packages/pyright-internal/src/tests/samples/literals2.py b/packages/vipeye-internal/src/tests/samples/literals2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literals2.py rename to packages/vipeye-internal/src/tests/samples/literals2.py diff --git a/packages/pyright-internal/src/tests/samples/literals3.py b/packages/vipeye-internal/src/tests/samples/literals3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literals3.py rename to packages/vipeye-internal/src/tests/samples/literals3.py diff --git a/packages/pyright-internal/src/tests/samples/literals4.py b/packages/vipeye-internal/src/tests/samples/literals4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literals4.py rename to packages/vipeye-internal/src/tests/samples/literals4.py diff --git a/packages/pyright-internal/src/tests/samples/literals5.py b/packages/vipeye-internal/src/tests/samples/literals5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literals5.py rename to packages/vipeye-internal/src/tests/samples/literals5.py diff --git a/packages/pyright-internal/src/tests/samples/literals6.py b/packages/vipeye-internal/src/tests/samples/literals6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literals6.py rename to packages/vipeye-internal/src/tests/samples/literals6.py diff --git a/packages/pyright-internal/src/tests/samples/literals7.py b/packages/vipeye-internal/src/tests/samples/literals7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/literals7.py rename to packages/vipeye-internal/src/tests/samples/literals7.py diff --git a/packages/pyright-internal/src/tests/samples/loop1.py b/packages/vipeye-internal/src/tests/samples/loop1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop1.py rename to packages/vipeye-internal/src/tests/samples/loop1.py diff --git a/packages/pyright-internal/src/tests/samples/loop10.py b/packages/vipeye-internal/src/tests/samples/loop10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop10.py rename to packages/vipeye-internal/src/tests/samples/loop10.py diff --git a/packages/pyright-internal/src/tests/samples/loop11.py b/packages/vipeye-internal/src/tests/samples/loop11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop11.py rename to packages/vipeye-internal/src/tests/samples/loop11.py diff --git a/packages/pyright-internal/src/tests/samples/loop12.py b/packages/vipeye-internal/src/tests/samples/loop12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop12.py rename to packages/vipeye-internal/src/tests/samples/loop12.py diff --git a/packages/pyright-internal/src/tests/samples/loop13.py b/packages/vipeye-internal/src/tests/samples/loop13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop13.py rename to packages/vipeye-internal/src/tests/samples/loop13.py diff --git a/packages/pyright-internal/src/tests/samples/loop14.py b/packages/vipeye-internal/src/tests/samples/loop14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop14.py rename to packages/vipeye-internal/src/tests/samples/loop14.py diff --git a/packages/pyright-internal/src/tests/samples/loop15.py b/packages/vipeye-internal/src/tests/samples/loop15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop15.py rename to packages/vipeye-internal/src/tests/samples/loop15.py diff --git a/packages/pyright-internal/src/tests/samples/loop16.py b/packages/vipeye-internal/src/tests/samples/loop16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop16.py rename to packages/vipeye-internal/src/tests/samples/loop16.py diff --git a/packages/pyright-internal/src/tests/samples/loop17.py b/packages/vipeye-internal/src/tests/samples/loop17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop17.py rename to packages/vipeye-internal/src/tests/samples/loop17.py diff --git a/packages/pyright-internal/src/tests/samples/loop18.py b/packages/vipeye-internal/src/tests/samples/loop18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop18.py rename to packages/vipeye-internal/src/tests/samples/loop18.py diff --git a/packages/pyright-internal/src/tests/samples/loop19.py b/packages/vipeye-internal/src/tests/samples/loop19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop19.py rename to packages/vipeye-internal/src/tests/samples/loop19.py diff --git a/packages/pyright-internal/src/tests/samples/loop2.py b/packages/vipeye-internal/src/tests/samples/loop2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop2.py rename to packages/vipeye-internal/src/tests/samples/loop2.py diff --git a/packages/pyright-internal/src/tests/samples/loop20.py b/packages/vipeye-internal/src/tests/samples/loop20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop20.py rename to packages/vipeye-internal/src/tests/samples/loop20.py diff --git a/packages/pyright-internal/src/tests/samples/loop21.py b/packages/vipeye-internal/src/tests/samples/loop21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop21.py rename to packages/vipeye-internal/src/tests/samples/loop21.py diff --git a/packages/pyright-internal/src/tests/samples/loop22.py b/packages/vipeye-internal/src/tests/samples/loop22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop22.py rename to packages/vipeye-internal/src/tests/samples/loop22.py diff --git a/packages/pyright-internal/src/tests/samples/loop23.py b/packages/vipeye-internal/src/tests/samples/loop23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop23.py rename to packages/vipeye-internal/src/tests/samples/loop23.py diff --git a/packages/pyright-internal/src/tests/samples/loop24.py b/packages/vipeye-internal/src/tests/samples/loop24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop24.py rename to packages/vipeye-internal/src/tests/samples/loop24.py diff --git a/packages/pyright-internal/src/tests/samples/loop25.py b/packages/vipeye-internal/src/tests/samples/loop25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop25.py rename to packages/vipeye-internal/src/tests/samples/loop25.py diff --git a/packages/pyright-internal/src/tests/samples/loop26.py b/packages/vipeye-internal/src/tests/samples/loop26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop26.py rename to packages/vipeye-internal/src/tests/samples/loop26.py diff --git a/packages/pyright-internal/src/tests/samples/loop27.py b/packages/vipeye-internal/src/tests/samples/loop27.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop27.py rename to packages/vipeye-internal/src/tests/samples/loop27.py diff --git a/packages/pyright-internal/src/tests/samples/loop28.py b/packages/vipeye-internal/src/tests/samples/loop28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop28.py rename to packages/vipeye-internal/src/tests/samples/loop28.py diff --git a/packages/pyright-internal/src/tests/samples/loop29.py b/packages/vipeye-internal/src/tests/samples/loop29.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop29.py rename to packages/vipeye-internal/src/tests/samples/loop29.py diff --git a/packages/pyright-internal/src/tests/samples/loop3.py b/packages/vipeye-internal/src/tests/samples/loop3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop3.py rename to packages/vipeye-internal/src/tests/samples/loop3.py diff --git a/packages/pyright-internal/src/tests/samples/loop30.py b/packages/vipeye-internal/src/tests/samples/loop30.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop30.py rename to packages/vipeye-internal/src/tests/samples/loop30.py diff --git a/packages/pyright-internal/src/tests/samples/loop31.py b/packages/vipeye-internal/src/tests/samples/loop31.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop31.py rename to packages/vipeye-internal/src/tests/samples/loop31.py diff --git a/packages/pyright-internal/src/tests/samples/loop32.py b/packages/vipeye-internal/src/tests/samples/loop32.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop32.py rename to packages/vipeye-internal/src/tests/samples/loop32.py diff --git a/packages/pyright-internal/src/tests/samples/loop33.py b/packages/vipeye-internal/src/tests/samples/loop33.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop33.py rename to packages/vipeye-internal/src/tests/samples/loop33.py diff --git a/packages/pyright-internal/src/tests/samples/loop34.py b/packages/vipeye-internal/src/tests/samples/loop34.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop34.py rename to packages/vipeye-internal/src/tests/samples/loop34.py diff --git a/packages/pyright-internal/src/tests/samples/loop35.py b/packages/vipeye-internal/src/tests/samples/loop35.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop35.py rename to packages/vipeye-internal/src/tests/samples/loop35.py diff --git a/packages/pyright-internal/src/tests/samples/loop36.py b/packages/vipeye-internal/src/tests/samples/loop36.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop36.py rename to packages/vipeye-internal/src/tests/samples/loop36.py diff --git a/packages/pyright-internal/src/tests/samples/loop37.py b/packages/vipeye-internal/src/tests/samples/loop37.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop37.py rename to packages/vipeye-internal/src/tests/samples/loop37.py diff --git a/packages/pyright-internal/src/tests/samples/loop38.py b/packages/vipeye-internal/src/tests/samples/loop38.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop38.py rename to packages/vipeye-internal/src/tests/samples/loop38.py diff --git a/packages/pyright-internal/src/tests/samples/loop39.py b/packages/vipeye-internal/src/tests/samples/loop39.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop39.py rename to packages/vipeye-internal/src/tests/samples/loop39.py diff --git a/packages/pyright-internal/src/tests/samples/loop4.py b/packages/vipeye-internal/src/tests/samples/loop4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop4.py rename to packages/vipeye-internal/src/tests/samples/loop4.py diff --git a/packages/pyright-internal/src/tests/samples/loop40.py b/packages/vipeye-internal/src/tests/samples/loop40.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop40.py rename to packages/vipeye-internal/src/tests/samples/loop40.py diff --git a/packages/pyright-internal/src/tests/samples/loop41.py b/packages/vipeye-internal/src/tests/samples/loop41.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop41.py rename to packages/vipeye-internal/src/tests/samples/loop41.py diff --git a/packages/pyright-internal/src/tests/samples/loop42.py b/packages/vipeye-internal/src/tests/samples/loop42.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop42.py rename to packages/vipeye-internal/src/tests/samples/loop42.py diff --git a/packages/pyright-internal/src/tests/samples/loop43.py b/packages/vipeye-internal/src/tests/samples/loop43.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop43.py rename to packages/vipeye-internal/src/tests/samples/loop43.py diff --git a/packages/pyright-internal/src/tests/samples/loop44.py b/packages/vipeye-internal/src/tests/samples/loop44.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop44.py rename to packages/vipeye-internal/src/tests/samples/loop44.py diff --git a/packages/pyright-internal/src/tests/samples/loop45.py b/packages/vipeye-internal/src/tests/samples/loop45.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop45.py rename to packages/vipeye-internal/src/tests/samples/loop45.py diff --git a/packages/pyright-internal/src/tests/samples/loop46.py b/packages/vipeye-internal/src/tests/samples/loop46.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop46.py rename to packages/vipeye-internal/src/tests/samples/loop46.py diff --git a/packages/pyright-internal/src/tests/samples/loop47.py b/packages/vipeye-internal/src/tests/samples/loop47.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop47.py rename to packages/vipeye-internal/src/tests/samples/loop47.py diff --git a/packages/pyright-internal/src/tests/samples/loop48.py b/packages/vipeye-internal/src/tests/samples/loop48.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop48.py rename to packages/vipeye-internal/src/tests/samples/loop48.py diff --git a/packages/pyright-internal/src/tests/samples/loop49.py b/packages/vipeye-internal/src/tests/samples/loop49.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop49.py rename to packages/vipeye-internal/src/tests/samples/loop49.py diff --git a/packages/pyright-internal/src/tests/samples/loop5.py b/packages/vipeye-internal/src/tests/samples/loop5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop5.py rename to packages/vipeye-internal/src/tests/samples/loop5.py diff --git a/packages/pyright-internal/src/tests/samples/loop50.py b/packages/vipeye-internal/src/tests/samples/loop50.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop50.py rename to packages/vipeye-internal/src/tests/samples/loop50.py diff --git a/packages/pyright-internal/src/tests/samples/loop51.py b/packages/vipeye-internal/src/tests/samples/loop51.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop51.py rename to packages/vipeye-internal/src/tests/samples/loop51.py diff --git a/packages/pyright-internal/src/tests/samples/loop52.py b/packages/vipeye-internal/src/tests/samples/loop52.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop52.py rename to packages/vipeye-internal/src/tests/samples/loop52.py diff --git a/packages/pyright-internal/src/tests/samples/loop6.py b/packages/vipeye-internal/src/tests/samples/loop6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop6.py rename to packages/vipeye-internal/src/tests/samples/loop6.py diff --git a/packages/pyright-internal/src/tests/samples/loop7.py b/packages/vipeye-internal/src/tests/samples/loop7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop7.py rename to packages/vipeye-internal/src/tests/samples/loop7.py diff --git a/packages/pyright-internal/src/tests/samples/loop8.py b/packages/vipeye-internal/src/tests/samples/loop8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop8.py rename to packages/vipeye-internal/src/tests/samples/loop8.py diff --git a/packages/pyright-internal/src/tests/samples/loop9.py b/packages/vipeye-internal/src/tests/samples/loop9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/loop9.py rename to packages/vipeye-internal/src/tests/samples/loop9.py diff --git a/packages/pyright-internal/src/tests/samples/match1.py b/packages/vipeye-internal/src/tests/samples/match1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/match1.py rename to packages/vipeye-internal/src/tests/samples/match1.py diff --git a/packages/pyright-internal/src/tests/samples/match2.py b/packages/vipeye-internal/src/tests/samples/match2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/match2.py rename to packages/vipeye-internal/src/tests/samples/match2.py diff --git a/packages/pyright-internal/src/tests/samples/match3.py b/packages/vipeye-internal/src/tests/samples/match3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/match3.py rename to packages/vipeye-internal/src/tests/samples/match3.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass1.py b/packages/vipeye-internal/src/tests/samples/matchClass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass1.py rename to packages/vipeye-internal/src/tests/samples/matchClass1.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass2.py b/packages/vipeye-internal/src/tests/samples/matchClass2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass2.py rename to packages/vipeye-internal/src/tests/samples/matchClass2.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass3.py b/packages/vipeye-internal/src/tests/samples/matchClass3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass3.py rename to packages/vipeye-internal/src/tests/samples/matchClass3.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass4.py b/packages/vipeye-internal/src/tests/samples/matchClass4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass4.py rename to packages/vipeye-internal/src/tests/samples/matchClass4.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass5.py b/packages/vipeye-internal/src/tests/samples/matchClass5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass5.py rename to packages/vipeye-internal/src/tests/samples/matchClass5.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass6.py b/packages/vipeye-internal/src/tests/samples/matchClass6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass6.py rename to packages/vipeye-internal/src/tests/samples/matchClass6.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass7.py b/packages/vipeye-internal/src/tests/samples/matchClass7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass7.py rename to packages/vipeye-internal/src/tests/samples/matchClass7.py diff --git a/packages/pyright-internal/src/tests/samples/matchClass8.py b/packages/vipeye-internal/src/tests/samples/matchClass8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchClass8.py rename to packages/vipeye-internal/src/tests/samples/matchClass8.py diff --git a/packages/pyright-internal/src/tests/samples/matchExhaustion1.py b/packages/vipeye-internal/src/tests/samples/matchExhaustion1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchExhaustion1.py rename to packages/vipeye-internal/src/tests/samples/matchExhaustion1.py diff --git a/packages/pyright-internal/src/tests/samples/matchLiteral1.py b/packages/vipeye-internal/src/tests/samples/matchLiteral1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchLiteral1.py rename to packages/vipeye-internal/src/tests/samples/matchLiteral1.py diff --git a/packages/pyright-internal/src/tests/samples/matchLiteral2.py b/packages/vipeye-internal/src/tests/samples/matchLiteral2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchLiteral2.py rename to packages/vipeye-internal/src/tests/samples/matchLiteral2.py diff --git a/packages/pyright-internal/src/tests/samples/matchMapping1.py b/packages/vipeye-internal/src/tests/samples/matchMapping1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchMapping1.py rename to packages/vipeye-internal/src/tests/samples/matchMapping1.py diff --git a/packages/pyright-internal/src/tests/samples/matchNamedTupleGeneric1.py b/packages/vipeye-internal/src/tests/samples/matchNamedTupleGeneric1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchNamedTupleGeneric1.py rename to packages/vipeye-internal/src/tests/samples/matchNamedTupleGeneric1.py diff --git a/packages/pyright-internal/src/tests/samples/matchSequence1.py b/packages/vipeye-internal/src/tests/samples/matchSequence1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchSequence1.py rename to packages/vipeye-internal/src/tests/samples/matchSequence1.py diff --git a/packages/pyright-internal/src/tests/samples/matchSequence2.py b/packages/vipeye-internal/src/tests/samples/matchSequence2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchSequence2.py rename to packages/vipeye-internal/src/tests/samples/matchSequence2.py diff --git a/packages/pyright-internal/src/tests/samples/matchSequenceVariadic.py b/packages/vipeye-internal/src/tests/samples/matchSequenceVariadic.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchSequenceVariadic.py rename to packages/vipeye-internal/src/tests/samples/matchSequenceVariadic.py diff --git a/packages/pyright-internal/src/tests/samples/matchUnnecessary1.py b/packages/vipeye-internal/src/tests/samples/matchUnnecessary1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchUnnecessary1.py rename to packages/vipeye-internal/src/tests/samples/matchUnnecessary1.py diff --git a/packages/pyright-internal/src/tests/samples/matchValue1.py b/packages/vipeye-internal/src/tests/samples/matchValue1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/matchValue1.py rename to packages/vipeye-internal/src/tests/samples/matchValue1.py diff --git a/packages/pyright-internal/src/tests/samples/maxParseDepth1.py b/packages/vipeye-internal/src/tests/samples/maxParseDepth1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/maxParseDepth1.py rename to packages/vipeye-internal/src/tests/samples/maxParseDepth1.py diff --git a/packages/pyright-internal/src/tests/samples/maxParseDepth2.py b/packages/vipeye-internal/src/tests/samples/maxParseDepth2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/maxParseDepth2.py rename to packages/vipeye-internal/src/tests/samples/maxParseDepth2.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess1.py b/packages/vipeye-internal/src/tests/samples/memberAccess1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess1.py rename to packages/vipeye-internal/src/tests/samples/memberAccess1.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess10.py b/packages/vipeye-internal/src/tests/samples/memberAccess10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess10.py rename to packages/vipeye-internal/src/tests/samples/memberAccess10.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess11.py b/packages/vipeye-internal/src/tests/samples/memberAccess11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess11.py rename to packages/vipeye-internal/src/tests/samples/memberAccess11.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess12.py b/packages/vipeye-internal/src/tests/samples/memberAccess12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess12.py rename to packages/vipeye-internal/src/tests/samples/memberAccess12.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess13.py b/packages/vipeye-internal/src/tests/samples/memberAccess13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess13.py rename to packages/vipeye-internal/src/tests/samples/memberAccess13.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess14.py b/packages/vipeye-internal/src/tests/samples/memberAccess14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess14.py rename to packages/vipeye-internal/src/tests/samples/memberAccess14.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess15.py b/packages/vipeye-internal/src/tests/samples/memberAccess15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess15.py rename to packages/vipeye-internal/src/tests/samples/memberAccess15.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess16.py b/packages/vipeye-internal/src/tests/samples/memberAccess16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess16.py rename to packages/vipeye-internal/src/tests/samples/memberAccess16.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess17.py b/packages/vipeye-internal/src/tests/samples/memberAccess17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess17.py rename to packages/vipeye-internal/src/tests/samples/memberAccess17.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess18.py b/packages/vipeye-internal/src/tests/samples/memberAccess18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess18.py rename to packages/vipeye-internal/src/tests/samples/memberAccess18.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess19.py b/packages/vipeye-internal/src/tests/samples/memberAccess19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess19.py rename to packages/vipeye-internal/src/tests/samples/memberAccess19.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess2.py b/packages/vipeye-internal/src/tests/samples/memberAccess2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess2.py rename to packages/vipeye-internal/src/tests/samples/memberAccess2.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess20.py b/packages/vipeye-internal/src/tests/samples/memberAccess20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess20.py rename to packages/vipeye-internal/src/tests/samples/memberAccess20.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess21.py b/packages/vipeye-internal/src/tests/samples/memberAccess21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess21.py rename to packages/vipeye-internal/src/tests/samples/memberAccess21.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess22.py b/packages/vipeye-internal/src/tests/samples/memberAccess22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess22.py rename to packages/vipeye-internal/src/tests/samples/memberAccess22.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess23.py b/packages/vipeye-internal/src/tests/samples/memberAccess23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess23.py rename to packages/vipeye-internal/src/tests/samples/memberAccess23.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess24.py b/packages/vipeye-internal/src/tests/samples/memberAccess24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess24.py rename to packages/vipeye-internal/src/tests/samples/memberAccess24.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess25.py b/packages/vipeye-internal/src/tests/samples/memberAccess25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess25.py rename to packages/vipeye-internal/src/tests/samples/memberAccess25.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess26.py b/packages/vipeye-internal/src/tests/samples/memberAccess26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess26.py rename to packages/vipeye-internal/src/tests/samples/memberAccess26.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess27.py b/packages/vipeye-internal/src/tests/samples/memberAccess27.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess27.py rename to packages/vipeye-internal/src/tests/samples/memberAccess27.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess28.py b/packages/vipeye-internal/src/tests/samples/memberAccess28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess28.py rename to packages/vipeye-internal/src/tests/samples/memberAccess28.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess3.py b/packages/vipeye-internal/src/tests/samples/memberAccess3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess3.py rename to packages/vipeye-internal/src/tests/samples/memberAccess3.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess4.py b/packages/vipeye-internal/src/tests/samples/memberAccess4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess4.py rename to packages/vipeye-internal/src/tests/samples/memberAccess4.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess5.py b/packages/vipeye-internal/src/tests/samples/memberAccess5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess5.py rename to packages/vipeye-internal/src/tests/samples/memberAccess5.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess6.py b/packages/vipeye-internal/src/tests/samples/memberAccess6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess6.py rename to packages/vipeye-internal/src/tests/samples/memberAccess6.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess7.py b/packages/vipeye-internal/src/tests/samples/memberAccess7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess7.py rename to packages/vipeye-internal/src/tests/samples/memberAccess7.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess8.py b/packages/vipeye-internal/src/tests/samples/memberAccess8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess8.py rename to packages/vipeye-internal/src/tests/samples/memberAccess8.py diff --git a/packages/pyright-internal/src/tests/samples/memberAccess9.py b/packages/vipeye-internal/src/tests/samples/memberAccess9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/memberAccess9.py rename to packages/vipeye-internal/src/tests/samples/memberAccess9.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass1.py b/packages/vipeye-internal/src/tests/samples/metaclass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass1.py rename to packages/vipeye-internal/src/tests/samples/metaclass1.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass10.py b/packages/vipeye-internal/src/tests/samples/metaclass10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass10.py rename to packages/vipeye-internal/src/tests/samples/metaclass10.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass11.py b/packages/vipeye-internal/src/tests/samples/metaclass11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass11.py rename to packages/vipeye-internal/src/tests/samples/metaclass11.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass2.py b/packages/vipeye-internal/src/tests/samples/metaclass2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass2.py rename to packages/vipeye-internal/src/tests/samples/metaclass2.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass3.py b/packages/vipeye-internal/src/tests/samples/metaclass3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass3.py rename to packages/vipeye-internal/src/tests/samples/metaclass3.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass4.py b/packages/vipeye-internal/src/tests/samples/metaclass4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass4.py rename to packages/vipeye-internal/src/tests/samples/metaclass4.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass5.py b/packages/vipeye-internal/src/tests/samples/metaclass5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass5.py rename to packages/vipeye-internal/src/tests/samples/metaclass5.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass6.py b/packages/vipeye-internal/src/tests/samples/metaclass6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass6.py rename to packages/vipeye-internal/src/tests/samples/metaclass6.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass7.py b/packages/vipeye-internal/src/tests/samples/metaclass7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass7.py rename to packages/vipeye-internal/src/tests/samples/metaclass7.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass8.py b/packages/vipeye-internal/src/tests/samples/metaclass8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass8.py rename to packages/vipeye-internal/src/tests/samples/metaclass8.py diff --git a/packages/pyright-internal/src/tests/samples/metaclass9.py b/packages/vipeye-internal/src/tests/samples/metaclass9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/metaclass9.py rename to packages/vipeye-internal/src/tests/samples/metaclass9.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverride1.py b/packages/vipeye-internal/src/tests/samples/methodOverride1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverride1.py rename to packages/vipeye-internal/src/tests/samples/methodOverride1.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverride2.py b/packages/vipeye-internal/src/tests/samples/methodOverride2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverride2.py rename to packages/vipeye-internal/src/tests/samples/methodOverride2.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverride3.py b/packages/vipeye-internal/src/tests/samples/methodOverride3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverride3.py rename to packages/vipeye-internal/src/tests/samples/methodOverride3.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverride4.py b/packages/vipeye-internal/src/tests/samples/methodOverride4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverride4.py rename to packages/vipeye-internal/src/tests/samples/methodOverride4.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverride5.py b/packages/vipeye-internal/src/tests/samples/methodOverride5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverride5.py rename to packages/vipeye-internal/src/tests/samples/methodOverride5.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverride6.py b/packages/vipeye-internal/src/tests/samples/methodOverride6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverride6.py rename to packages/vipeye-internal/src/tests/samples/methodOverride6.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverride7.py b/packages/vipeye-internal/src/tests/samples/methodOverride7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverride7.py rename to packages/vipeye-internal/src/tests/samples/methodOverride7.py diff --git a/packages/pyright-internal/src/tests/samples/methodOverrideCallable1.py b/packages/vipeye-internal/src/tests/samples/methodOverrideCallable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methodOverrideCallable1.py rename to packages/vipeye-internal/src/tests/samples/methodOverrideCallable1.py diff --git a/packages/pyright-internal/src/tests/samples/methods1.py b/packages/vipeye-internal/src/tests/samples/methods1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/methods1.py rename to packages/vipeye-internal/src/tests/samples/methods1.py diff --git a/packages/pyright-internal/src/tests/samples/missingSuper1.py b/packages/vipeye-internal/src/tests/samples/missingSuper1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/missingSuper1.py rename to packages/vipeye-internal/src/tests/samples/missingSuper1.py diff --git a/packages/pyright-internal/src/tests/samples/missingTypeArg1.py b/packages/vipeye-internal/src/tests/samples/missingTypeArg1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/missingTypeArg1.py rename to packages/vipeye-internal/src/tests/samples/missingTypeArg1.py diff --git a/packages/pyright-internal/src/tests/samples/module1.py b/packages/vipeye-internal/src/tests/samples/module1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/module1.py rename to packages/vipeye-internal/src/tests/samples/module1.py diff --git a/packages/pyright-internal/src/tests/samples/module2.py b/packages/vipeye-internal/src/tests/samples/module2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/module2.py rename to packages/vipeye-internal/src/tests/samples/module2.py diff --git a/packages/pyright-internal/src/tests/samples/module3.py b/packages/vipeye-internal/src/tests/samples/module3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/module3.py rename to packages/vipeye-internal/src/tests/samples/module3.py diff --git a/packages/pyright-internal/src/tests/samples/mro1.py b/packages/vipeye-internal/src/tests/samples/mro1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/mro1.py rename to packages/vipeye-internal/src/tests/samples/mro1.py diff --git a/packages/pyright-internal/src/tests/samples/mro2.py b/packages/vipeye-internal/src/tests/samples/mro2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/mro2.py rename to packages/vipeye-internal/src/tests/samples/mro2.py diff --git a/packages/pyright-internal/src/tests/samples/mro3.py b/packages/vipeye-internal/src/tests/samples/mro3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/mro3.py rename to packages/vipeye-internal/src/tests/samples/mro3.py diff --git a/packages/pyright-internal/src/tests/samples/mro4.py b/packages/vipeye-internal/src/tests/samples/mro4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/mro4.py rename to packages/vipeye-internal/src/tests/samples/mro4.py diff --git a/packages/pyright-internal/src/tests/samples/nameBinding1.py b/packages/vipeye-internal/src/tests/samples/nameBinding1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/nameBinding1.py rename to packages/vipeye-internal/src/tests/samples/nameBinding1.py diff --git a/packages/pyright-internal/src/tests/samples/nameBinding2.py b/packages/vipeye-internal/src/tests/samples/nameBinding2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/nameBinding2.py rename to packages/vipeye-internal/src/tests/samples/nameBinding2.py diff --git a/packages/pyright-internal/src/tests/samples/nameBinding3.py b/packages/vipeye-internal/src/tests/samples/nameBinding3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/nameBinding3.py rename to packages/vipeye-internal/src/tests/samples/nameBinding3.py diff --git a/packages/pyright-internal/src/tests/samples/nameBinding4.py b/packages/vipeye-internal/src/tests/samples/nameBinding4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/nameBinding4.py rename to packages/vipeye-internal/src/tests/samples/nameBinding4.py diff --git a/packages/pyright-internal/src/tests/samples/nameBinding5.py b/packages/vipeye-internal/src/tests/samples/nameBinding5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/nameBinding5.py rename to packages/vipeye-internal/src/tests/samples/nameBinding5.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple1.py b/packages/vipeye-internal/src/tests/samples/namedTuple1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple1.py rename to packages/vipeye-internal/src/tests/samples/namedTuple1.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple10.py b/packages/vipeye-internal/src/tests/samples/namedTuple10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple10.py rename to packages/vipeye-internal/src/tests/samples/namedTuple10.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple11.py b/packages/vipeye-internal/src/tests/samples/namedTuple11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple11.py rename to packages/vipeye-internal/src/tests/samples/namedTuple11.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple2.py b/packages/vipeye-internal/src/tests/samples/namedTuple2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple2.py rename to packages/vipeye-internal/src/tests/samples/namedTuple2.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple3.py b/packages/vipeye-internal/src/tests/samples/namedTuple3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple3.py rename to packages/vipeye-internal/src/tests/samples/namedTuple3.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple4.py b/packages/vipeye-internal/src/tests/samples/namedTuple4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple4.py rename to packages/vipeye-internal/src/tests/samples/namedTuple4.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple5.py b/packages/vipeye-internal/src/tests/samples/namedTuple5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple5.py rename to packages/vipeye-internal/src/tests/samples/namedTuple5.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple6.py b/packages/vipeye-internal/src/tests/samples/namedTuple6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple6.py rename to packages/vipeye-internal/src/tests/samples/namedTuple6.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple7.py b/packages/vipeye-internal/src/tests/samples/namedTuple7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple7.py rename to packages/vipeye-internal/src/tests/samples/namedTuple7.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple8.py b/packages/vipeye-internal/src/tests/samples/namedTuple8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple8.py rename to packages/vipeye-internal/src/tests/samples/namedTuple8.py diff --git a/packages/pyright-internal/src/tests/samples/namedTuple9.py b/packages/vipeye-internal/src/tests/samples/namedTuple9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/namedTuple9.py rename to packages/vipeye-internal/src/tests/samples/namedTuple9.py diff --git a/packages/pyright-internal/src/tests/samples/never1.py b/packages/vipeye-internal/src/tests/samples/never1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/never1.py rename to packages/vipeye-internal/src/tests/samples/never1.py diff --git a/packages/pyright-internal/src/tests/samples/never2.py b/packages/vipeye-internal/src/tests/samples/never2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/never2.py rename to packages/vipeye-internal/src/tests/samples/never2.py diff --git a/packages/pyright-internal/src/tests/samples/newType1.py b/packages/vipeye-internal/src/tests/samples/newType1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newType1.py rename to packages/vipeye-internal/src/tests/samples/newType1.py diff --git a/packages/pyright-internal/src/tests/samples/newType2.py b/packages/vipeye-internal/src/tests/samples/newType2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newType2.py rename to packages/vipeye-internal/src/tests/samples/newType2.py diff --git a/packages/pyright-internal/src/tests/samples/newType3.py b/packages/vipeye-internal/src/tests/samples/newType3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newType3.py rename to packages/vipeye-internal/src/tests/samples/newType3.py diff --git a/packages/pyright-internal/src/tests/samples/newType4.py b/packages/vipeye-internal/src/tests/samples/newType4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newType4.py rename to packages/vipeye-internal/src/tests/samples/newType4.py diff --git a/packages/pyright-internal/src/tests/samples/newType5.py b/packages/vipeye-internal/src/tests/samples/newType5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newType5.py rename to packages/vipeye-internal/src/tests/samples/newType5.py diff --git a/packages/pyright-internal/src/tests/samples/newType6.py b/packages/vipeye-internal/src/tests/samples/newType6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newType6.py rename to packages/vipeye-internal/src/tests/samples/newType6.py diff --git a/packages/pyright-internal/src/tests/samples/newType7.py b/packages/vipeye-internal/src/tests/samples/newType7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newType7.py rename to packages/vipeye-internal/src/tests/samples/newType7.py diff --git a/packages/pyright-internal/src/tests/samples/newTypeIsLiteral1.py b/packages/vipeye-internal/src/tests/samples/newTypeIsLiteral1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/newTypeIsLiteral1.py rename to packages/vipeye-internal/src/tests/samples/newTypeIsLiteral1.py diff --git a/packages/pyright-internal/src/tests/samples/noTypeCheck1.py b/packages/vipeye-internal/src/tests/samples/noTypeCheck1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/noTypeCheck1.py rename to packages/vipeye-internal/src/tests/samples/noTypeCheck1.py diff --git a/packages/pyright-internal/src/tests/samples/none1.py b/packages/vipeye-internal/src/tests/samples/none1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/none1.py rename to packages/vipeye-internal/src/tests/samples/none1.py diff --git a/packages/pyright-internal/src/tests/samples/none2.py b/packages/vipeye-internal/src/tests/samples/none2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/none2.py rename to packages/vipeye-internal/src/tests/samples/none2.py diff --git a/packages/pyright-internal/src/tests/samples/noreturn1.py b/packages/vipeye-internal/src/tests/samples/noreturn1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/noreturn1.py rename to packages/vipeye-internal/src/tests/samples/noreturn1.py diff --git a/packages/pyright-internal/src/tests/samples/noreturn2.py b/packages/vipeye-internal/src/tests/samples/noreturn2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/noreturn2.py rename to packages/vipeye-internal/src/tests/samples/noreturn2.py diff --git a/packages/pyright-internal/src/tests/samples/noreturn3.py b/packages/vipeye-internal/src/tests/samples/noreturn3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/noreturn3.py rename to packages/vipeye-internal/src/tests/samples/noreturn3.py diff --git a/packages/pyright-internal/src/tests/samples/noreturn4.py b/packages/vipeye-internal/src/tests/samples/noreturn4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/noreturn4.py rename to packages/vipeye-internal/src/tests/samples/noreturn4.py diff --git a/packages/pyright-internal/src/tests/samples/operator1.py b/packages/vipeye-internal/src/tests/samples/operator1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator1.py rename to packages/vipeye-internal/src/tests/samples/operator1.py diff --git a/packages/pyright-internal/src/tests/samples/operator10.py b/packages/vipeye-internal/src/tests/samples/operator10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator10.py rename to packages/vipeye-internal/src/tests/samples/operator10.py diff --git a/packages/pyright-internal/src/tests/samples/operator11.py b/packages/vipeye-internal/src/tests/samples/operator11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator11.py rename to packages/vipeye-internal/src/tests/samples/operator11.py diff --git a/packages/pyright-internal/src/tests/samples/operator12.py b/packages/vipeye-internal/src/tests/samples/operator12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator12.py rename to packages/vipeye-internal/src/tests/samples/operator12.py diff --git a/packages/pyright-internal/src/tests/samples/operator2.py b/packages/vipeye-internal/src/tests/samples/operator2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator2.py rename to packages/vipeye-internal/src/tests/samples/operator2.py diff --git a/packages/pyright-internal/src/tests/samples/operator3.py b/packages/vipeye-internal/src/tests/samples/operator3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator3.py rename to packages/vipeye-internal/src/tests/samples/operator3.py diff --git a/packages/pyright-internal/src/tests/samples/operator4.py b/packages/vipeye-internal/src/tests/samples/operator4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator4.py rename to packages/vipeye-internal/src/tests/samples/operator4.py diff --git a/packages/pyright-internal/src/tests/samples/operator5.py b/packages/vipeye-internal/src/tests/samples/operator5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator5.py rename to packages/vipeye-internal/src/tests/samples/operator5.py diff --git a/packages/pyright-internal/src/tests/samples/operator6.py b/packages/vipeye-internal/src/tests/samples/operator6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator6.py rename to packages/vipeye-internal/src/tests/samples/operator6.py diff --git a/packages/pyright-internal/src/tests/samples/operator7.py b/packages/vipeye-internal/src/tests/samples/operator7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator7.py rename to packages/vipeye-internal/src/tests/samples/operator7.py diff --git a/packages/pyright-internal/src/tests/samples/operator8.py b/packages/vipeye-internal/src/tests/samples/operator8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator8.py rename to packages/vipeye-internal/src/tests/samples/operator8.py diff --git a/packages/pyright-internal/src/tests/samples/operator9.py b/packages/vipeye-internal/src/tests/samples/operator9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/operator9.py rename to packages/vipeye-internal/src/tests/samples/operator9.py diff --git a/packages/pyright-internal/src/tests/samples/optional1.py b/packages/vipeye-internal/src/tests/samples/optional1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/optional1.py rename to packages/vipeye-internal/src/tests/samples/optional1.py diff --git a/packages/pyright-internal/src/tests/samples/optional2.py b/packages/vipeye-internal/src/tests/samples/optional2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/optional2.py rename to packages/vipeye-internal/src/tests/samples/optional2.py diff --git a/packages/pyright-internal/src/tests/samples/overload1.py b/packages/vipeye-internal/src/tests/samples/overload1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overload1.py rename to packages/vipeye-internal/src/tests/samples/overload1.py diff --git a/packages/pyright-internal/src/tests/samples/overload2.py b/packages/vipeye-internal/src/tests/samples/overload2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overload2.py rename to packages/vipeye-internal/src/tests/samples/overload2.py diff --git a/packages/pyright-internal/src/tests/samples/overload3.py b/packages/vipeye-internal/src/tests/samples/overload3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overload3.py rename to packages/vipeye-internal/src/tests/samples/overload3.py diff --git a/packages/pyright-internal/src/tests/samples/overload4.py b/packages/vipeye-internal/src/tests/samples/overload4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overload4.py rename to packages/vipeye-internal/src/tests/samples/overload4.py diff --git a/packages/pyright-internal/src/tests/samples/overload5.py b/packages/vipeye-internal/src/tests/samples/overload5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overload5.py rename to packages/vipeye-internal/src/tests/samples/overload5.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall1.py b/packages/vipeye-internal/src/tests/samples/overloadCall1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall1.py rename to packages/vipeye-internal/src/tests/samples/overloadCall1.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall10.py b/packages/vipeye-internal/src/tests/samples/overloadCall10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall10.py rename to packages/vipeye-internal/src/tests/samples/overloadCall10.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall2.py b/packages/vipeye-internal/src/tests/samples/overloadCall2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall2.py rename to packages/vipeye-internal/src/tests/samples/overloadCall2.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall3.py b/packages/vipeye-internal/src/tests/samples/overloadCall3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall3.py rename to packages/vipeye-internal/src/tests/samples/overloadCall3.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall4.py b/packages/vipeye-internal/src/tests/samples/overloadCall4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall4.py rename to packages/vipeye-internal/src/tests/samples/overloadCall4.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall5.py b/packages/vipeye-internal/src/tests/samples/overloadCall5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall5.py rename to packages/vipeye-internal/src/tests/samples/overloadCall5.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall6.py b/packages/vipeye-internal/src/tests/samples/overloadCall6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall6.py rename to packages/vipeye-internal/src/tests/samples/overloadCall6.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall7.py b/packages/vipeye-internal/src/tests/samples/overloadCall7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall7.py rename to packages/vipeye-internal/src/tests/samples/overloadCall7.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall8.py b/packages/vipeye-internal/src/tests/samples/overloadCall8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall8.py rename to packages/vipeye-internal/src/tests/samples/overloadCall8.py diff --git a/packages/pyright-internal/src/tests/samples/overloadCall9.py b/packages/vipeye-internal/src/tests/samples/overloadCall9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadCall9.py rename to packages/vipeye-internal/src/tests/samples/overloadCall9.py diff --git a/packages/pyright-internal/src/tests/samples/overloadImpl1.py b/packages/vipeye-internal/src/tests/samples/overloadImpl1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadImpl1.py rename to packages/vipeye-internal/src/tests/samples/overloadImpl1.py diff --git a/packages/pyright-internal/src/tests/samples/overloadImpl2.py b/packages/vipeye-internal/src/tests/samples/overloadImpl2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadImpl2.py rename to packages/vipeye-internal/src/tests/samples/overloadImpl2.py diff --git a/packages/pyright-internal/src/tests/samples/overloadImpl3.py b/packages/vipeye-internal/src/tests/samples/overloadImpl3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadImpl3.py rename to packages/vipeye-internal/src/tests/samples/overloadImpl3.py diff --git a/packages/pyright-internal/src/tests/samples/overloadOverlap1.py b/packages/vipeye-internal/src/tests/samples/overloadOverlap1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadOverlap1.py rename to packages/vipeye-internal/src/tests/samples/overloadOverlap1.py diff --git a/packages/pyright-internal/src/tests/samples/overloadOverride1.py b/packages/vipeye-internal/src/tests/samples/overloadOverride1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/overloadOverride1.py rename to packages/vipeye-internal/src/tests/samples/overloadOverride1.py diff --git a/packages/pyright-internal/src/tests/samples/override1.py b/packages/vipeye-internal/src/tests/samples/override1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/override1.py rename to packages/vipeye-internal/src/tests/samples/override1.py diff --git a/packages/pyright-internal/src/tests/samples/override2.py b/packages/vipeye-internal/src/tests/samples/override2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/override2.py rename to packages/vipeye-internal/src/tests/samples/override2.py diff --git a/packages/pyright-internal/src/tests/samples/package1/__init__.py b/packages/vipeye-internal/src/tests/samples/package1/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package1/__init__.py rename to packages/vipeye-internal/src/tests/samples/package1/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/package1/psyche.py b/packages/vipeye-internal/src/tests/samples/package1/psyche.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package1/psyche.py rename to packages/vipeye-internal/src/tests/samples/package1/psyche.py diff --git a/packages/pyright-internal/src/tests/samples/package1/psyche/pysche.py b/packages/vipeye-internal/src/tests/samples/package1/psyche/pysche.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package1/psyche/pysche.py rename to packages/vipeye-internal/src/tests/samples/package1/psyche/pysche.py diff --git a/packages/pyright-internal/src/tests/samples/package1/sub.py b/packages/vipeye-internal/src/tests/samples/package1/sub.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package1/sub.py rename to packages/vipeye-internal/src/tests/samples/package1/sub.py diff --git a/packages/pyright-internal/src/tests/samples/package1/sub.pyi b/packages/vipeye-internal/src/tests/samples/package1/sub.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/package1/sub.pyi rename to packages/vipeye-internal/src/tests/samples/package1/sub.pyi diff --git a/packages/pyright-internal/src/tests/samples/package1/sub/__init__.py b/packages/vipeye-internal/src/tests/samples/package1/sub/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package1/sub/__init__.py rename to packages/vipeye-internal/src/tests/samples/package1/sub/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/project6/projectA/foo/__init__.py b/packages/vipeye-internal/src/tests/samples/package2/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project6/projectA/foo/__init__.py rename to packages/vipeye-internal/src/tests/samples/package2/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/package2/module1.py b/packages/vipeye-internal/src/tests/samples/package2/module1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package2/module1.py rename to packages/vipeye-internal/src/tests/samples/package2/module1.py diff --git a/packages/pyright-internal/src/tests/samples/package2/module2.py b/packages/vipeye-internal/src/tests/samples/package2/module2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package2/module2.py rename to packages/vipeye-internal/src/tests/samples/package2/module2.py diff --git a/packages/pyright-internal/src/tests/samples/package2/module3.py b/packages/vipeye-internal/src/tests/samples/package2/module3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/package2/module3.py rename to packages/vipeye-internal/src/tests/samples/package2/module3.py diff --git a/packages/pyright-internal/src/tests/samples/paramInference1.py b/packages/vipeye-internal/src/tests/samples/paramInference1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramInference1.py rename to packages/vipeye-internal/src/tests/samples/paramInference1.py diff --git a/packages/pyright-internal/src/tests/samples/paramInference2.py b/packages/vipeye-internal/src/tests/samples/paramInference2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramInference2.py rename to packages/vipeye-internal/src/tests/samples/paramInference2.py diff --git a/packages/pyright-internal/src/tests/samples/paramNames1.py b/packages/vipeye-internal/src/tests/samples/paramNames1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramNames1.py rename to packages/vipeye-internal/src/tests/samples/paramNames1.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec1.py b/packages/vipeye-internal/src/tests/samples/paramSpec1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec1.py rename to packages/vipeye-internal/src/tests/samples/paramSpec1.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec10.py b/packages/vipeye-internal/src/tests/samples/paramSpec10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec10.py rename to packages/vipeye-internal/src/tests/samples/paramSpec10.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec11.py b/packages/vipeye-internal/src/tests/samples/paramSpec11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec11.py rename to packages/vipeye-internal/src/tests/samples/paramSpec11.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec12.py b/packages/vipeye-internal/src/tests/samples/paramSpec12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec12.py rename to packages/vipeye-internal/src/tests/samples/paramSpec12.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec13.py b/packages/vipeye-internal/src/tests/samples/paramSpec13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec13.py rename to packages/vipeye-internal/src/tests/samples/paramSpec13.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec14.py b/packages/vipeye-internal/src/tests/samples/paramSpec14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec14.py rename to packages/vipeye-internal/src/tests/samples/paramSpec14.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec15.py b/packages/vipeye-internal/src/tests/samples/paramSpec15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec15.py rename to packages/vipeye-internal/src/tests/samples/paramSpec15.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec16.py b/packages/vipeye-internal/src/tests/samples/paramSpec16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec16.py rename to packages/vipeye-internal/src/tests/samples/paramSpec16.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec17.py b/packages/vipeye-internal/src/tests/samples/paramSpec17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec17.py rename to packages/vipeye-internal/src/tests/samples/paramSpec17.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec18.py b/packages/vipeye-internal/src/tests/samples/paramSpec18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec18.py rename to packages/vipeye-internal/src/tests/samples/paramSpec18.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec19.py b/packages/vipeye-internal/src/tests/samples/paramSpec19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec19.py rename to packages/vipeye-internal/src/tests/samples/paramSpec19.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec2.py b/packages/vipeye-internal/src/tests/samples/paramSpec2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec2.py rename to packages/vipeye-internal/src/tests/samples/paramSpec2.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec20.py b/packages/vipeye-internal/src/tests/samples/paramSpec20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec20.py rename to packages/vipeye-internal/src/tests/samples/paramSpec20.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec21.py b/packages/vipeye-internal/src/tests/samples/paramSpec21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec21.py rename to packages/vipeye-internal/src/tests/samples/paramSpec21.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec22.py b/packages/vipeye-internal/src/tests/samples/paramSpec22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec22.py rename to packages/vipeye-internal/src/tests/samples/paramSpec22.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec23.py b/packages/vipeye-internal/src/tests/samples/paramSpec23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec23.py rename to packages/vipeye-internal/src/tests/samples/paramSpec23.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec24.py b/packages/vipeye-internal/src/tests/samples/paramSpec24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec24.py rename to packages/vipeye-internal/src/tests/samples/paramSpec24.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec25.py b/packages/vipeye-internal/src/tests/samples/paramSpec25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec25.py rename to packages/vipeye-internal/src/tests/samples/paramSpec25.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec26.py b/packages/vipeye-internal/src/tests/samples/paramSpec26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec26.py rename to packages/vipeye-internal/src/tests/samples/paramSpec26.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec27.py b/packages/vipeye-internal/src/tests/samples/paramSpec27.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec27.py rename to packages/vipeye-internal/src/tests/samples/paramSpec27.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec28.py b/packages/vipeye-internal/src/tests/samples/paramSpec28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec28.py rename to packages/vipeye-internal/src/tests/samples/paramSpec28.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec29.py b/packages/vipeye-internal/src/tests/samples/paramSpec29.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec29.py rename to packages/vipeye-internal/src/tests/samples/paramSpec29.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec3.py b/packages/vipeye-internal/src/tests/samples/paramSpec3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec3.py rename to packages/vipeye-internal/src/tests/samples/paramSpec3.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec30.py b/packages/vipeye-internal/src/tests/samples/paramSpec30.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec30.py rename to packages/vipeye-internal/src/tests/samples/paramSpec30.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec31.py b/packages/vipeye-internal/src/tests/samples/paramSpec31.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec31.py rename to packages/vipeye-internal/src/tests/samples/paramSpec31.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec32.py b/packages/vipeye-internal/src/tests/samples/paramSpec32.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec32.py rename to packages/vipeye-internal/src/tests/samples/paramSpec32.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec33.py b/packages/vipeye-internal/src/tests/samples/paramSpec33.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec33.py rename to packages/vipeye-internal/src/tests/samples/paramSpec33.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec34.py b/packages/vipeye-internal/src/tests/samples/paramSpec34.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec34.py rename to packages/vipeye-internal/src/tests/samples/paramSpec34.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec35.py b/packages/vipeye-internal/src/tests/samples/paramSpec35.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec35.py rename to packages/vipeye-internal/src/tests/samples/paramSpec35.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec36.py b/packages/vipeye-internal/src/tests/samples/paramSpec36.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec36.py rename to packages/vipeye-internal/src/tests/samples/paramSpec36.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec37.py b/packages/vipeye-internal/src/tests/samples/paramSpec37.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec37.py rename to packages/vipeye-internal/src/tests/samples/paramSpec37.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec38.py b/packages/vipeye-internal/src/tests/samples/paramSpec38.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec38.py rename to packages/vipeye-internal/src/tests/samples/paramSpec38.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec39.py b/packages/vipeye-internal/src/tests/samples/paramSpec39.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec39.py rename to packages/vipeye-internal/src/tests/samples/paramSpec39.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec4.py b/packages/vipeye-internal/src/tests/samples/paramSpec4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec4.py rename to packages/vipeye-internal/src/tests/samples/paramSpec4.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec40.py b/packages/vipeye-internal/src/tests/samples/paramSpec40.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec40.py rename to packages/vipeye-internal/src/tests/samples/paramSpec40.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec41.py b/packages/vipeye-internal/src/tests/samples/paramSpec41.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec41.py rename to packages/vipeye-internal/src/tests/samples/paramSpec41.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec42.py b/packages/vipeye-internal/src/tests/samples/paramSpec42.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec42.py rename to packages/vipeye-internal/src/tests/samples/paramSpec42.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec43.py b/packages/vipeye-internal/src/tests/samples/paramSpec43.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec43.py rename to packages/vipeye-internal/src/tests/samples/paramSpec43.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec44.py b/packages/vipeye-internal/src/tests/samples/paramSpec44.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec44.py rename to packages/vipeye-internal/src/tests/samples/paramSpec44.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec45.py b/packages/vipeye-internal/src/tests/samples/paramSpec45.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec45.py rename to packages/vipeye-internal/src/tests/samples/paramSpec45.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec46.py b/packages/vipeye-internal/src/tests/samples/paramSpec46.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec46.py rename to packages/vipeye-internal/src/tests/samples/paramSpec46.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec47.py b/packages/vipeye-internal/src/tests/samples/paramSpec47.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec47.py rename to packages/vipeye-internal/src/tests/samples/paramSpec47.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec48.py b/packages/vipeye-internal/src/tests/samples/paramSpec48.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec48.py rename to packages/vipeye-internal/src/tests/samples/paramSpec48.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec49.py b/packages/vipeye-internal/src/tests/samples/paramSpec49.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec49.py rename to packages/vipeye-internal/src/tests/samples/paramSpec49.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec5.py b/packages/vipeye-internal/src/tests/samples/paramSpec5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec5.py rename to packages/vipeye-internal/src/tests/samples/paramSpec5.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec50.py b/packages/vipeye-internal/src/tests/samples/paramSpec50.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec50.py rename to packages/vipeye-internal/src/tests/samples/paramSpec50.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec51.py b/packages/vipeye-internal/src/tests/samples/paramSpec51.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec51.py rename to packages/vipeye-internal/src/tests/samples/paramSpec51.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec52.py b/packages/vipeye-internal/src/tests/samples/paramSpec52.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec52.py rename to packages/vipeye-internal/src/tests/samples/paramSpec52.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec53.py b/packages/vipeye-internal/src/tests/samples/paramSpec53.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec53.py rename to packages/vipeye-internal/src/tests/samples/paramSpec53.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec54.py b/packages/vipeye-internal/src/tests/samples/paramSpec54.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec54.py rename to packages/vipeye-internal/src/tests/samples/paramSpec54.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec55.py b/packages/vipeye-internal/src/tests/samples/paramSpec55.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec55.py rename to packages/vipeye-internal/src/tests/samples/paramSpec55.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec56.py b/packages/vipeye-internal/src/tests/samples/paramSpec56.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec56.py rename to packages/vipeye-internal/src/tests/samples/paramSpec56.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec6.py b/packages/vipeye-internal/src/tests/samples/paramSpec6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec6.py rename to packages/vipeye-internal/src/tests/samples/paramSpec6.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec7.py b/packages/vipeye-internal/src/tests/samples/paramSpec7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec7.py rename to packages/vipeye-internal/src/tests/samples/paramSpec7.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec8.py b/packages/vipeye-internal/src/tests/samples/paramSpec8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec8.py rename to packages/vipeye-internal/src/tests/samples/paramSpec8.py diff --git a/packages/pyright-internal/src/tests/samples/paramSpec9.py b/packages/vipeye-internal/src/tests/samples/paramSpec9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramSpec9.py rename to packages/vipeye-internal/src/tests/samples/paramSpec9.py diff --git a/packages/pyright-internal/src/tests/samples/paramType1.py b/packages/vipeye-internal/src/tests/samples/paramType1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/paramType1.py rename to packages/vipeye-internal/src/tests/samples/paramType1.py diff --git a/packages/pyright-internal/src/tests/samples/parameters1.py b/packages/vipeye-internal/src/tests/samples/parameters1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/parameters1.py rename to packages/vipeye-internal/src/tests/samples/parameters1.py diff --git a/packages/pyright-internal/src/tests/samples/parser1.py b/packages/vipeye-internal/src/tests/samples/parser1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/parser1.py rename to packages/vipeye-internal/src/tests/samples/parser1.py diff --git a/packages/pyright-internal/src/tests/samples/parser2.py b/packages/vipeye-internal/src/tests/samples/parser2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/parser2.py rename to packages/vipeye-internal/src/tests/samples/parser2.py diff --git a/packages/pyright-internal/src/tests/samples/parserRecovery1.py b/packages/vipeye-internal/src/tests/samples/parserRecovery1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/parserRecovery1.py rename to packages/vipeye-internal/src/tests/samples/parserRecovery1.py diff --git a/packages/pyright-internal/src/tests/samples/parserRecovery2.py b/packages/vipeye-internal/src/tests/samples/parserRecovery2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/parserRecovery2.py rename to packages/vipeye-internal/src/tests/samples/parserRecovery2.py diff --git a/packages/pyright-internal/src/tests/samples/parserRecovery3.py b/packages/vipeye-internal/src/tests/samples/parserRecovery3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/parserRecovery3.py rename to packages/vipeye-internal/src/tests/samples/parserRecovery3.py diff --git a/packages/pyright-internal/src/tests/samples/partial1.py b/packages/vipeye-internal/src/tests/samples/partial1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial1.py rename to packages/vipeye-internal/src/tests/samples/partial1.py diff --git a/packages/pyright-internal/src/tests/samples/partial2.py b/packages/vipeye-internal/src/tests/samples/partial2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial2.py rename to packages/vipeye-internal/src/tests/samples/partial2.py diff --git a/packages/pyright-internal/src/tests/samples/partial3.py b/packages/vipeye-internal/src/tests/samples/partial3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial3.py rename to packages/vipeye-internal/src/tests/samples/partial3.py diff --git a/packages/pyright-internal/src/tests/samples/partial4.py b/packages/vipeye-internal/src/tests/samples/partial4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial4.py rename to packages/vipeye-internal/src/tests/samples/partial4.py diff --git a/packages/pyright-internal/src/tests/samples/partial5.py b/packages/vipeye-internal/src/tests/samples/partial5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial5.py rename to packages/vipeye-internal/src/tests/samples/partial5.py diff --git a/packages/pyright-internal/src/tests/samples/partial6.py b/packages/vipeye-internal/src/tests/samples/partial6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial6.py rename to packages/vipeye-internal/src/tests/samples/partial6.py diff --git a/packages/pyright-internal/src/tests/samples/partial7.py b/packages/vipeye-internal/src/tests/samples/partial7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial7.py rename to packages/vipeye-internal/src/tests/samples/partial7.py diff --git a/packages/pyright-internal/src/tests/samples/partial8.py b/packages/vipeye-internal/src/tests/samples/partial8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/partial8.py rename to packages/vipeye-internal/src/tests/samples/partial8.py diff --git a/packages/pyright-internal/src/tests/samples/private1.py b/packages/vipeye-internal/src/tests/samples/private1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/private1.py rename to packages/vipeye-internal/src/tests/samples/private1.py diff --git a/packages/pyright-internal/src/tests/samples/private2.py b/packages/vipeye-internal/src/tests/samples/private2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/private2.py rename to packages/vipeye-internal/src/tests/samples/private2.py diff --git a/packages/pyright-internal/src/tests/samples/private3.py b/packages/vipeye-internal/src/tests/samples/private3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/private3.py rename to packages/vipeye-internal/src/tests/samples/private3.py diff --git a/packages/pyright-internal/src/tests/samples/private4.py b/packages/vipeye-internal/src/tests/samples/private4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/private4.py rename to packages/vipeye-internal/src/tests/samples/private4.py diff --git a/packages/pyright-internal/src/tests/samples/private5.py b/packages/vipeye-internal/src/tests/samples/private5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/private5.py rename to packages/vipeye-internal/src/tests/samples/private5.py diff --git a/packages/pyright-internal/src/tests/samples/private6.py b/packages/vipeye-internal/src/tests/samples/private6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/private6.py rename to packages/vipeye-internal/src/tests/samples/private6.py diff --git a/packages/pyright-internal/src/tests/samples/project1/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project1/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project1/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project1/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/sample1.py b/packages/vipeye-internal/src/tests/samples/project1/sample1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/sample1.py rename to packages/vipeye-internal/src/tests/samples/project1/sample1.py diff --git a/packages/pyright-internal/src/tests/samples/project1/subfolder1/sample2.py b/packages/vipeye-internal/src/tests/samples/project1/subfolder1/sample2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project1/subfolder1/sample2.py rename to packages/vipeye-internal/src/tests/samples/project1/subfolder1/sample2.py diff --git a/packages/pyright-internal/src/tests/samples/project1/subfolder1/subfolder1-1/sample3.py b/packages/vipeye-internal/src/tests/samples/project1/subfolder1/subfolder1-1/sample3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project1/subfolder1/subfolder1-1/sample3.py rename to packages/vipeye-internal/src/tests/samples/project1/subfolder1/subfolder1-1/sample3.py diff --git a/packages/pyright-internal/src/tests/samples/project2/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project2/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project2/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project2/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project3/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project3/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project3/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project3/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project4/presentfile.py b/packages/vipeye-internal/src/tests/samples/project4/presentfile.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project4/presentfile.py rename to packages/vipeye-internal/src/tests/samples/project4/presentfile.py diff --git a/packages/pyright-internal/src/tests/samples/project4/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project4/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project4/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project4/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project4/subfolder/presentfile2.py b/packages/vipeye-internal/src/tests/samples/project4/subfolder/presentfile2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project4/subfolder/presentfile2.py rename to packages/vipeye-internal/src/tests/samples/project4/subfolder/presentfile2.py diff --git a/packages/pyright-internal/src/tests/samples/project4/subfolder/presentfile3.py b/packages/vipeye-internal/src/tests/samples/project4/subfolder/presentfile3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project4/subfolder/presentfile3.py rename to packages/vipeye-internal/src/tests/samples/project4/subfolder/presentfile3.py diff --git a/packages/pyright-internal/src/tests/samples/project5/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project5/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project5/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project5/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project6/app1.py b/packages/vipeye-internal/src/tests/samples/project6/app1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project6/app1.py rename to packages/vipeye-internal/src/tests/samples/project6/app1.py diff --git a/packages/pyright-internal/src/tests/samples/project6/app2.py b/packages/vipeye-internal/src/tests/samples/project6/app2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project6/app2.py rename to packages/vipeye-internal/src/tests/samples/project6/app2.py diff --git a/packages/pyright-internal/src/tests/samples/project6/projectA/foo/bar/__init__.py b/packages/vipeye-internal/src/tests/samples/project6/projectA/foo/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project6/projectA/foo/bar/__init__.py rename to packages/vipeye-internal/src/tests/samples/project6/projectA/foo/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/project6/projectB/foo/__init__.py b/packages/vipeye-internal/src/tests/samples/project6/projectA/foo/bar/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project6/projectB/foo/__init__.py rename to packages/vipeye-internal/src/tests/samples/project6/projectA/foo/bar/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/project6/projectB/foo/baz/__init__.py b/packages/vipeye-internal/src/tests/samples/project6/projectB/foo/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project6/projectB/foo/baz/__init__.py rename to packages/vipeye-internal/src/tests/samples/project6/projectB/foo/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/project_src_is_pkg/src/__init__.py b/packages/vipeye-internal/src/tests/samples/project6/projectB/foo/baz/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_is_pkg/src/__init__.py rename to packages/vipeye-internal/src/tests/samples/project6/projectB/foo/baz/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/project_src/src/module1.py b/packages/vipeye-internal/src/tests/samples/project_src/src/module1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src/src/module1.py rename to packages/vipeye-internal/src/tests/samples/project_src/src/module1.py diff --git a/packages/pyright-internal/src/tests/samples/project_src_is_pkg/src/module1.py b/packages/vipeye-internal/src/tests/samples/project_src_is_pkg/src/__init__.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_is_pkg/src/module1.py rename to packages/vipeye-internal/src/tests/samples/project_src_is_pkg/src/__init__.py diff --git a/packages/pyright-internal/src/tests/samples/project_src_with_config_extra_paths/src/module1.py b/packages/vipeye-internal/src/tests/samples/project_src_is_pkg/src/module1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_with_config_extra_paths/src/module1.py rename to packages/vipeye-internal/src/tests/samples/project_src_is_pkg/src/module1.py diff --git a/packages/pyright-internal/src/tests/samples/project_src_with_config_extra_paths/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project_src_with_config_extra_paths/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_with_config_extra_paths/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project_src_with_config_extra_paths/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project_src_with_config_no_extra_paths/src/module1.py b/packages/vipeye-internal/src/tests/samples/project_src_with_config_extra_paths/src/module1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_with_config_no_extra_paths/src/module1.py rename to packages/vipeye-internal/src/tests/samples/project_src_with_config_extra_paths/src/module1.py diff --git a/packages/pyright-internal/src/tests/samples/project_src_with_config_no_extra_paths/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project_src_with_config_no_extra_paths/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_with_config_no_extra_paths/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project_src_with_config_no_extra_paths/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/Lib/site-packages/library1.py b/packages/vipeye-internal/src/tests/samples/project_src_with_config_no_extra_paths/src/module1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/Lib/site-packages/library1.py rename to packages/vipeye-internal/src/tests/samples/project_src_with_config_no_extra_paths/src/module1.py diff --git a/packages/pyright-internal/src/tests/samples/project_src_with_extra_paths/src/_vendored/vendored1.py b/packages/vipeye-internal/src/tests/samples/project_src_with_extra_paths/src/_vendored/vendored1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_with_extra_paths/src/_vendored/vendored1.py rename to packages/vipeye-internal/src/tests/samples/project_src_with_extra_paths/src/_vendored/vendored1.py diff --git a/packages/pyright-internal/src/tests/samples/project_src_with_extra_paths/src/module1.py b/packages/vipeye-internal/src/tests/samples/project_src_with_extra_paths/src/module1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_src_with_extra_paths/src/module1.py rename to packages/vipeye-internal/src/tests/samples/project_src_with_extra_paths/src/module1.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_all_config/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project_with_all_config/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_all_config/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project_with_all_config/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_diag_overrides/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project_with_diag_overrides/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_diag_overrides/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project_with_diag_overrides/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_diag_overrides/subdir/sample.py b/packages/vipeye-internal/src/tests/samples/project_with_diag_overrides/subdir/sample.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_diag_overrides/subdir/sample.py rename to packages/vipeye-internal/src/tests/samples/project_with_diag_overrides/subdir/sample.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_empty_pyproject_toml/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_empty_pyproject_toml/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_empty_pyproject_toml/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_empty_pyproject_toml/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_empty_pyproject_toml/subproject/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_empty_pyproject_toml/subproject/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_empty_pyproject_toml/subproject/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_empty_pyproject_toml/subproject/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_extended_config/baseconfig1.toml b/packages/vipeye-internal/src/tests/samples/project_with_extended_config/baseconfig1.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_extended_config/baseconfig1.toml rename to packages/vipeye-internal/src/tests/samples/project_with_extended_config/baseconfig1.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_extended_config/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_extended_config/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_extended_config/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_extended_config/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_extended_config/sub2/baseconfig2.json b/packages/vipeye-internal/src/tests/samples/project_with_extended_config/sub2/baseconfig2.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_extended_config/sub2/baseconfig2.json rename to packages/vipeye-internal/src/tests/samples/project_with_extended_config/sub2/baseconfig2.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_extended_config/sub3/baseconfig3.json b/packages/vipeye-internal/src/tests/samples/project_with_extended_config/sub3/baseconfig3.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_extended_config/sub3/baseconfig3.json rename to packages/vipeye-internal/src/tests/samples/project_with_extended_config/sub3/baseconfig3.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_extended_config/sub3/stubs/sample.pyi b/packages/vipeye-internal/src/tests/samples/project_with_extended_config/sub3/stubs/sample.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_extended_config/sub3/stubs/sample.pyi rename to packages/vipeye-internal/src/tests/samples/project_with_extended_config/sub3/stubs/sample.pyi diff --git a/packages/pyright-internal/src/tests/samples/project_with_extended_config/test.py b/packages/vipeye-internal/src/tests/samples/project_with_extended_config/test.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_extended_config/test.py rename to packages/vipeye-internal/src/tests/samples/project_with_extended_config/test.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/subproject/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/subproject/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/subproject/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/middle/subproject/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_nested_empty_pyproject_toml/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_pyproject_toml/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_pyproject_toml/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_pyproject_toml/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_pyproject_toml/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_pyproject_toml_platform/pyproject.toml b/packages/vipeye-internal/src/tests/samples/project_with_pyproject_toml_platform/pyproject.toml similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_pyproject_toml_platform/pyproject.toml rename to packages/vipeye-internal/src/tests/samples/project_with_pyproject_toml_platform/pyproject.toml diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/Lib/site-packages/library1.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/Lib/site-packages/library1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/Lib/site-packages/library1.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/Lib/site-packages/library1.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/pyvenv.cfg b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/pyvenv.cfg similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/pyvenv.cfg rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/myvenv/pyvenv.cfg diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/sample1.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/sample1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/sample1.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/sample1.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/sample2.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/sample2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/sample2.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/sample2.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/subfolder1-1/sample3.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/subfolder1-1/sample3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/subfolder1-1/sample3.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_exclude/subfolder1/subfolder1-1/sample3.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/excluded/excluded1.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/excluded/excluded1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/excluded/excluded1.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/excluded/excluded1.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/pyvenv.cfg b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/Lib/site-packages/library1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/pyvenv.cfg rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/Lib/site-packages/library1.py diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/sample2.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/pyvenv.cfg similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/sample2.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/myvenv/pyvenv.cfg diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/pyrightconfig.json b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/pyrightconfig.json similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/pyrightconfig.json rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/pyrightconfig.json diff --git a/packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/subfolder1-1/sample3.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/sample1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/subfolder1-1/sample3.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/sample1.py diff --git a/packages/pyright-internal/src/tests/samples/test_file1.py b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/sample2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/test_file1.py rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/sample2.py diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/__init__.pyi b/packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/subfolder1-1/sample3.py similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/__init__.pyi rename to packages/vipeye-internal/src/tests/samples/project_with_venv_auto_detect_include/subfolder1/subfolder1-1/sample3.py diff --git a/packages/pyright-internal/src/tests/samples/property1.py b/packages/vipeye-internal/src/tests/samples/property1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property1.py rename to packages/vipeye-internal/src/tests/samples/property1.py diff --git a/packages/pyright-internal/src/tests/samples/property10.py b/packages/vipeye-internal/src/tests/samples/property10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property10.py rename to packages/vipeye-internal/src/tests/samples/property10.py diff --git a/packages/pyright-internal/src/tests/samples/property11.py b/packages/vipeye-internal/src/tests/samples/property11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property11.py rename to packages/vipeye-internal/src/tests/samples/property11.py diff --git a/packages/pyright-internal/src/tests/samples/property12.py b/packages/vipeye-internal/src/tests/samples/property12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property12.py rename to packages/vipeye-internal/src/tests/samples/property12.py diff --git a/packages/pyright-internal/src/tests/samples/property13.py b/packages/vipeye-internal/src/tests/samples/property13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property13.py rename to packages/vipeye-internal/src/tests/samples/property13.py diff --git a/packages/pyright-internal/src/tests/samples/property14.py b/packages/vipeye-internal/src/tests/samples/property14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property14.py rename to packages/vipeye-internal/src/tests/samples/property14.py diff --git a/packages/pyright-internal/src/tests/samples/property15.py b/packages/vipeye-internal/src/tests/samples/property15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property15.py rename to packages/vipeye-internal/src/tests/samples/property15.py diff --git a/packages/pyright-internal/src/tests/samples/property16.py b/packages/vipeye-internal/src/tests/samples/property16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property16.py rename to packages/vipeye-internal/src/tests/samples/property16.py diff --git a/packages/pyright-internal/src/tests/samples/property17.py b/packages/vipeye-internal/src/tests/samples/property17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property17.py rename to packages/vipeye-internal/src/tests/samples/property17.py diff --git a/packages/pyright-internal/src/tests/samples/property18.py b/packages/vipeye-internal/src/tests/samples/property18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property18.py rename to packages/vipeye-internal/src/tests/samples/property18.py diff --git a/packages/pyright-internal/src/tests/samples/property19.py b/packages/vipeye-internal/src/tests/samples/property19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property19.py rename to packages/vipeye-internal/src/tests/samples/property19.py diff --git a/packages/pyright-internal/src/tests/samples/property2.py b/packages/vipeye-internal/src/tests/samples/property2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property2.py rename to packages/vipeye-internal/src/tests/samples/property2.py diff --git a/packages/pyright-internal/src/tests/samples/property20.py b/packages/vipeye-internal/src/tests/samples/property20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property20.py rename to packages/vipeye-internal/src/tests/samples/property20.py diff --git a/packages/pyright-internal/src/tests/samples/property21.py b/packages/vipeye-internal/src/tests/samples/property21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property21.py rename to packages/vipeye-internal/src/tests/samples/property21.py diff --git a/packages/pyright-internal/src/tests/samples/property22.py b/packages/vipeye-internal/src/tests/samples/property22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property22.py rename to packages/vipeye-internal/src/tests/samples/property22.py diff --git a/packages/pyright-internal/src/tests/samples/property23.py b/packages/vipeye-internal/src/tests/samples/property23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property23.py rename to packages/vipeye-internal/src/tests/samples/property23.py diff --git a/packages/pyright-internal/src/tests/samples/property3.py b/packages/vipeye-internal/src/tests/samples/property3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property3.py rename to packages/vipeye-internal/src/tests/samples/property3.py diff --git a/packages/pyright-internal/src/tests/samples/property4.py b/packages/vipeye-internal/src/tests/samples/property4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property4.py rename to packages/vipeye-internal/src/tests/samples/property4.py diff --git a/packages/pyright-internal/src/tests/samples/property5.py b/packages/vipeye-internal/src/tests/samples/property5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property5.py rename to packages/vipeye-internal/src/tests/samples/property5.py diff --git a/packages/pyright-internal/src/tests/samples/property6.py b/packages/vipeye-internal/src/tests/samples/property6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property6.py rename to packages/vipeye-internal/src/tests/samples/property6.py diff --git a/packages/pyright-internal/src/tests/samples/property7.py b/packages/vipeye-internal/src/tests/samples/property7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property7.py rename to packages/vipeye-internal/src/tests/samples/property7.py diff --git a/packages/pyright-internal/src/tests/samples/property8.py b/packages/vipeye-internal/src/tests/samples/property8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property8.py rename to packages/vipeye-internal/src/tests/samples/property8.py diff --git a/packages/pyright-internal/src/tests/samples/property9.py b/packages/vipeye-internal/src/tests/samples/property9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/property9.py rename to packages/vipeye-internal/src/tests/samples/property9.py diff --git a/packages/pyright-internal/src/tests/samples/protocol1.py b/packages/vipeye-internal/src/tests/samples/protocol1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol1.py rename to packages/vipeye-internal/src/tests/samples/protocol1.py diff --git a/packages/pyright-internal/src/tests/samples/protocol10.py b/packages/vipeye-internal/src/tests/samples/protocol10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol10.py rename to packages/vipeye-internal/src/tests/samples/protocol10.py diff --git a/packages/pyright-internal/src/tests/samples/protocol11.py b/packages/vipeye-internal/src/tests/samples/protocol11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol11.py rename to packages/vipeye-internal/src/tests/samples/protocol11.py diff --git a/packages/pyright-internal/src/tests/samples/protocol12.py b/packages/vipeye-internal/src/tests/samples/protocol12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol12.py rename to packages/vipeye-internal/src/tests/samples/protocol12.py diff --git a/packages/pyright-internal/src/tests/samples/protocol13.py b/packages/vipeye-internal/src/tests/samples/protocol13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol13.py rename to packages/vipeye-internal/src/tests/samples/protocol13.py diff --git a/packages/pyright-internal/src/tests/samples/protocol14.py b/packages/vipeye-internal/src/tests/samples/protocol14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol14.py rename to packages/vipeye-internal/src/tests/samples/protocol14.py diff --git a/packages/pyright-internal/src/tests/samples/protocol15.py b/packages/vipeye-internal/src/tests/samples/protocol15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol15.py rename to packages/vipeye-internal/src/tests/samples/protocol15.py diff --git a/packages/pyright-internal/src/tests/samples/protocol16.py b/packages/vipeye-internal/src/tests/samples/protocol16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol16.py rename to packages/vipeye-internal/src/tests/samples/protocol16.py diff --git a/packages/pyright-internal/src/tests/samples/protocol17.py b/packages/vipeye-internal/src/tests/samples/protocol17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol17.py rename to packages/vipeye-internal/src/tests/samples/protocol17.py diff --git a/packages/pyright-internal/src/tests/samples/protocol18.py b/packages/vipeye-internal/src/tests/samples/protocol18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol18.py rename to packages/vipeye-internal/src/tests/samples/protocol18.py diff --git a/packages/pyright-internal/src/tests/samples/protocol19.py b/packages/vipeye-internal/src/tests/samples/protocol19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol19.py rename to packages/vipeye-internal/src/tests/samples/protocol19.py diff --git a/packages/pyright-internal/src/tests/samples/protocol2.py b/packages/vipeye-internal/src/tests/samples/protocol2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol2.py rename to packages/vipeye-internal/src/tests/samples/protocol2.py diff --git a/packages/pyright-internal/src/tests/samples/protocol20.py b/packages/vipeye-internal/src/tests/samples/protocol20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol20.py rename to packages/vipeye-internal/src/tests/samples/protocol20.py diff --git a/packages/pyright-internal/src/tests/samples/protocol21.py b/packages/vipeye-internal/src/tests/samples/protocol21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol21.py rename to packages/vipeye-internal/src/tests/samples/protocol21.py diff --git a/packages/pyright-internal/src/tests/samples/protocol22.py b/packages/vipeye-internal/src/tests/samples/protocol22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol22.py rename to packages/vipeye-internal/src/tests/samples/protocol22.py diff --git a/packages/pyright-internal/src/tests/samples/protocol23.py b/packages/vipeye-internal/src/tests/samples/protocol23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol23.py rename to packages/vipeye-internal/src/tests/samples/protocol23.py diff --git a/packages/pyright-internal/src/tests/samples/protocol24.py b/packages/vipeye-internal/src/tests/samples/protocol24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol24.py rename to packages/vipeye-internal/src/tests/samples/protocol24.py diff --git a/packages/pyright-internal/src/tests/samples/protocol25.py b/packages/vipeye-internal/src/tests/samples/protocol25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol25.py rename to packages/vipeye-internal/src/tests/samples/protocol25.py diff --git a/packages/pyright-internal/src/tests/samples/protocol26.py b/packages/vipeye-internal/src/tests/samples/protocol26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol26.py rename to packages/vipeye-internal/src/tests/samples/protocol26.py diff --git a/packages/pyright-internal/src/tests/samples/protocol28.py b/packages/vipeye-internal/src/tests/samples/protocol28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol28.py rename to packages/vipeye-internal/src/tests/samples/protocol28.py diff --git a/packages/pyright-internal/src/tests/samples/protocol29.py b/packages/vipeye-internal/src/tests/samples/protocol29.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol29.py rename to packages/vipeye-internal/src/tests/samples/protocol29.py diff --git a/packages/pyright-internal/src/tests/samples/protocol3.py b/packages/vipeye-internal/src/tests/samples/protocol3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol3.py rename to packages/vipeye-internal/src/tests/samples/protocol3.py diff --git a/packages/pyright-internal/src/tests/samples/protocol30.py b/packages/vipeye-internal/src/tests/samples/protocol30.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol30.py rename to packages/vipeye-internal/src/tests/samples/protocol30.py diff --git a/packages/pyright-internal/src/tests/samples/protocol31.py b/packages/vipeye-internal/src/tests/samples/protocol31.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol31.py rename to packages/vipeye-internal/src/tests/samples/protocol31.py diff --git a/packages/pyright-internal/src/tests/samples/protocol32.py b/packages/vipeye-internal/src/tests/samples/protocol32.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol32.py rename to packages/vipeye-internal/src/tests/samples/protocol32.py diff --git a/packages/pyright-internal/src/tests/samples/protocol33.py b/packages/vipeye-internal/src/tests/samples/protocol33.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol33.py rename to packages/vipeye-internal/src/tests/samples/protocol33.py diff --git a/packages/pyright-internal/src/tests/samples/protocol34.py b/packages/vipeye-internal/src/tests/samples/protocol34.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol34.py rename to packages/vipeye-internal/src/tests/samples/protocol34.py diff --git a/packages/pyright-internal/src/tests/samples/protocol35.py b/packages/vipeye-internal/src/tests/samples/protocol35.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol35.py rename to packages/vipeye-internal/src/tests/samples/protocol35.py diff --git a/packages/pyright-internal/src/tests/samples/protocol36.py b/packages/vipeye-internal/src/tests/samples/protocol36.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol36.py rename to packages/vipeye-internal/src/tests/samples/protocol36.py diff --git a/packages/pyright-internal/src/tests/samples/protocol37.py b/packages/vipeye-internal/src/tests/samples/protocol37.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol37.py rename to packages/vipeye-internal/src/tests/samples/protocol37.py diff --git a/packages/pyright-internal/src/tests/samples/protocol38.py b/packages/vipeye-internal/src/tests/samples/protocol38.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol38.py rename to packages/vipeye-internal/src/tests/samples/protocol38.py diff --git a/packages/pyright-internal/src/tests/samples/protocol39.py b/packages/vipeye-internal/src/tests/samples/protocol39.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol39.py rename to packages/vipeye-internal/src/tests/samples/protocol39.py diff --git a/packages/pyright-internal/src/tests/samples/protocol4.py b/packages/vipeye-internal/src/tests/samples/protocol4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol4.py rename to packages/vipeye-internal/src/tests/samples/protocol4.py diff --git a/packages/pyright-internal/src/tests/samples/protocol40.py b/packages/vipeye-internal/src/tests/samples/protocol40.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol40.py rename to packages/vipeye-internal/src/tests/samples/protocol40.py diff --git a/packages/pyright-internal/src/tests/samples/protocol41.py b/packages/vipeye-internal/src/tests/samples/protocol41.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol41.py rename to packages/vipeye-internal/src/tests/samples/protocol41.py diff --git a/packages/pyright-internal/src/tests/samples/protocol42.py b/packages/vipeye-internal/src/tests/samples/protocol42.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol42.py rename to packages/vipeye-internal/src/tests/samples/protocol42.py diff --git a/packages/pyright-internal/src/tests/samples/protocol43.py b/packages/vipeye-internal/src/tests/samples/protocol43.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol43.py rename to packages/vipeye-internal/src/tests/samples/protocol43.py diff --git a/packages/pyright-internal/src/tests/samples/protocol44.py b/packages/vipeye-internal/src/tests/samples/protocol44.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol44.py rename to packages/vipeye-internal/src/tests/samples/protocol44.py diff --git a/packages/pyright-internal/src/tests/samples/protocol45.py b/packages/vipeye-internal/src/tests/samples/protocol45.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol45.py rename to packages/vipeye-internal/src/tests/samples/protocol45.py diff --git a/packages/pyright-internal/src/tests/samples/protocol46.py b/packages/vipeye-internal/src/tests/samples/protocol46.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol46.py rename to packages/vipeye-internal/src/tests/samples/protocol46.py diff --git a/packages/pyright-internal/src/tests/samples/protocol47.py b/packages/vipeye-internal/src/tests/samples/protocol47.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol47.py rename to packages/vipeye-internal/src/tests/samples/protocol47.py diff --git a/packages/pyright-internal/src/tests/samples/protocol48.py b/packages/vipeye-internal/src/tests/samples/protocol48.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol48.py rename to packages/vipeye-internal/src/tests/samples/protocol48.py diff --git a/packages/pyright-internal/src/tests/samples/protocol49.py b/packages/vipeye-internal/src/tests/samples/protocol49.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol49.py rename to packages/vipeye-internal/src/tests/samples/protocol49.py diff --git a/packages/pyright-internal/src/tests/samples/protocol5.py b/packages/vipeye-internal/src/tests/samples/protocol5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol5.py rename to packages/vipeye-internal/src/tests/samples/protocol5.py diff --git a/packages/pyright-internal/src/tests/samples/protocol50.py b/packages/vipeye-internal/src/tests/samples/protocol50.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol50.py rename to packages/vipeye-internal/src/tests/samples/protocol50.py diff --git a/packages/pyright-internal/src/tests/samples/protocol51.py b/packages/vipeye-internal/src/tests/samples/protocol51.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol51.py rename to packages/vipeye-internal/src/tests/samples/protocol51.py diff --git a/packages/pyright-internal/src/tests/samples/protocol52.py b/packages/vipeye-internal/src/tests/samples/protocol52.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol52.py rename to packages/vipeye-internal/src/tests/samples/protocol52.py diff --git a/packages/pyright-internal/src/tests/samples/protocol53.py b/packages/vipeye-internal/src/tests/samples/protocol53.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol53.py rename to packages/vipeye-internal/src/tests/samples/protocol53.py diff --git a/packages/pyright-internal/src/tests/samples/protocol6.py b/packages/vipeye-internal/src/tests/samples/protocol6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol6.py rename to packages/vipeye-internal/src/tests/samples/protocol6.py diff --git a/packages/pyright-internal/src/tests/samples/protocol7.py b/packages/vipeye-internal/src/tests/samples/protocol7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol7.py rename to packages/vipeye-internal/src/tests/samples/protocol7.py diff --git a/packages/pyright-internal/src/tests/samples/protocol8.py b/packages/vipeye-internal/src/tests/samples/protocol8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol8.py rename to packages/vipeye-internal/src/tests/samples/protocol8.py diff --git a/packages/pyright-internal/src/tests/samples/protocol9.py b/packages/vipeye-internal/src/tests/samples/protocol9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocol9.py rename to packages/vipeye-internal/src/tests/samples/protocol9.py diff --git a/packages/pyright-internal/src/tests/samples/protocolExplicit1.py b/packages/vipeye-internal/src/tests/samples/protocolExplicit1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocolExplicit1.py rename to packages/vipeye-internal/src/tests/samples/protocolExplicit1.py diff --git a/packages/pyright-internal/src/tests/samples/protocolExplicit2.pyi b/packages/vipeye-internal/src/tests/samples/protocolExplicit2.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocolExplicit2.pyi rename to packages/vipeye-internal/src/tests/samples/protocolExplicit2.pyi diff --git a/packages/pyright-internal/src/tests/samples/protocolExplicit3.py b/packages/vipeye-internal/src/tests/samples/protocolExplicit3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocolExplicit3.py rename to packages/vipeye-internal/src/tests/samples/protocolExplicit3.py diff --git a/packages/pyright-internal/src/tests/samples/protocolModule1.py b/packages/vipeye-internal/src/tests/samples/protocolModule1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocolModule1.py rename to packages/vipeye-internal/src/tests/samples/protocolModule1.py diff --git a/packages/pyright-internal/src/tests/samples/protocolModule2.py b/packages/vipeye-internal/src/tests/samples/protocolModule2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocolModule2.py rename to packages/vipeye-internal/src/tests/samples/protocolModule2.py diff --git a/packages/pyright-internal/src/tests/samples/protocolModule3.py b/packages/vipeye-internal/src/tests/samples/protocolModule3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocolModule3.py rename to packages/vipeye-internal/src/tests/samples/protocolModule3.py diff --git a/packages/pyright-internal/src/tests/samples/protocolModule4.py b/packages/vipeye-internal/src/tests/samples/protocolModule4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/protocolModule4.py rename to packages/vipeye-internal/src/tests/samples/protocolModule4.py diff --git a/packages/pyright-internal/src/tests/samples/pseudoGeneric1.py b/packages/vipeye-internal/src/tests/samples/pseudoGeneric1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/pseudoGeneric1.py rename to packages/vipeye-internal/src/tests/samples/pseudoGeneric1.py diff --git a/packages/pyright-internal/src/tests/samples/pseudoGeneric2.py b/packages/vipeye-internal/src/tests/samples/pseudoGeneric2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/pseudoGeneric2.py rename to packages/vipeye-internal/src/tests/samples/pseudoGeneric2.py diff --git a/packages/pyright-internal/src/tests/samples/pseudoGeneric3.py b/packages/vipeye-internal/src/tests/samples/pseudoGeneric3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/pseudoGeneric3.py rename to packages/vipeye-internal/src/tests/samples/pseudoGeneric3.py diff --git a/packages/pyright-internal/src/tests/samples/pyrightComment1.py b/packages/vipeye-internal/src/tests/samples/pyrightComment1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/pyrightComment1.py rename to packages/vipeye-internal/src/tests/samples/pyrightComment1.py diff --git a/packages/pyright-internal/src/tests/samples/pyrightIgnore1.py b/packages/vipeye-internal/src/tests/samples/pyrightIgnore1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/pyrightIgnore1.py rename to packages/vipeye-internal/src/tests/samples/pyrightIgnore1.py diff --git a/packages/pyright-internal/src/tests/samples/pyrightIgnore2.py b/packages/vipeye-internal/src/tests/samples/pyrightIgnore2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/pyrightIgnore2.py rename to packages/vipeye-internal/src/tests/samples/pyrightIgnore2.py diff --git a/packages/pyright-internal/src/tests/samples/python2.py b/packages/vipeye-internal/src/tests/samples/python2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/python2.py rename to packages/vipeye-internal/src/tests/samples/python2.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias1.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias1.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias1.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias10.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias10.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias10.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias11.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias11.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias11.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias12.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias12.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias12.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias13.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias13.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias13.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias14.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias14.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias14.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias15.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias15.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias15.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias16.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias16.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias16.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias17.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias17.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias17.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias2.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias2.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias2.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias3.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias3.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias3.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias4.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias4.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias4.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias5.pyi b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias5.pyi similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias5.pyi rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias5.pyi diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias6.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias6.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias6.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias7.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias7.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias7.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias8.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias8.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias8.py diff --git a/packages/pyright-internal/src/tests/samples/recursiveTypeAlias9.py b/packages/vipeye-internal/src/tests/samples/recursiveTypeAlias9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/recursiveTypeAlias9.py rename to packages/vipeye-internal/src/tests/samples/recursiveTypeAlias9.py diff --git a/packages/pyright-internal/src/tests/samples/required1.py b/packages/vipeye-internal/src/tests/samples/required1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/required1.py rename to packages/vipeye-internal/src/tests/samples/required1.py diff --git a/packages/pyright-internal/src/tests/samples/required2.py b/packages/vipeye-internal/src/tests/samples/required2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/required2.py rename to packages/vipeye-internal/src/tests/samples/required2.py diff --git a/packages/pyright-internal/src/tests/samples/required3.py b/packages/vipeye-internal/src/tests/samples/required3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/required3.py rename to packages/vipeye-internal/src/tests/samples/required3.py diff --git a/packages/pyright-internal/src/tests/samples/returnTypes1.py b/packages/vipeye-internal/src/tests/samples/returnTypes1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/returnTypes1.py rename to packages/vipeye-internal/src/tests/samples/returnTypes1.py diff --git a/packages/pyright-internal/src/tests/samples/returnTypes2.py b/packages/vipeye-internal/src/tests/samples/returnTypes2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/returnTypes2.py rename to packages/vipeye-internal/src/tests/samples/returnTypes2.py diff --git a/packages/pyright-internal/src/tests/samples/revealedType1.py b/packages/vipeye-internal/src/tests/samples/revealedType1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/revealedType1.py rename to packages/vipeye-internal/src/tests/samples/revealedType1.py diff --git a/packages/pyright-internal/src/tests/samples/self1.py b/packages/vipeye-internal/src/tests/samples/self1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self1.py rename to packages/vipeye-internal/src/tests/samples/self1.py diff --git a/packages/pyright-internal/src/tests/samples/self10.py b/packages/vipeye-internal/src/tests/samples/self10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self10.py rename to packages/vipeye-internal/src/tests/samples/self10.py diff --git a/packages/pyright-internal/src/tests/samples/self11.py b/packages/vipeye-internal/src/tests/samples/self11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self11.py rename to packages/vipeye-internal/src/tests/samples/self11.py diff --git a/packages/pyright-internal/src/tests/samples/self2.py b/packages/vipeye-internal/src/tests/samples/self2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self2.py rename to packages/vipeye-internal/src/tests/samples/self2.py diff --git a/packages/pyright-internal/src/tests/samples/self3.py b/packages/vipeye-internal/src/tests/samples/self3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self3.py rename to packages/vipeye-internal/src/tests/samples/self3.py diff --git a/packages/pyright-internal/src/tests/samples/self4.py b/packages/vipeye-internal/src/tests/samples/self4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self4.py rename to packages/vipeye-internal/src/tests/samples/self4.py diff --git a/packages/pyright-internal/src/tests/samples/self5.py b/packages/vipeye-internal/src/tests/samples/self5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self5.py rename to packages/vipeye-internal/src/tests/samples/self5.py diff --git a/packages/pyright-internal/src/tests/samples/self6.py b/packages/vipeye-internal/src/tests/samples/self6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self6.py rename to packages/vipeye-internal/src/tests/samples/self6.py diff --git a/packages/pyright-internal/src/tests/samples/self7.py b/packages/vipeye-internal/src/tests/samples/self7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self7.py rename to packages/vipeye-internal/src/tests/samples/self7.py diff --git a/packages/pyright-internal/src/tests/samples/self8.py b/packages/vipeye-internal/src/tests/samples/self8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self8.py rename to packages/vipeye-internal/src/tests/samples/self8.py diff --git a/packages/pyright-internal/src/tests/samples/self9.py b/packages/vipeye-internal/src/tests/samples/self9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/self9.py rename to packages/vipeye-internal/src/tests/samples/self9.py diff --git a/packages/pyright-internal/src/tests/samples/sentinel1.py b/packages/vipeye-internal/src/tests/samples/sentinel1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/sentinel1.py rename to packages/vipeye-internal/src/tests/samples/sentinel1.py diff --git a/packages/pyright-internal/src/tests/samples/sentinel2.py b/packages/vipeye-internal/src/tests/samples/sentinel2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/sentinel2.py rename to packages/vipeye-internal/src/tests/samples/sentinel2.py diff --git a/packages/pyright-internal/src/tests/samples/slice1.py b/packages/vipeye-internal/src/tests/samples/slice1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/slice1.py rename to packages/vipeye-internal/src/tests/samples/slice1.py diff --git a/packages/pyright-internal/src/tests/samples/slots1.py b/packages/vipeye-internal/src/tests/samples/slots1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/slots1.py rename to packages/vipeye-internal/src/tests/samples/slots1.py diff --git a/packages/pyright-internal/src/tests/samples/slots2.py b/packages/vipeye-internal/src/tests/samples/slots2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/slots2.py rename to packages/vipeye-internal/src/tests/samples/slots2.py diff --git a/packages/pyright-internal/src/tests/samples/slots3.py b/packages/vipeye-internal/src/tests/samples/slots3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/slots3.py rename to packages/vipeye-internal/src/tests/samples/slots3.py diff --git a/packages/pyright-internal/src/tests/samples/slots4.py b/packages/vipeye-internal/src/tests/samples/slots4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/slots4.py rename to packages/vipeye-internal/src/tests/samples/slots4.py diff --git a/packages/pyright-internal/src/tests/samples/solver1.py b/packages/vipeye-internal/src/tests/samples/solver1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver1.py rename to packages/vipeye-internal/src/tests/samples/solver1.py diff --git a/packages/pyright-internal/src/tests/samples/solver10.py b/packages/vipeye-internal/src/tests/samples/solver10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver10.py rename to packages/vipeye-internal/src/tests/samples/solver10.py diff --git a/packages/pyright-internal/src/tests/samples/solver11.py b/packages/vipeye-internal/src/tests/samples/solver11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver11.py rename to packages/vipeye-internal/src/tests/samples/solver11.py diff --git a/packages/pyright-internal/src/tests/samples/solver12.py b/packages/vipeye-internal/src/tests/samples/solver12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver12.py rename to packages/vipeye-internal/src/tests/samples/solver12.py diff --git a/packages/pyright-internal/src/tests/samples/solver13.py b/packages/vipeye-internal/src/tests/samples/solver13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver13.py rename to packages/vipeye-internal/src/tests/samples/solver13.py diff --git a/packages/pyright-internal/src/tests/samples/solver14.py b/packages/vipeye-internal/src/tests/samples/solver14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver14.py rename to packages/vipeye-internal/src/tests/samples/solver14.py diff --git a/packages/pyright-internal/src/tests/samples/solver15.py b/packages/vipeye-internal/src/tests/samples/solver15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver15.py rename to packages/vipeye-internal/src/tests/samples/solver15.py diff --git a/packages/pyright-internal/src/tests/samples/solver16.py b/packages/vipeye-internal/src/tests/samples/solver16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver16.py rename to packages/vipeye-internal/src/tests/samples/solver16.py diff --git a/packages/pyright-internal/src/tests/samples/solver17.py b/packages/vipeye-internal/src/tests/samples/solver17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver17.py rename to packages/vipeye-internal/src/tests/samples/solver17.py diff --git a/packages/pyright-internal/src/tests/samples/solver18.py b/packages/vipeye-internal/src/tests/samples/solver18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver18.py rename to packages/vipeye-internal/src/tests/samples/solver18.py diff --git a/packages/pyright-internal/src/tests/samples/solver19.py b/packages/vipeye-internal/src/tests/samples/solver19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver19.py rename to packages/vipeye-internal/src/tests/samples/solver19.py diff --git a/packages/pyright-internal/src/tests/samples/solver2.py b/packages/vipeye-internal/src/tests/samples/solver2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver2.py rename to packages/vipeye-internal/src/tests/samples/solver2.py diff --git a/packages/pyright-internal/src/tests/samples/solver20.py b/packages/vipeye-internal/src/tests/samples/solver20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver20.py rename to packages/vipeye-internal/src/tests/samples/solver20.py diff --git a/packages/pyright-internal/src/tests/samples/solver21.py b/packages/vipeye-internal/src/tests/samples/solver21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver21.py rename to packages/vipeye-internal/src/tests/samples/solver21.py diff --git a/packages/pyright-internal/src/tests/samples/solver22.py b/packages/vipeye-internal/src/tests/samples/solver22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver22.py rename to packages/vipeye-internal/src/tests/samples/solver22.py diff --git a/packages/pyright-internal/src/tests/samples/solver23.py b/packages/vipeye-internal/src/tests/samples/solver23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver23.py rename to packages/vipeye-internal/src/tests/samples/solver23.py diff --git a/packages/pyright-internal/src/tests/samples/solver24.py b/packages/vipeye-internal/src/tests/samples/solver24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver24.py rename to packages/vipeye-internal/src/tests/samples/solver24.py diff --git a/packages/pyright-internal/src/tests/samples/solver25.py b/packages/vipeye-internal/src/tests/samples/solver25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver25.py rename to packages/vipeye-internal/src/tests/samples/solver25.py diff --git a/packages/pyright-internal/src/tests/samples/solver26.py b/packages/vipeye-internal/src/tests/samples/solver26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver26.py rename to packages/vipeye-internal/src/tests/samples/solver26.py diff --git a/packages/pyright-internal/src/tests/samples/solver27.py b/packages/vipeye-internal/src/tests/samples/solver27.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver27.py rename to packages/vipeye-internal/src/tests/samples/solver27.py diff --git a/packages/pyright-internal/src/tests/samples/solver28.py b/packages/vipeye-internal/src/tests/samples/solver28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver28.py rename to packages/vipeye-internal/src/tests/samples/solver28.py diff --git a/packages/pyright-internal/src/tests/samples/solver29.py b/packages/vipeye-internal/src/tests/samples/solver29.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver29.py rename to packages/vipeye-internal/src/tests/samples/solver29.py diff --git a/packages/pyright-internal/src/tests/samples/solver3.py b/packages/vipeye-internal/src/tests/samples/solver3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver3.py rename to packages/vipeye-internal/src/tests/samples/solver3.py diff --git a/packages/pyright-internal/src/tests/samples/solver30.py b/packages/vipeye-internal/src/tests/samples/solver30.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver30.py rename to packages/vipeye-internal/src/tests/samples/solver30.py diff --git a/packages/pyright-internal/src/tests/samples/solver31.py b/packages/vipeye-internal/src/tests/samples/solver31.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver31.py rename to packages/vipeye-internal/src/tests/samples/solver31.py diff --git a/packages/pyright-internal/src/tests/samples/solver32.py b/packages/vipeye-internal/src/tests/samples/solver32.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver32.py rename to packages/vipeye-internal/src/tests/samples/solver32.py diff --git a/packages/pyright-internal/src/tests/samples/solver33.py b/packages/vipeye-internal/src/tests/samples/solver33.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver33.py rename to packages/vipeye-internal/src/tests/samples/solver33.py diff --git a/packages/pyright-internal/src/tests/samples/solver34.py b/packages/vipeye-internal/src/tests/samples/solver34.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver34.py rename to packages/vipeye-internal/src/tests/samples/solver34.py diff --git a/packages/pyright-internal/src/tests/samples/solver35.py b/packages/vipeye-internal/src/tests/samples/solver35.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver35.py rename to packages/vipeye-internal/src/tests/samples/solver35.py diff --git a/packages/pyright-internal/src/tests/samples/solver36.py b/packages/vipeye-internal/src/tests/samples/solver36.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver36.py rename to packages/vipeye-internal/src/tests/samples/solver36.py diff --git a/packages/pyright-internal/src/tests/samples/solver37.py b/packages/vipeye-internal/src/tests/samples/solver37.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver37.py rename to packages/vipeye-internal/src/tests/samples/solver37.py diff --git a/packages/pyright-internal/src/tests/samples/solver38.py b/packages/vipeye-internal/src/tests/samples/solver38.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver38.py rename to packages/vipeye-internal/src/tests/samples/solver38.py diff --git a/packages/pyright-internal/src/tests/samples/solver39.py b/packages/vipeye-internal/src/tests/samples/solver39.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver39.py rename to packages/vipeye-internal/src/tests/samples/solver39.py diff --git a/packages/pyright-internal/src/tests/samples/solver4.py b/packages/vipeye-internal/src/tests/samples/solver4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver4.py rename to packages/vipeye-internal/src/tests/samples/solver4.py diff --git a/packages/pyright-internal/src/tests/samples/solver40.py b/packages/vipeye-internal/src/tests/samples/solver40.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver40.py rename to packages/vipeye-internal/src/tests/samples/solver40.py diff --git a/packages/pyright-internal/src/tests/samples/solver41.py b/packages/vipeye-internal/src/tests/samples/solver41.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver41.py rename to packages/vipeye-internal/src/tests/samples/solver41.py diff --git a/packages/pyright-internal/src/tests/samples/solver42.py b/packages/vipeye-internal/src/tests/samples/solver42.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver42.py rename to packages/vipeye-internal/src/tests/samples/solver42.py diff --git a/packages/pyright-internal/src/tests/samples/solver43.py b/packages/vipeye-internal/src/tests/samples/solver43.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver43.py rename to packages/vipeye-internal/src/tests/samples/solver43.py diff --git a/packages/pyright-internal/src/tests/samples/solver44.py b/packages/vipeye-internal/src/tests/samples/solver44.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver44.py rename to packages/vipeye-internal/src/tests/samples/solver44.py diff --git a/packages/pyright-internal/src/tests/samples/solver45.py b/packages/vipeye-internal/src/tests/samples/solver45.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver45.py rename to packages/vipeye-internal/src/tests/samples/solver45.py diff --git a/packages/pyright-internal/src/tests/samples/solver5.py b/packages/vipeye-internal/src/tests/samples/solver5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver5.py rename to packages/vipeye-internal/src/tests/samples/solver5.py diff --git a/packages/pyright-internal/src/tests/samples/solver6.py b/packages/vipeye-internal/src/tests/samples/solver6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver6.py rename to packages/vipeye-internal/src/tests/samples/solver6.py diff --git a/packages/pyright-internal/src/tests/samples/solver7.py b/packages/vipeye-internal/src/tests/samples/solver7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver7.py rename to packages/vipeye-internal/src/tests/samples/solver7.py diff --git a/packages/pyright-internal/src/tests/samples/solver8.py b/packages/vipeye-internal/src/tests/samples/solver8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver8.py rename to packages/vipeye-internal/src/tests/samples/solver8.py diff --git a/packages/pyright-internal/src/tests/samples/solver9.py b/packages/vipeye-internal/src/tests/samples/solver9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solver9.py rename to packages/vipeye-internal/src/tests/samples/solver9.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder1.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder1.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder1.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder10.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder10.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder10.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder11.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder11.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder11.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder12.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder12.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder12.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder13.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder13.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder13.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder14.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder14.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder14.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder2.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder2.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder2.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder3.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder3.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder3.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder4.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder4.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder4.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder5.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder5.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder5.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder6.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder6.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder6.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder7.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder7.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder7.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder8.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder8.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder8.py diff --git a/packages/pyright-internal/src/tests/samples/solverHigherOrder9.py b/packages/vipeye-internal/src/tests/samples/solverHigherOrder9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverHigherOrder9.py rename to packages/vipeye-internal/src/tests/samples/solverHigherOrder9.py diff --git a/packages/pyright-internal/src/tests/samples/solverLiteral1.py b/packages/vipeye-internal/src/tests/samples/solverLiteral1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverLiteral1.py rename to packages/vipeye-internal/src/tests/samples/solverLiteral1.py diff --git a/packages/pyright-internal/src/tests/samples/solverLiteral2.py b/packages/vipeye-internal/src/tests/samples/solverLiteral2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverLiteral2.py rename to packages/vipeye-internal/src/tests/samples/solverLiteral2.py diff --git a/packages/pyright-internal/src/tests/samples/solverScoring1.py b/packages/vipeye-internal/src/tests/samples/solverScoring1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverScoring1.py rename to packages/vipeye-internal/src/tests/samples/solverScoring1.py diff --git a/packages/pyright-internal/src/tests/samples/solverScoring2.py b/packages/vipeye-internal/src/tests/samples/solverScoring2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverScoring2.py rename to packages/vipeye-internal/src/tests/samples/solverScoring2.py diff --git a/packages/pyright-internal/src/tests/samples/solverScoring3.py b/packages/vipeye-internal/src/tests/samples/solverScoring3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverScoring3.py rename to packages/vipeye-internal/src/tests/samples/solverScoring3.py diff --git a/packages/pyright-internal/src/tests/samples/solverScoring4.py b/packages/vipeye-internal/src/tests/samples/solverScoring4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverScoring4.py rename to packages/vipeye-internal/src/tests/samples/solverScoring4.py diff --git a/packages/pyright-internal/src/tests/samples/solverUnknown1.py b/packages/vipeye-internal/src/tests/samples/solverUnknown1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/solverUnknown1.py rename to packages/vipeye-internal/src/tests/samples/solverUnknown1.py diff --git a/packages/pyright-internal/src/tests/samples/specialForm1.py b/packages/vipeye-internal/src/tests/samples/specialForm1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/specialForm1.py rename to packages/vipeye-internal/src/tests/samples/specialForm1.py diff --git a/packages/pyright-internal/src/tests/samples/specialForm2.py b/packages/vipeye-internal/src/tests/samples/specialForm2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/specialForm2.py rename to packages/vipeye-internal/src/tests/samples/specialForm2.py diff --git a/packages/pyright-internal/src/tests/samples/specialForm3.py b/packages/vipeye-internal/src/tests/samples/specialForm3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/specialForm3.py rename to packages/vipeye-internal/src/tests/samples/specialForm3.py diff --git a/packages/pyright-internal/src/tests/samples/specialForm4.py b/packages/vipeye-internal/src/tests/samples/specialForm4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/specialForm4.py rename to packages/vipeye-internal/src/tests/samples/specialForm4.py diff --git a/packages/pyright-internal/src/tests/samples/specialization1.py b/packages/vipeye-internal/src/tests/samples/specialization1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/specialization1.py rename to packages/vipeye-internal/src/tests/samples/specialization1.py diff --git a/packages/pyright-internal/src/tests/samples/specialization2.py b/packages/vipeye-internal/src/tests/samples/specialization2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/specialization2.py rename to packages/vipeye-internal/src/tests/samples/specialization2.py diff --git a/packages/pyright-internal/src/tests/samples/staticExpression1.py b/packages/vipeye-internal/src/tests/samples/staticExpression1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/staticExpression1.py rename to packages/vipeye-internal/src/tests/samples/staticExpression1.py diff --git a/packages/pyright-internal/src/tests/samples/staticExpression2.py b/packages/vipeye-internal/src/tests/samples/staticExpression2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/staticExpression2.py rename to packages/vipeye-internal/src/tests/samples/staticExpression2.py diff --git a/packages/pyright-internal/src/tests/samples/staticExpressionLiteral1.py b/packages/vipeye-internal/src/tests/samples/staticExpressionLiteral1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/staticExpressionLiteral1.py rename to packages/vipeye-internal/src/tests/samples/staticExpressionLiteral1.py diff --git a/packages/pyright-internal/src/tests/samples/strings1.py b/packages/vipeye-internal/src/tests/samples/strings1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/strings1.py rename to packages/vipeye-internal/src/tests/samples/strings1.py diff --git a/packages/pyright-internal/src/tests/samples/strings2.py b/packages/vipeye-internal/src/tests/samples/strings2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/strings2.py rename to packages/vipeye-internal/src/tests/samples/strings2.py diff --git a/packages/pyright-internal/src/tests/samples/structUnpack1.py b/packages/vipeye-internal/src/tests/samples/structUnpack1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/structUnpack1.py rename to packages/vipeye-internal/src/tests/samples/structUnpack1.py diff --git a/packages/pyright-internal/src/tests/samples/stubs/placeholder.txt b/packages/vipeye-internal/src/tests/samples/stubs/placeholder.txt similarity index 100% rename from packages/pyright-internal/src/tests/samples/stubs/placeholder.txt rename to packages/vipeye-internal/src/tests/samples/stubs/placeholder.txt diff --git a/packages/pyright-internal/src/tests/samples/subscript1.py b/packages/vipeye-internal/src/tests/samples/subscript1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/subscript1.py rename to packages/vipeye-internal/src/tests/samples/subscript1.py diff --git a/packages/pyright-internal/src/tests/samples/subscript2.py b/packages/vipeye-internal/src/tests/samples/subscript2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/subscript2.py rename to packages/vipeye-internal/src/tests/samples/subscript2.py diff --git a/packages/pyright-internal/src/tests/samples/subscript3.py b/packages/vipeye-internal/src/tests/samples/subscript3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/subscript3.py rename to packages/vipeye-internal/src/tests/samples/subscript3.py diff --git a/packages/pyright-internal/src/tests/samples/subscript4.py b/packages/vipeye-internal/src/tests/samples/subscript4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/subscript4.py rename to packages/vipeye-internal/src/tests/samples/subscript4.py diff --git a/packages/pyright-internal/src/tests/samples/suiteExpectedColon1.py b/packages/vipeye-internal/src/tests/samples/suiteExpectedColon1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/suiteExpectedColon1.py rename to packages/vipeye-internal/src/tests/samples/suiteExpectedColon1.py diff --git a/packages/pyright-internal/src/tests/samples/suiteExpectedColon2.py b/packages/vipeye-internal/src/tests/samples/suiteExpectedColon2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/suiteExpectedColon2.py rename to packages/vipeye-internal/src/tests/samples/suiteExpectedColon2.py diff --git a/packages/pyright-internal/src/tests/samples/suiteExpectedColon3.py b/packages/vipeye-internal/src/tests/samples/suiteExpectedColon3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/suiteExpectedColon3.py rename to packages/vipeye-internal/src/tests/samples/suiteExpectedColon3.py diff --git a/packages/pyright-internal/src/tests/samples/super1.py b/packages/vipeye-internal/src/tests/samples/super1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super1.py rename to packages/vipeye-internal/src/tests/samples/super1.py diff --git a/packages/pyright-internal/src/tests/samples/super10.py b/packages/vipeye-internal/src/tests/samples/super10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super10.py rename to packages/vipeye-internal/src/tests/samples/super10.py diff --git a/packages/pyright-internal/src/tests/samples/super11.py b/packages/vipeye-internal/src/tests/samples/super11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super11.py rename to packages/vipeye-internal/src/tests/samples/super11.py diff --git a/packages/pyright-internal/src/tests/samples/super12.py b/packages/vipeye-internal/src/tests/samples/super12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super12.py rename to packages/vipeye-internal/src/tests/samples/super12.py diff --git a/packages/pyright-internal/src/tests/samples/super13.py b/packages/vipeye-internal/src/tests/samples/super13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super13.py rename to packages/vipeye-internal/src/tests/samples/super13.py diff --git a/packages/pyright-internal/src/tests/samples/super2.py b/packages/vipeye-internal/src/tests/samples/super2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super2.py rename to packages/vipeye-internal/src/tests/samples/super2.py diff --git a/packages/pyright-internal/src/tests/samples/super3.py b/packages/vipeye-internal/src/tests/samples/super3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super3.py rename to packages/vipeye-internal/src/tests/samples/super3.py diff --git a/packages/pyright-internal/src/tests/samples/super4.py b/packages/vipeye-internal/src/tests/samples/super4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super4.py rename to packages/vipeye-internal/src/tests/samples/super4.py diff --git a/packages/pyright-internal/src/tests/samples/super5.py b/packages/vipeye-internal/src/tests/samples/super5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super5.py rename to packages/vipeye-internal/src/tests/samples/super5.py diff --git a/packages/pyright-internal/src/tests/samples/super6.py b/packages/vipeye-internal/src/tests/samples/super6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super6.py rename to packages/vipeye-internal/src/tests/samples/super6.py diff --git a/packages/pyright-internal/src/tests/samples/super7.py b/packages/vipeye-internal/src/tests/samples/super7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super7.py rename to packages/vipeye-internal/src/tests/samples/super7.py diff --git a/packages/pyright-internal/src/tests/samples/super8.py b/packages/vipeye-internal/src/tests/samples/super8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super8.py rename to packages/vipeye-internal/src/tests/samples/super8.py diff --git a/packages/pyright-internal/src/tests/samples/super9.py b/packages/vipeye-internal/src/tests/samples/super9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/super9.py rename to packages/vipeye-internal/src/tests/samples/super9.py diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/_common/__init__.pyi b/packages/vipeye-internal/src/tests/samples/test_file1.py similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/_common/__init__.pyi rename to packages/vipeye-internal/src/tests/samples/test_file1.py diff --git a/packages/pyright-internal/src/tests/samples/totalOrdering1.py b/packages/vipeye-internal/src/tests/samples/totalOrdering1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/totalOrdering1.py rename to packages/vipeye-internal/src/tests/samples/totalOrdering1.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept1.py b/packages/vipeye-internal/src/tests/samples/tryExcept1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept1.py rename to packages/vipeye-internal/src/tests/samples/tryExcept1.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept10.py b/packages/vipeye-internal/src/tests/samples/tryExcept10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept10.py rename to packages/vipeye-internal/src/tests/samples/tryExcept10.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept11.py b/packages/vipeye-internal/src/tests/samples/tryExcept11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept11.py rename to packages/vipeye-internal/src/tests/samples/tryExcept11.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept12.py b/packages/vipeye-internal/src/tests/samples/tryExcept12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept12.py rename to packages/vipeye-internal/src/tests/samples/tryExcept12.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept2.py b/packages/vipeye-internal/src/tests/samples/tryExcept2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept2.py rename to packages/vipeye-internal/src/tests/samples/tryExcept2.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept3.py b/packages/vipeye-internal/src/tests/samples/tryExcept3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept3.py rename to packages/vipeye-internal/src/tests/samples/tryExcept3.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept4.py b/packages/vipeye-internal/src/tests/samples/tryExcept4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept4.py rename to packages/vipeye-internal/src/tests/samples/tryExcept4.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept5.py b/packages/vipeye-internal/src/tests/samples/tryExcept5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept5.py rename to packages/vipeye-internal/src/tests/samples/tryExcept5.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept6.py b/packages/vipeye-internal/src/tests/samples/tryExcept6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept6.py rename to packages/vipeye-internal/src/tests/samples/tryExcept6.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept7.py b/packages/vipeye-internal/src/tests/samples/tryExcept7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept7.py rename to packages/vipeye-internal/src/tests/samples/tryExcept7.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept8.py b/packages/vipeye-internal/src/tests/samples/tryExcept8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept8.py rename to packages/vipeye-internal/src/tests/samples/tryExcept8.py diff --git a/packages/pyright-internal/src/tests/samples/tryExcept9.py b/packages/vipeye-internal/src/tests/samples/tryExcept9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tryExcept9.py rename to packages/vipeye-internal/src/tests/samples/tryExcept9.py diff --git a/packages/pyright-internal/src/tests/samples/tstring1.py b/packages/vipeye-internal/src/tests/samples/tstring1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tstring1.py rename to packages/vipeye-internal/src/tests/samples/tstring1.py diff --git a/packages/pyright-internal/src/tests/samples/tstring2.py b/packages/vipeye-internal/src/tests/samples/tstring2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tstring2.py rename to packages/vipeye-internal/src/tests/samples/tstring2.py diff --git a/packages/pyright-internal/src/tests/samples/tuple1.py b/packages/vipeye-internal/src/tests/samples/tuple1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple1.py rename to packages/vipeye-internal/src/tests/samples/tuple1.py diff --git a/packages/pyright-internal/src/tests/samples/tuple10.py b/packages/vipeye-internal/src/tests/samples/tuple10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple10.py rename to packages/vipeye-internal/src/tests/samples/tuple10.py diff --git a/packages/pyright-internal/src/tests/samples/tuple11.py b/packages/vipeye-internal/src/tests/samples/tuple11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple11.py rename to packages/vipeye-internal/src/tests/samples/tuple11.py diff --git a/packages/pyright-internal/src/tests/samples/tuple12.py b/packages/vipeye-internal/src/tests/samples/tuple12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple12.py rename to packages/vipeye-internal/src/tests/samples/tuple12.py diff --git a/packages/pyright-internal/src/tests/samples/tuple13.py b/packages/vipeye-internal/src/tests/samples/tuple13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple13.py rename to packages/vipeye-internal/src/tests/samples/tuple13.py diff --git a/packages/pyright-internal/src/tests/samples/tuple15.py b/packages/vipeye-internal/src/tests/samples/tuple15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple15.py rename to packages/vipeye-internal/src/tests/samples/tuple15.py diff --git a/packages/pyright-internal/src/tests/samples/tuple16.py b/packages/vipeye-internal/src/tests/samples/tuple16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple16.py rename to packages/vipeye-internal/src/tests/samples/tuple16.py diff --git a/packages/pyright-internal/src/tests/samples/tuple17.py b/packages/vipeye-internal/src/tests/samples/tuple17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple17.py rename to packages/vipeye-internal/src/tests/samples/tuple17.py diff --git a/packages/pyright-internal/src/tests/samples/tuple18.py b/packages/vipeye-internal/src/tests/samples/tuple18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple18.py rename to packages/vipeye-internal/src/tests/samples/tuple18.py diff --git a/packages/pyright-internal/src/tests/samples/tuple19.py b/packages/vipeye-internal/src/tests/samples/tuple19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple19.py rename to packages/vipeye-internal/src/tests/samples/tuple19.py diff --git a/packages/pyright-internal/src/tests/samples/tuple2.py b/packages/vipeye-internal/src/tests/samples/tuple2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple2.py rename to packages/vipeye-internal/src/tests/samples/tuple2.py diff --git a/packages/pyright-internal/src/tests/samples/tuple3.py b/packages/vipeye-internal/src/tests/samples/tuple3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple3.py rename to packages/vipeye-internal/src/tests/samples/tuple3.py diff --git a/packages/pyright-internal/src/tests/samples/tuple4.py b/packages/vipeye-internal/src/tests/samples/tuple4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple4.py rename to packages/vipeye-internal/src/tests/samples/tuple4.py diff --git a/packages/pyright-internal/src/tests/samples/tuple5.py b/packages/vipeye-internal/src/tests/samples/tuple5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple5.py rename to packages/vipeye-internal/src/tests/samples/tuple5.py diff --git a/packages/pyright-internal/src/tests/samples/tuple6.py b/packages/vipeye-internal/src/tests/samples/tuple6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple6.py rename to packages/vipeye-internal/src/tests/samples/tuple6.py diff --git a/packages/pyright-internal/src/tests/samples/tuple7.py b/packages/vipeye-internal/src/tests/samples/tuple7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple7.py rename to packages/vipeye-internal/src/tests/samples/tuple7.py diff --git a/packages/pyright-internal/src/tests/samples/tuple8.py b/packages/vipeye-internal/src/tests/samples/tuple8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple8.py rename to packages/vipeye-internal/src/tests/samples/tuple8.py diff --git a/packages/pyright-internal/src/tests/samples/tuple9.py b/packages/vipeye-internal/src/tests/samples/tuple9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tuple9.py rename to packages/vipeye-internal/src/tests/samples/tuple9.py diff --git a/packages/pyright-internal/src/tests/samples/tupleUnpack1.py b/packages/vipeye-internal/src/tests/samples/tupleUnpack1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tupleUnpack1.py rename to packages/vipeye-internal/src/tests/samples/tupleUnpack1.py diff --git a/packages/pyright-internal/src/tests/samples/tupleUnpack2.py b/packages/vipeye-internal/src/tests/samples/tupleUnpack2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tupleUnpack2.py rename to packages/vipeye-internal/src/tests/samples/tupleUnpack2.py diff --git a/packages/pyright-internal/src/tests/samples/tupleUnpack3.py b/packages/vipeye-internal/src/tests/samples/tupleUnpack3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tupleUnpack3.py rename to packages/vipeye-internal/src/tests/samples/tupleUnpack3.py diff --git a/packages/pyright-internal/src/tests/samples/tupleUnpack4.py b/packages/vipeye-internal/src/tests/samples/tupleUnpack4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tupleUnpack4.py rename to packages/vipeye-internal/src/tests/samples/tupleUnpack4.py diff --git a/packages/pyright-internal/src/tests/samples/tupleUnpack5.py b/packages/vipeye-internal/src/tests/samples/tupleUnpack5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/tupleUnpack5.py rename to packages/vipeye-internal/src/tests/samples/tupleUnpack5.py diff --git a/packages/pyright-internal/src/tests/samples/type1.py b/packages/vipeye-internal/src/tests/samples/type1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/type1.py rename to packages/vipeye-internal/src/tests/samples/type1.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias1.py b/packages/vipeye-internal/src/tests/samples/typeAlias1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias1.py rename to packages/vipeye-internal/src/tests/samples/typeAlias1.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias10.py b/packages/vipeye-internal/src/tests/samples/typeAlias10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias10.py rename to packages/vipeye-internal/src/tests/samples/typeAlias10.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias11.py b/packages/vipeye-internal/src/tests/samples/typeAlias11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias11.py rename to packages/vipeye-internal/src/tests/samples/typeAlias11.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias12.py b/packages/vipeye-internal/src/tests/samples/typeAlias12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias12.py rename to packages/vipeye-internal/src/tests/samples/typeAlias12.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias13.py b/packages/vipeye-internal/src/tests/samples/typeAlias13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias13.py rename to packages/vipeye-internal/src/tests/samples/typeAlias13.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias14.py b/packages/vipeye-internal/src/tests/samples/typeAlias14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias14.py rename to packages/vipeye-internal/src/tests/samples/typeAlias14.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias15.py b/packages/vipeye-internal/src/tests/samples/typeAlias15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias15.py rename to packages/vipeye-internal/src/tests/samples/typeAlias15.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias16.py b/packages/vipeye-internal/src/tests/samples/typeAlias16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias16.py rename to packages/vipeye-internal/src/tests/samples/typeAlias16.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias17.py b/packages/vipeye-internal/src/tests/samples/typeAlias17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias17.py rename to packages/vipeye-internal/src/tests/samples/typeAlias17.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias18.py b/packages/vipeye-internal/src/tests/samples/typeAlias18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias18.py rename to packages/vipeye-internal/src/tests/samples/typeAlias18.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias19.py b/packages/vipeye-internal/src/tests/samples/typeAlias19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias19.py rename to packages/vipeye-internal/src/tests/samples/typeAlias19.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias2.py b/packages/vipeye-internal/src/tests/samples/typeAlias2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias2.py rename to packages/vipeye-internal/src/tests/samples/typeAlias2.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias20.py b/packages/vipeye-internal/src/tests/samples/typeAlias20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias20.py rename to packages/vipeye-internal/src/tests/samples/typeAlias20.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias21.py b/packages/vipeye-internal/src/tests/samples/typeAlias21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias21.py rename to packages/vipeye-internal/src/tests/samples/typeAlias21.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias22.py b/packages/vipeye-internal/src/tests/samples/typeAlias22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias22.py rename to packages/vipeye-internal/src/tests/samples/typeAlias22.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias3.py b/packages/vipeye-internal/src/tests/samples/typeAlias3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias3.py rename to packages/vipeye-internal/src/tests/samples/typeAlias3.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias4.py b/packages/vipeye-internal/src/tests/samples/typeAlias4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias4.py rename to packages/vipeye-internal/src/tests/samples/typeAlias4.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias5.py b/packages/vipeye-internal/src/tests/samples/typeAlias5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias5.py rename to packages/vipeye-internal/src/tests/samples/typeAlias5.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias6.py b/packages/vipeye-internal/src/tests/samples/typeAlias6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias6.py rename to packages/vipeye-internal/src/tests/samples/typeAlias6.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias7.py b/packages/vipeye-internal/src/tests/samples/typeAlias7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias7.py rename to packages/vipeye-internal/src/tests/samples/typeAlias7.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias8.py b/packages/vipeye-internal/src/tests/samples/typeAlias8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias8.py rename to packages/vipeye-internal/src/tests/samples/typeAlias8.py diff --git a/packages/pyright-internal/src/tests/samples/typeAlias9.py b/packages/vipeye-internal/src/tests/samples/typeAlias9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAlias9.py rename to packages/vipeye-internal/src/tests/samples/typeAlias9.py diff --git a/packages/pyright-internal/src/tests/samples/typeAliasStatement1.py b/packages/vipeye-internal/src/tests/samples/typeAliasStatement1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAliasStatement1.py rename to packages/vipeye-internal/src/tests/samples/typeAliasStatement1.py diff --git a/packages/pyright-internal/src/tests/samples/typeAliasStatement2.py b/packages/vipeye-internal/src/tests/samples/typeAliasStatement2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAliasStatement2.py rename to packages/vipeye-internal/src/tests/samples/typeAliasStatement2.py diff --git a/packages/pyright-internal/src/tests/samples/typeAliasStatement3.py b/packages/vipeye-internal/src/tests/samples/typeAliasStatement3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAliasStatement3.py rename to packages/vipeye-internal/src/tests/samples/typeAliasStatement3.py diff --git a/packages/pyright-internal/src/tests/samples/typeAliasStatement4.py b/packages/vipeye-internal/src/tests/samples/typeAliasStatement4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAliasStatement4.py rename to packages/vipeye-internal/src/tests/samples/typeAliasStatement4.py diff --git a/packages/pyright-internal/src/tests/samples/typeAliasStatement5.py b/packages/vipeye-internal/src/tests/samples/typeAliasStatement5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAliasStatement5.py rename to packages/vipeye-internal/src/tests/samples/typeAliasStatement5.py diff --git a/packages/pyright-internal/src/tests/samples/typeAliasType1.py b/packages/vipeye-internal/src/tests/samples/typeAliasType1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAliasType1.py rename to packages/vipeye-internal/src/tests/samples/typeAliasType1.py diff --git a/packages/pyright-internal/src/tests/samples/typeAliasType2.py b/packages/vipeye-internal/src/tests/samples/typeAliasType2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeAliasType2.py rename to packages/vipeye-internal/src/tests/samples/typeAliasType2.py diff --git a/packages/pyright-internal/src/tests/samples/typeCheckOnly1.py b/packages/vipeye-internal/src/tests/samples/typeCheckOnly1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeCheckOnly1.py rename to packages/vipeye-internal/src/tests/samples/typeCheckOnly1.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm1.py b/packages/vipeye-internal/src/tests/samples/typeForm1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm1.py rename to packages/vipeye-internal/src/tests/samples/typeForm1.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm2.py b/packages/vipeye-internal/src/tests/samples/typeForm2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm2.py rename to packages/vipeye-internal/src/tests/samples/typeForm2.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm3.py b/packages/vipeye-internal/src/tests/samples/typeForm3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm3.py rename to packages/vipeye-internal/src/tests/samples/typeForm3.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm4.py b/packages/vipeye-internal/src/tests/samples/typeForm4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm4.py rename to packages/vipeye-internal/src/tests/samples/typeForm4.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm5.py b/packages/vipeye-internal/src/tests/samples/typeForm5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm5.py rename to packages/vipeye-internal/src/tests/samples/typeForm5.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm6.py b/packages/vipeye-internal/src/tests/samples/typeForm6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm6.py rename to packages/vipeye-internal/src/tests/samples/typeForm6.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm7.py b/packages/vipeye-internal/src/tests/samples/typeForm7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm7.py rename to packages/vipeye-internal/src/tests/samples/typeForm7.py diff --git a/packages/pyright-internal/src/tests/samples/typeForm8.py b/packages/vipeye-internal/src/tests/samples/typeForm8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeForm8.py rename to packages/vipeye-internal/src/tests/samples/typeForm8.py diff --git a/packages/pyright-internal/src/tests/samples/typeGuard1.py b/packages/vipeye-internal/src/tests/samples/typeGuard1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeGuard1.py rename to packages/vipeye-internal/src/tests/samples/typeGuard1.py diff --git a/packages/pyright-internal/src/tests/samples/typeGuard2.py b/packages/vipeye-internal/src/tests/samples/typeGuard2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeGuard2.py rename to packages/vipeye-internal/src/tests/samples/typeGuard2.py diff --git a/packages/pyright-internal/src/tests/samples/typeGuard3.py b/packages/vipeye-internal/src/tests/samples/typeGuard3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeGuard3.py rename to packages/vipeye-internal/src/tests/samples/typeGuard3.py diff --git a/packages/pyright-internal/src/tests/samples/typeIgnore1.py b/packages/vipeye-internal/src/tests/samples/typeIgnore1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIgnore1.py rename to packages/vipeye-internal/src/tests/samples/typeIgnore1.py diff --git a/packages/pyright-internal/src/tests/samples/typeIgnore2.py b/packages/vipeye-internal/src/tests/samples/typeIgnore2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIgnore2.py rename to packages/vipeye-internal/src/tests/samples/typeIgnore2.py diff --git a/packages/pyright-internal/src/tests/samples/typeIgnore3.py b/packages/vipeye-internal/src/tests/samples/typeIgnore3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIgnore3.py rename to packages/vipeye-internal/src/tests/samples/typeIgnore3.py diff --git a/packages/pyright-internal/src/tests/samples/typeIgnore4.py b/packages/vipeye-internal/src/tests/samples/typeIgnore4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIgnore4.py rename to packages/vipeye-internal/src/tests/samples/typeIgnore4.py diff --git a/packages/pyright-internal/src/tests/samples/typeIgnore5.py b/packages/vipeye-internal/src/tests/samples/typeIgnore5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIgnore5.py rename to packages/vipeye-internal/src/tests/samples/typeIgnore5.py diff --git a/packages/pyright-internal/src/tests/samples/typeIs1.py b/packages/vipeye-internal/src/tests/samples/typeIs1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIs1.py rename to packages/vipeye-internal/src/tests/samples/typeIs1.py diff --git a/packages/pyright-internal/src/tests/samples/typeIs2.py b/packages/vipeye-internal/src/tests/samples/typeIs2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIs2.py rename to packages/vipeye-internal/src/tests/samples/typeIs2.py diff --git a/packages/pyright-internal/src/tests/samples/typeIs3.py b/packages/vipeye-internal/src/tests/samples/typeIs3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIs3.py rename to packages/vipeye-internal/src/tests/samples/typeIs3.py diff --git a/packages/pyright-internal/src/tests/samples/typeIs4.py b/packages/vipeye-internal/src/tests/samples/typeIs4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeIs4.py rename to packages/vipeye-internal/src/tests/samples/typeIs4.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing3.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing3.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing3.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing4.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing4.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing4.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing5.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing5.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing5.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing6.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing6.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing6.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing7.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing7.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing7.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowing8.py b/packages/vipeye-internal/src/tests/samples/typeNarrowing8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowing8.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowing8.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingAny1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingAny1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingAny1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingAny1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingAssert1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingAssert1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingAssert1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingAssert1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingCallable1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingCallable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingCallable1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingCallable1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingEnum1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingEnum1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingEnum1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingEnum1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingEnum2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingEnum2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingEnum2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingEnum2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingFalsy1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingFalsy1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingFalsy1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingFalsy1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIn1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIn1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIn1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIn1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIn2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIn2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIn2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIn2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsClass1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsClass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsClass1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsClass1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsEllipsis1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsEllipsis1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsEllipsis1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsEllipsis1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsNone1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsNone1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsNone1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsNone1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsNone2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsNone2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsNone2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsNone2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsNoneTuple1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsNoneTuple1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsNoneTuple1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsNoneTuple1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsNoneTuple2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsNoneTuple2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsNoneTuple2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsNoneTuple2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance10.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance10.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance10.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance11.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance11.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance11.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance12.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance12.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance12.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance13.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance13.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance13.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance14.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance14.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance14.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance15.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance15.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance15.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance16.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance16.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance16.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance17.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance17.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance17.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance18.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance18.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance18.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance19.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance19.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance19.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance20.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance20.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance20.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance21.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance21.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance21.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance3.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance3.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance3.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance4.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance4.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance4.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance5.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance5.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance5.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance6.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance6.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance6.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance7.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance7.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance7.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance8.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingIsinstance8.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingIsinstance8.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingLiteral1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingLiteral1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingLiteral1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingLiteral1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingLiteral2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingLiteral2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingLiteral2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingLiteral2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingLiteralMember1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingLiteralMember1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingLiteralMember1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingLiteralMember1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingLocalConst1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingLocalConst1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingLocalConst1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingLocalConst1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingNoneMember1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingNoneMember1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingNoneMember1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingNoneMember1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingTuple1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingTuple1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingTuple1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingTuple1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingTupleLength1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingTupleLength1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingTupleLength1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingTupleLength1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingTypeEquals1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingTypeEquals1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingTypeEquals1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingTypeEquals1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingTypeIs1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingTypeIs1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingTypeIs1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingTypeIs1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingTypedDict1.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingTypedDict1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingTypedDict1.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingTypedDict1.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingTypedDict2.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingTypedDict2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingTypedDict2.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingTypedDict2.py diff --git a/packages/pyright-internal/src/tests/samples/typeNarrowingTypedDict3.py b/packages/vipeye-internal/src/tests/samples/typeNarrowingTypedDict3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeNarrowingTypedDict3.py rename to packages/vipeye-internal/src/tests/samples/typeNarrowingTypedDict3.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams1.py b/packages/vipeye-internal/src/tests/samples/typeParams1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams1.py rename to packages/vipeye-internal/src/tests/samples/typeParams1.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams2.py b/packages/vipeye-internal/src/tests/samples/typeParams2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams2.py rename to packages/vipeye-internal/src/tests/samples/typeParams2.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams3.py b/packages/vipeye-internal/src/tests/samples/typeParams3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams3.py rename to packages/vipeye-internal/src/tests/samples/typeParams3.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams4.py b/packages/vipeye-internal/src/tests/samples/typeParams4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams4.py rename to packages/vipeye-internal/src/tests/samples/typeParams4.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams5.py b/packages/vipeye-internal/src/tests/samples/typeParams5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams5.py rename to packages/vipeye-internal/src/tests/samples/typeParams5.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams6.py b/packages/vipeye-internal/src/tests/samples/typeParams6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams6.py rename to packages/vipeye-internal/src/tests/samples/typeParams6.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams7.py b/packages/vipeye-internal/src/tests/samples/typeParams7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams7.py rename to packages/vipeye-internal/src/tests/samples/typeParams7.py diff --git a/packages/pyright-internal/src/tests/samples/typeParams8.py b/packages/vipeye-internal/src/tests/samples/typeParams8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeParams8.py rename to packages/vipeye-internal/src/tests/samples/typeParams8.py diff --git a/packages/pyright-internal/src/tests/samples/typePrinter1.py b/packages/vipeye-internal/src/tests/samples/typePrinter1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typePrinter1.py rename to packages/vipeye-internal/src/tests/samples/typePrinter1.py diff --git a/packages/pyright-internal/src/tests/samples/typePrinter2.py b/packages/vipeye-internal/src/tests/samples/typePrinter2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typePrinter2.py rename to packages/vipeye-internal/src/tests/samples/typePrinter2.py diff --git a/packages/pyright-internal/src/tests/samples/typePrinter3.py b/packages/vipeye-internal/src/tests/samples/typePrinter3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typePrinter3.py rename to packages/vipeye-internal/src/tests/samples/typePrinter3.py diff --git a/packages/pyright-internal/src/tests/samples/typePromotions1.py b/packages/vipeye-internal/src/tests/samples/typePromotions1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typePromotions1.py rename to packages/vipeye-internal/src/tests/samples/typePromotions1.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar1.py b/packages/vipeye-internal/src/tests/samples/typeVar1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar1.py rename to packages/vipeye-internal/src/tests/samples/typeVar1.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar10.py b/packages/vipeye-internal/src/tests/samples/typeVar10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar10.py rename to packages/vipeye-internal/src/tests/samples/typeVar10.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar11.py b/packages/vipeye-internal/src/tests/samples/typeVar11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar11.py rename to packages/vipeye-internal/src/tests/samples/typeVar11.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar2.py b/packages/vipeye-internal/src/tests/samples/typeVar2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar2.py rename to packages/vipeye-internal/src/tests/samples/typeVar2.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar3.py b/packages/vipeye-internal/src/tests/samples/typeVar3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar3.py rename to packages/vipeye-internal/src/tests/samples/typeVar3.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar4.py b/packages/vipeye-internal/src/tests/samples/typeVar4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar4.py rename to packages/vipeye-internal/src/tests/samples/typeVar4.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar5.py b/packages/vipeye-internal/src/tests/samples/typeVar5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar5.py rename to packages/vipeye-internal/src/tests/samples/typeVar5.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar6.py b/packages/vipeye-internal/src/tests/samples/typeVar6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar6.py rename to packages/vipeye-internal/src/tests/samples/typeVar6.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar7.py b/packages/vipeye-internal/src/tests/samples/typeVar7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar7.py rename to packages/vipeye-internal/src/tests/samples/typeVar7.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar8.py b/packages/vipeye-internal/src/tests/samples/typeVar8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar8.py rename to packages/vipeye-internal/src/tests/samples/typeVar8.py diff --git a/packages/pyright-internal/src/tests/samples/typeVar9.py b/packages/vipeye-internal/src/tests/samples/typeVar9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVar9.py rename to packages/vipeye-internal/src/tests/samples/typeVar9.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefault1.py b/packages/vipeye-internal/src/tests/samples/typeVarDefault1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefault1.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefault1.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefault2.py b/packages/vipeye-internal/src/tests/samples/typeVarDefault2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefault2.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefault2.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefault3.py b/packages/vipeye-internal/src/tests/samples/typeVarDefault3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefault3.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefault3.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefault4.py b/packages/vipeye-internal/src/tests/samples/typeVarDefault4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefault4.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefault4.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefault5.py b/packages/vipeye-internal/src/tests/samples/typeVarDefault5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefault5.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefault5.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultClass1.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultClass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultClass1.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultClass1.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultClass2.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultClass2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultClass2.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultClass2.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultClass3.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultClass3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultClass3.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultClass3.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultClass4.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultClass4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultClass4.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultClass4.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultFunction1.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultFunction1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultFunction1.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultFunction1.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultFunction2.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultFunction2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultFunction2.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultFunction2.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultFunction3.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultFunction3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultFunction3.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultFunction3.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultTypeAlias1.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultTypeAlias1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultTypeAlias1.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultTypeAlias1.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultTypeAlias2.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultTypeAlias2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultTypeAlias2.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultTypeAlias2.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarDefaultTypeAlias3.py b/packages/vipeye-internal/src/tests/samples/typeVarDefaultTypeAlias3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarDefaultTypeAlias3.py rename to packages/vipeye-internal/src/tests/samples/typeVarDefaultTypeAlias3.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple1.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple1.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple1.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple10.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple10.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple10.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple11.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple11.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple11.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple12.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple12.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple12.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple13.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple13.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple13.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple14.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple14.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple14.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple15.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple15.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple15.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple16.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple16.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple16.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple17.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple17.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple17.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple18.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple18.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple18.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple19.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple19.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple19.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple2.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple2.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple2.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple20.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple20.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple20.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple21.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple21.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple21.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple22.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple22.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple22.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple23.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple23.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple23.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple24.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple24.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple24.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple25.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple25.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple25.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple26.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple26.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple26.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple26.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple27.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple27.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple27.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple27.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple28.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple28.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple28.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple28.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple29.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple29.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple29.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple29.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple3.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple3.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple3.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple30.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple30.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple30.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple30.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple31.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple31.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple31.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple31.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple4.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple4.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple4.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple5.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple5.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple5.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple6.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple6.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple6.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple7.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple7.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple7.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple8.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple8.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple8.py diff --git a/packages/pyright-internal/src/tests/samples/typeVarTuple9.py b/packages/vipeye-internal/src/tests/samples/typeVarTuple9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typeVarTuple9.py rename to packages/vipeye-internal/src/tests/samples/typeVarTuple9.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict1.py b/packages/vipeye-internal/src/tests/samples/typedDict1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict1.py rename to packages/vipeye-internal/src/tests/samples/typedDict1.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict10.py b/packages/vipeye-internal/src/tests/samples/typedDict10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict10.py rename to packages/vipeye-internal/src/tests/samples/typedDict10.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict11.py b/packages/vipeye-internal/src/tests/samples/typedDict11.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict11.py rename to packages/vipeye-internal/src/tests/samples/typedDict11.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict12.py b/packages/vipeye-internal/src/tests/samples/typedDict12.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict12.py rename to packages/vipeye-internal/src/tests/samples/typedDict12.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict13.py b/packages/vipeye-internal/src/tests/samples/typedDict13.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict13.py rename to packages/vipeye-internal/src/tests/samples/typedDict13.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict14.py b/packages/vipeye-internal/src/tests/samples/typedDict14.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict14.py rename to packages/vipeye-internal/src/tests/samples/typedDict14.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict15.py b/packages/vipeye-internal/src/tests/samples/typedDict15.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict15.py rename to packages/vipeye-internal/src/tests/samples/typedDict15.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict16.py b/packages/vipeye-internal/src/tests/samples/typedDict16.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict16.py rename to packages/vipeye-internal/src/tests/samples/typedDict16.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict17.py b/packages/vipeye-internal/src/tests/samples/typedDict17.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict17.py rename to packages/vipeye-internal/src/tests/samples/typedDict17.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict18.py b/packages/vipeye-internal/src/tests/samples/typedDict18.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict18.py rename to packages/vipeye-internal/src/tests/samples/typedDict18.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict19.py b/packages/vipeye-internal/src/tests/samples/typedDict19.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict19.py rename to packages/vipeye-internal/src/tests/samples/typedDict19.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict2.py b/packages/vipeye-internal/src/tests/samples/typedDict2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict2.py rename to packages/vipeye-internal/src/tests/samples/typedDict2.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict20.py b/packages/vipeye-internal/src/tests/samples/typedDict20.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict20.py rename to packages/vipeye-internal/src/tests/samples/typedDict20.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict21.py b/packages/vipeye-internal/src/tests/samples/typedDict21.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict21.py rename to packages/vipeye-internal/src/tests/samples/typedDict21.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict22.py b/packages/vipeye-internal/src/tests/samples/typedDict22.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict22.py rename to packages/vipeye-internal/src/tests/samples/typedDict22.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict23.py b/packages/vipeye-internal/src/tests/samples/typedDict23.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict23.py rename to packages/vipeye-internal/src/tests/samples/typedDict23.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict24.py b/packages/vipeye-internal/src/tests/samples/typedDict24.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict24.py rename to packages/vipeye-internal/src/tests/samples/typedDict24.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict25.py b/packages/vipeye-internal/src/tests/samples/typedDict25.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict25.py rename to packages/vipeye-internal/src/tests/samples/typedDict25.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict3.py b/packages/vipeye-internal/src/tests/samples/typedDict3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict3.py rename to packages/vipeye-internal/src/tests/samples/typedDict3.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict4.py b/packages/vipeye-internal/src/tests/samples/typedDict4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict4.py rename to packages/vipeye-internal/src/tests/samples/typedDict4.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict5.py b/packages/vipeye-internal/src/tests/samples/typedDict5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict5.py rename to packages/vipeye-internal/src/tests/samples/typedDict5.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict6.py b/packages/vipeye-internal/src/tests/samples/typedDict6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict6.py rename to packages/vipeye-internal/src/tests/samples/typedDict6.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict7.py b/packages/vipeye-internal/src/tests/samples/typedDict7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict7.py rename to packages/vipeye-internal/src/tests/samples/typedDict7.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict8.py b/packages/vipeye-internal/src/tests/samples/typedDict8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict8.py rename to packages/vipeye-internal/src/tests/samples/typedDict8.py diff --git a/packages/pyright-internal/src/tests/samples/typedDict9.py b/packages/vipeye-internal/src/tests/samples/typedDict9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDict9.py rename to packages/vipeye-internal/src/tests/samples/typedDict9.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed1.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed1.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed1.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed10.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed10.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed10.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed10.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed2.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed2.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed2.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed3.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed3.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed3.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed4.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed4.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed4.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed5.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed5.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed5.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed6.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed6.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed6.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed7.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed7.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed7.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed8.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed8.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed8.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed8.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictClosed9.py b/packages/vipeye-internal/src/tests/samples/typedDictClosed9.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictClosed9.py rename to packages/vipeye-internal/src/tests/samples/typedDictClosed9.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictInline1.py b/packages/vipeye-internal/src/tests/samples/typedDictInline1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictInline1.py rename to packages/vipeye-internal/src/tests/samples/typedDictInline1.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictReadOnly1.py b/packages/vipeye-internal/src/tests/samples/typedDictReadOnly1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictReadOnly1.py rename to packages/vipeye-internal/src/tests/samples/typedDictReadOnly1.py diff --git a/packages/pyright-internal/src/tests/samples/typedDictReadOnly2.py b/packages/vipeye-internal/src/tests/samples/typedDictReadOnly2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/typedDictReadOnly2.py rename to packages/vipeye-internal/src/tests/samples/typedDictReadOnly2.py diff --git a/packages/pyright-internal/src/tests/samples/unbound1.py b/packages/vipeye-internal/src/tests/samples/unbound1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unbound1.py rename to packages/vipeye-internal/src/tests/samples/unbound1.py diff --git a/packages/pyright-internal/src/tests/samples/unbound2.py b/packages/vipeye-internal/src/tests/samples/unbound2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unbound2.py rename to packages/vipeye-internal/src/tests/samples/unbound2.py diff --git a/packages/pyright-internal/src/tests/samples/unbound3.py b/packages/vipeye-internal/src/tests/samples/unbound3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unbound3.py rename to packages/vipeye-internal/src/tests/samples/unbound3.py diff --git a/packages/pyright-internal/src/tests/samples/unbound4.py b/packages/vipeye-internal/src/tests/samples/unbound4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unbound4.py rename to packages/vipeye-internal/src/tests/samples/unbound4.py diff --git a/packages/pyright-internal/src/tests/samples/unbound5.py b/packages/vipeye-internal/src/tests/samples/unbound5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unbound5.py rename to packages/vipeye-internal/src/tests/samples/unbound5.py diff --git a/packages/pyright-internal/src/tests/samples/unbound6.py b/packages/vipeye-internal/src/tests/samples/unbound6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unbound6.py rename to packages/vipeye-internal/src/tests/samples/unbound6.py diff --git a/packages/pyright-internal/src/tests/samples/unicode1.py b/packages/vipeye-internal/src/tests/samples/unicode1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unicode1.py rename to packages/vipeye-internal/src/tests/samples/unicode1.py diff --git a/packages/pyright-internal/src/tests/samples/uninitializedVariable1.py b/packages/vipeye-internal/src/tests/samples/uninitializedVariable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/uninitializedVariable1.py rename to packages/vipeye-internal/src/tests/samples/uninitializedVariable1.py diff --git a/packages/pyright-internal/src/tests/samples/uninitializedVariable2.py b/packages/vipeye-internal/src/tests/samples/uninitializedVariable2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/uninitializedVariable2.py rename to packages/vipeye-internal/src/tests/samples/uninitializedVariable2.py diff --git a/packages/pyright-internal/src/tests/samples/uninitializedVariable3.py b/packages/vipeye-internal/src/tests/samples/uninitializedVariable3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/uninitializedVariable3.py rename to packages/vipeye-internal/src/tests/samples/uninitializedVariable3.py diff --git a/packages/pyright-internal/src/tests/samples/unions1.py b/packages/vipeye-internal/src/tests/samples/unions1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unions1.py rename to packages/vipeye-internal/src/tests/samples/unions1.py diff --git a/packages/pyright-internal/src/tests/samples/unions2.py b/packages/vipeye-internal/src/tests/samples/unions2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unions2.py rename to packages/vipeye-internal/src/tests/samples/unions2.py diff --git a/packages/pyright-internal/src/tests/samples/unions3.py b/packages/vipeye-internal/src/tests/samples/unions3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unions3.py rename to packages/vipeye-internal/src/tests/samples/unions3.py diff --git a/packages/pyright-internal/src/tests/samples/unions4.py b/packages/vipeye-internal/src/tests/samples/unions4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unions4.py rename to packages/vipeye-internal/src/tests/samples/unions4.py diff --git a/packages/pyright-internal/src/tests/samples/unions5.py b/packages/vipeye-internal/src/tests/samples/unions5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unions5.py rename to packages/vipeye-internal/src/tests/samples/unions5.py diff --git a/packages/pyright-internal/src/tests/samples/unions6.py b/packages/vipeye-internal/src/tests/samples/unions6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unions6.py rename to packages/vipeye-internal/src/tests/samples/unions6.py diff --git a/packages/pyright-internal/src/tests/samples/unnecessaryCast1.py b/packages/vipeye-internal/src/tests/samples/unnecessaryCast1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unnecessaryCast1.py rename to packages/vipeye-internal/src/tests/samples/unnecessaryCast1.py diff --git a/packages/pyright-internal/src/tests/samples/unnecessaryContains1.py b/packages/vipeye-internal/src/tests/samples/unnecessaryContains1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unnecessaryContains1.py rename to packages/vipeye-internal/src/tests/samples/unnecessaryContains1.py diff --git a/packages/pyright-internal/src/tests/samples/unnecessaryIsInstance1.py b/packages/vipeye-internal/src/tests/samples/unnecessaryIsInstance1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unnecessaryIsInstance1.py rename to packages/vipeye-internal/src/tests/samples/unnecessaryIsInstance1.py diff --git a/packages/pyright-internal/src/tests/samples/unnecessaryIsInstance2.py b/packages/vipeye-internal/src/tests/samples/unnecessaryIsInstance2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unnecessaryIsInstance2.py rename to packages/vipeye-internal/src/tests/samples/unnecessaryIsInstance2.py diff --git a/packages/pyright-internal/src/tests/samples/unnecessaryIsSubclass1.py b/packages/vipeye-internal/src/tests/samples/unnecessaryIsSubclass1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unnecessaryIsSubclass1.py rename to packages/vipeye-internal/src/tests/samples/unnecessaryIsSubclass1.py diff --git a/packages/pyright-internal/src/tests/samples/unpack1.py b/packages/vipeye-internal/src/tests/samples/unpack1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unpack1.py rename to packages/vipeye-internal/src/tests/samples/unpack1.py diff --git a/packages/pyright-internal/src/tests/samples/unpack2.py b/packages/vipeye-internal/src/tests/samples/unpack2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unpack2.py rename to packages/vipeye-internal/src/tests/samples/unpack2.py diff --git a/packages/pyright-internal/src/tests/samples/unpack3.py b/packages/vipeye-internal/src/tests/samples/unpack3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unpack3.py rename to packages/vipeye-internal/src/tests/samples/unpack3.py diff --git a/packages/pyright-internal/src/tests/samples/unpack4.py b/packages/vipeye-internal/src/tests/samples/unpack4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unpack4.py rename to packages/vipeye-internal/src/tests/samples/unpack4.py diff --git a/packages/pyright-internal/src/tests/samples/unpack5.py b/packages/vipeye-internal/src/tests/samples/unpack5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unpack5.py rename to packages/vipeye-internal/src/tests/samples/unpack5.py diff --git a/packages/pyright-internal/src/tests/samples/unreachable1.py b/packages/vipeye-internal/src/tests/samples/unreachable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unreachable1.py rename to packages/vipeye-internal/src/tests/samples/unreachable1.py diff --git a/packages/pyright-internal/src/tests/samples/unusedCallResult1.py b/packages/vipeye-internal/src/tests/samples/unusedCallResult1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unusedCallResult1.py rename to packages/vipeye-internal/src/tests/samples/unusedCallResult1.py diff --git a/packages/pyright-internal/src/tests/samples/unusedCoroutine1.py b/packages/vipeye-internal/src/tests/samples/unusedCoroutine1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unusedCoroutine1.py rename to packages/vipeye-internal/src/tests/samples/unusedCoroutine1.py diff --git a/packages/pyright-internal/src/tests/samples/unusedExpression1.py b/packages/vipeye-internal/src/tests/samples/unusedExpression1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unusedExpression1.py rename to packages/vipeye-internal/src/tests/samples/unusedExpression1.py diff --git a/packages/pyright-internal/src/tests/samples/unusedImport1.py b/packages/vipeye-internal/src/tests/samples/unusedImport1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unusedImport1.py rename to packages/vipeye-internal/src/tests/samples/unusedImport1.py diff --git a/packages/pyright-internal/src/tests/samples/unusedImport2.py b/packages/vipeye-internal/src/tests/samples/unusedImport2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unusedImport2.py rename to packages/vipeye-internal/src/tests/samples/unusedImport2.py diff --git a/packages/pyright-internal/src/tests/samples/unusedVariable1.py b/packages/vipeye-internal/src/tests/samples/unusedVariable1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/unusedVariable1.py rename to packages/vipeye-internal/src/tests/samples/unusedVariable1.py diff --git a/packages/pyright-internal/src/tests/samples/with1.py b/packages/vipeye-internal/src/tests/samples/with1.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/with1.py rename to packages/vipeye-internal/src/tests/samples/with1.py diff --git a/packages/pyright-internal/src/tests/samples/with2.py b/packages/vipeye-internal/src/tests/samples/with2.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/with2.py rename to packages/vipeye-internal/src/tests/samples/with2.py diff --git a/packages/pyright-internal/src/tests/samples/with3.py b/packages/vipeye-internal/src/tests/samples/with3.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/with3.py rename to packages/vipeye-internal/src/tests/samples/with3.py diff --git a/packages/pyright-internal/src/tests/samples/with4.py b/packages/vipeye-internal/src/tests/samples/with4.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/with4.py rename to packages/vipeye-internal/src/tests/samples/with4.py diff --git a/packages/pyright-internal/src/tests/samples/with5.py b/packages/vipeye-internal/src/tests/samples/with5.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/with5.py rename to packages/vipeye-internal/src/tests/samples/with5.py diff --git a/packages/pyright-internal/src/tests/samples/with6.py b/packages/vipeye-internal/src/tests/samples/with6.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/with6.py rename to packages/vipeye-internal/src/tests/samples/with6.py diff --git a/packages/pyright-internal/src/tests/samples/with7.py b/packages/vipeye-internal/src/tests/samples/with7.py similarity index 100% rename from packages/pyright-internal/src/tests/samples/with7.py rename to packages/vipeye-internal/src/tests/samples/with7.py diff --git a/packages/pyright-internal/src/tests/samples/zipfs/bad.egg b/packages/vipeye-internal/src/tests/samples/zipfs/bad.egg similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/bad.egg rename to packages/vipeye-internal/src/tests/samples/zipfs/bad.egg diff --git a/packages/pyright-internal/src/tests/samples/zipfs/bad.jar b/packages/vipeye-internal/src/tests/samples/zipfs/bad.jar similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/bad.jar rename to packages/vipeye-internal/src/tests/samples/zipfs/bad.jar diff --git a/packages/pyright-internal/src/tests/samples/zipfs/bad.zip b/packages/vipeye-internal/src/tests/samples/zipfs/bad.zip similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/bad.zip rename to packages/vipeye-internal/src/tests/samples/zipfs/bad.zip diff --git a/packages/pyright-internal/src/tests/samples/zipfs/basic.egg b/packages/vipeye-internal/src/tests/samples/zipfs/basic.egg similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/basic.egg rename to packages/vipeye-internal/src/tests/samples/zipfs/basic.egg diff --git a/packages/pyright-internal/src/tests/samples/zipfs/basic.jar b/packages/vipeye-internal/src/tests/samples/zipfs/basic.jar similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/basic.jar rename to packages/vipeye-internal/src/tests/samples/zipfs/basic.jar diff --git a/packages/pyright-internal/src/tests/samples/zipfs/basic.zip b/packages/vipeye-internal/src/tests/samples/zipfs/basic.zip similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/basic.zip rename to packages/vipeye-internal/src/tests/samples/zipfs/basic.zip diff --git a/packages/pyright-internal/src/tests/samples/zipfs/corrupt.egg b/packages/vipeye-internal/src/tests/samples/zipfs/corrupt.egg similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/corrupt.egg rename to packages/vipeye-internal/src/tests/samples/zipfs/corrupt.egg diff --git a/packages/pyright-internal/src/tests/samples/zipfs/corrupt.jar b/packages/vipeye-internal/src/tests/samples/zipfs/corrupt.jar similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/corrupt.jar rename to packages/vipeye-internal/src/tests/samples/zipfs/corrupt.jar diff --git a/packages/pyright-internal/src/tests/samples/zipfs/corrupt.zip b/packages/vipeye-internal/src/tests/samples/zipfs/corrupt.zip similarity index 100% rename from packages/pyright-internal/src/tests/samples/zipfs/corrupt.zip rename to packages/vipeye-internal/src/tests/samples/zipfs/corrupt.zip diff --git a/packages/pyright-internal/src/tests/serialization.test.ts b/packages/vipeye-internal/src/tests/serialization.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/serialization.test.ts rename to packages/vipeye-internal/src/tests/serialization.test.ts diff --git a/packages/pyright-internal/src/tests/service.test.ts b/packages/vipeye-internal/src/tests/service.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/service.test.ts rename to packages/vipeye-internal/src/tests/service.test.ts diff --git a/packages/pyright-internal/src/tests/signatureHelp.test.ts b/packages/vipeye-internal/src/tests/signatureHelp.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/signatureHelp.test.ts rename to packages/vipeye-internal/src/tests/signatureHelp.test.ts diff --git a/packages/pyright-internal/src/tests/sourceFile.test.ts b/packages/vipeye-internal/src/tests/sourceFile.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/sourceFile.test.ts rename to packages/vipeye-internal/src/tests/sourceFile.test.ts diff --git a/packages/pyright-internal/src/tests/sourceMapperUtils.test.ts b/packages/vipeye-internal/src/tests/sourceMapperUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/sourceMapperUtils.test.ts rename to packages/vipeye-internal/src/tests/sourceMapperUtils.test.ts diff --git a/packages/pyright-internal/src/tests/stringUtils.test.ts b/packages/vipeye-internal/src/tests/stringUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/stringUtils.test.ts rename to packages/vipeye-internal/src/tests/stringUtils.test.ts diff --git a/packages/pyright-internal/src/tests/symbolNameUtils.test.ts b/packages/vipeye-internal/src/tests/symbolNameUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/symbolNameUtils.test.ts rename to packages/vipeye-internal/src/tests/symbolNameUtils.test.ts diff --git a/packages/pyright-internal/src/tests/testState.test.ts b/packages/vipeye-internal/src/tests/testState.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/testState.test.ts rename to packages/vipeye-internal/src/tests/testState.test.ts diff --git a/packages/pyright-internal/src/tests/testStateUtils.ts b/packages/vipeye-internal/src/tests/testStateUtils.ts similarity index 100% rename from packages/pyright-internal/src/tests/testStateUtils.ts rename to packages/vipeye-internal/src/tests/testStateUtils.ts diff --git a/packages/pyright-internal/src/tests/testUtils.ts b/packages/vipeye-internal/src/tests/testUtils.ts similarity index 100% rename from packages/pyright-internal/src/tests/testUtils.ts rename to packages/vipeye-internal/src/tests/testUtils.ts diff --git a/packages/pyright-internal/src/tests/textEditUtil.test.ts b/packages/vipeye-internal/src/tests/textEditUtil.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/textEditUtil.test.ts rename to packages/vipeye-internal/src/tests/textEditUtil.test.ts diff --git a/packages/pyright-internal/src/tests/textRange.test.ts b/packages/vipeye-internal/src/tests/textRange.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/textRange.test.ts rename to packages/vipeye-internal/src/tests/textRange.test.ts diff --git a/packages/pyright-internal/src/tests/tokenizer.test.ts b/packages/vipeye-internal/src/tests/tokenizer.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/tokenizer.test.ts rename to packages/vipeye-internal/src/tests/tokenizer.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator1.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator1.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator1.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator1.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator2.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator2.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator2.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator2.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator3.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator3.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator3.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator3.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator4.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator4.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator4.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator4.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator5.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator5.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator5.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator5.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator6.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator6.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator6.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator6.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator7.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator7.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator7.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator7.test.ts diff --git a/packages/pyright-internal/src/tests/typeEvaluator8.test.ts b/packages/vipeye-internal/src/tests/typeEvaluator8.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeEvaluator8.test.ts rename to packages/vipeye-internal/src/tests/typeEvaluator8.test.ts diff --git a/packages/pyright-internal/src/tests/typePrinter.test.ts b/packages/vipeye-internal/src/tests/typePrinter.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typePrinter.test.ts rename to packages/vipeye-internal/src/tests/typePrinter.test.ts diff --git a/packages/pyright-internal/src/tests/typeServer/inProcTypeServerTestUtils.ts b/packages/vipeye-internal/src/tests/typeServer/inProcTypeServerTestUtils.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeServer/inProcTypeServerTestUtils.ts rename to packages/vipeye-internal/src/tests/typeServer/inProcTypeServerTestUtils.ts diff --git a/packages/pyright-internal/src/tests/typeServer/notebook.typeServer.test.ts b/packages/vipeye-internal/src/tests/typeServer/notebook.typeServer.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeServer/notebook.typeServer.test.ts rename to packages/vipeye-internal/src/tests/typeServer/notebook.typeServer.test.ts diff --git a/packages/pyright-internal/src/tests/typeServer/typeServer.inProc.test.ts b/packages/vipeye-internal/src/tests/typeServer/typeServer.inProc.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeServer/typeServer.inProc.test.ts rename to packages/vipeye-internal/src/tests/typeServer/typeServer.inProc.test.ts diff --git a/packages/pyright-internal/src/tests/typeServer/typeServer.virtualFileRedirect.test.ts b/packages/vipeye-internal/src/tests/typeServer/typeServer.virtualFileRedirect.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/typeServer/typeServer.virtualFileRedirect.test.ts rename to packages/vipeye-internal/src/tests/typeServer/typeServer.virtualFileRedirect.test.ts diff --git a/packages/pyright-internal/src/tests/uri.test.ts b/packages/vipeye-internal/src/tests/uri.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/uri.test.ts rename to packages/vipeye-internal/src/tests/uri.test.ts diff --git a/packages/pyright-internal/src/tests/wildcardImportPackageMerge.test.ts b/packages/vipeye-internal/src/tests/wildcardImportPackageMerge.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/wildcardImportPackageMerge.test.ts rename to packages/vipeye-internal/src/tests/wildcardImportPackageMerge.test.ts diff --git a/packages/pyright-internal/src/tests/workspaceEditUtils.test.ts b/packages/vipeye-internal/src/tests/workspaceEditUtils.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/workspaceEditUtils.test.ts rename to packages/vipeye-internal/src/tests/workspaceEditUtils.test.ts diff --git a/packages/pyright-internal/src/tests/zipfs.test.ts b/packages/vipeye-internal/src/tests/zipfs.test.ts similarity index 100% rename from packages/pyright-internal/src/tests/zipfs.test.ts rename to packages/vipeye-internal/src/tests/zipfs.test.ts diff --git a/packages/pyright-internal/src/typeServer/cancellation.ts b/packages/vipeye-internal/src/typeServer/cancellation.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/cancellation.ts rename to packages/vipeye-internal/src/typeServer/cancellation.ts diff --git a/packages/pyright-internal/src/typeServer/diagnosticUtils.ts b/packages/vipeye-internal/src/typeServer/diagnosticUtils.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/diagnosticUtils.ts rename to packages/vipeye-internal/src/typeServer/diagnosticUtils.ts diff --git a/packages/pyright-internal/src/typeServer/enums.ts b/packages/vipeye-internal/src/typeServer/enums.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/enums.ts rename to packages/vipeye-internal/src/typeServer/enums.ts diff --git a/packages/pyright-internal/src/typeServer/eventEmitter.ts b/packages/vipeye-internal/src/typeServer/eventEmitter.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/eventEmitter.ts rename to packages/vipeye-internal/src/typeServer/eventEmitter.ts diff --git a/packages/pyright-internal/src/typeServer/nodeMain.ts b/packages/vipeye-internal/src/typeServer/nodeMain.ts similarity index 95% rename from packages/pyright-internal/src/typeServer/nodeMain.ts rename to packages/vipeye-internal/src/typeServer/nodeMain.ts index a712b23..a324029 100644 --- a/packages/pyright-internal/src/typeServer/nodeMain.ts +++ b/packages/vipeye-internal/src/typeServer/nodeMain.ts @@ -5,9 +5,9 @@ * * Provides the main entrypoint to the Pyright type server when running in Node. * - * This lives in pyright-internal (rather than the pyright-typeserver package) so that all + * This lives in vipeye-internal (rather than the pyright-typeserver package) so that all * vscode-languageserver usage resolves to a single copy, matching how the `pyright` - * package keeps its own entry points as thin shims over pyright-internal. + * package keeps its own entry points as thin shims over vipeye-internal. */ import path from 'path'; diff --git a/packages/pyright-internal/src/typeServer/notebookCellChain.ts b/packages/vipeye-internal/src/typeServer/notebookCellChain.ts similarity index 99% rename from packages/pyright-internal/src/typeServer/notebookCellChain.ts rename to packages/vipeye-internal/src/typeServer/notebookCellChain.ts index 4a71166..ffba2a2 100644 --- a/packages/pyright-internal/src/typeServer/notebookCellChain.ts +++ b/packages/vipeye-internal/src/typeServer/notebookCellChain.ts @@ -37,7 +37,7 @@ export const AnyNotebookDocumentSelector: NotebookDocumentSyncOptions = { notebookSelector: [ { notebook: undefined, - cells: [{ language: 'python' }], + cells: [{ language: 'viper' }], }, ], }; diff --git a/packages/pyright-internal/src/typeServer/notebookDocumentHandler.ts b/packages/vipeye-internal/src/typeServer/notebookDocumentHandler.ts similarity index 99% rename from packages/pyright-internal/src/typeServer/notebookDocumentHandler.ts rename to packages/vipeye-internal/src/typeServer/notebookDocumentHandler.ts index 1c3e78f..7c40c46 100644 --- a/packages/pyright-internal/src/typeServer/notebookDocumentHandler.ts +++ b/packages/vipeye-internal/src/typeServer/notebookDocumentHandler.ts @@ -157,7 +157,7 @@ export class NotebookDocumentHandler { const contents = workspace.service.getSourceFile(mappedUri)?.getFileContent() || ''; const textDocument = TextDocument.create( textContent.document.uri, - 'python', + 'viper', textContent.document.version - 1, contents ); diff --git a/packages/pyright-internal/src/typeServer/notebookUriMapper.ts b/packages/vipeye-internal/src/typeServer/notebookUriMapper.ts similarity index 98% rename from packages/pyright-internal/src/typeServer/notebookUriMapper.ts rename to packages/vipeye-internal/src/typeServer/notebookUriMapper.ts index 90bb5da..03ca86c 100644 --- a/packages/pyright-internal/src/typeServer/notebookUriMapper.ts +++ b/packages/vipeye-internal/src/typeServer/notebookUriMapper.ts @@ -164,12 +164,12 @@ export class NotebookUriMapper implements INotebookUriMapper { } static getNotebookPrefixUri(notebookUri: Uri) { - return notebookUri.addExtension('.py').withFragment(notebookPrefixCellFragment); + return notebookUri.addExtension('.vp').withFragment(notebookPrefixCellFragment); } private _generateCellMappedUri(notebookUri: Uri, cellUri: Uri) { - // Should just be the notebook URI with the cell fragment with a '.py' extension. - return notebookUri.addExtension('.py').withFragment(cellUri.fragment); + // Should just be the notebook URI with the cell fragment with a '.vp' extension. + return notebookUri.addExtension('.vp').withFragment(cellUri.fragment); } private _clearPendingDeletes() { diff --git a/packages/pyright-internal/src/typeServer/profilingStub.ts b/packages/vipeye-internal/src/typeServer/profilingStub.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/profilingStub.ts rename to packages/vipeye-internal/src/typeServer/profilingStub.ts diff --git a/packages/pyright-internal/src/typeServer/programTypes.ts b/packages/vipeye-internal/src/typeServer/programTypes.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/programTypes.ts rename to packages/vipeye-internal/src/typeServer/programTypes.ts diff --git a/packages/pyright-internal/src/typeServer/programWrapper.ts b/packages/vipeye-internal/src/typeServer/programWrapper.ts similarity index 99% rename from packages/pyright-internal/src/typeServer/programWrapper.ts rename to packages/vipeye-internal/src/typeServer/programWrapper.ts index 29c1c1c..57097be 100644 --- a/packages/pyright-internal/src/typeServer/programWrapper.ts +++ b/packages/vipeye-internal/src/typeServer/programWrapper.ts @@ -487,7 +487,7 @@ export class ProgramWrapper implements IProgram { addStubCode(code: string, directoryUri?: Uri): { uri: Uri; parseResults: ParseResults } { // Generate a unique stub URI // If directoryUri is provided, create the stub in that directory so imports resolve correctly - const stubFileName = `__stub_${Date.now()}_${Math.random().toString(36).substring(7)}.pyi`; + const stubFileName = `__stub_${Date.now()}_${Math.random().toString(36).substring(7)}.vpi`; const stubUri = directoryUri ? directoryUri.resolvePaths(stubFileName) : Uri.file(`/${stubFileName}`, this.serviceProvider); @@ -546,7 +546,7 @@ export class ProgramWrapper implements IProgram { // For directories being created, assume __init__.py will be created const ext = fileUri.lastExtension; if (!ext) { - // No extension suggests it's a directory - use __init__.py path for module name + // No extension suggests it's a directory - use __init__.vp path for module name targetUri = fileUri.initPyUri; } // Otherwise, use the file path as-is diff --git a/packages/pyright-internal/src/typeServer/protocol/generate_json.py b/packages/vipeye-internal/src/typeServer/protocol/generate_json.py similarity index 100% rename from packages/pyright-internal/src/typeServer/protocol/generate_json.py rename to packages/vipeye-internal/src/typeServer/protocol/generate_json.py diff --git a/packages/pyright-internal/src/typeServer/protocol/tsp.json b/packages/vipeye-internal/src/typeServer/protocol/tsp.json similarity index 100% rename from packages/pyright-internal/src/typeServer/protocol/tsp.json rename to packages/vipeye-internal/src/typeServer/protocol/tsp.json diff --git a/packages/pyright-internal/src/typeServer/protocol/tsp.schema.json b/packages/vipeye-internal/src/typeServer/protocol/tsp.schema.json similarity index 100% rename from packages/pyright-internal/src/typeServer/protocol/tsp.schema.json rename to packages/vipeye-internal/src/typeServer/protocol/tsp.schema.json diff --git a/packages/pyright-internal/src/typeServer/protocol/tspSupplemental.ts b/packages/vipeye-internal/src/typeServer/protocol/tspSupplemental.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/protocol/tspSupplemental.ts rename to packages/vipeye-internal/src/typeServer/protocol/tspSupplemental.ts diff --git a/packages/pyright-internal/src/typeServer/protocol/typeServerProtocol.ts b/packages/vipeye-internal/src/typeServer/protocol/typeServerProtocol.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/protocol/typeServerProtocol.ts rename to packages/vipeye-internal/src/typeServer/protocol/typeServerProtocol.ts diff --git a/packages/pyright-internal/src/typeServer/server.ts b/packages/vipeye-internal/src/typeServer/server.ts similarity index 91% rename from packages/pyright-internal/src/typeServer/server.ts rename to packages/vipeye-internal/src/typeServer/server.ts index a77c67a..dfc4a6c 100644 --- a/packages/pyright-internal/src/typeServer/server.ts +++ b/packages/vipeye-internal/src/typeServer/server.ts @@ -40,7 +40,6 @@ import { getFileInfo } from '../analyzer/analyzerNodeInfo'; import { InvalidatedReason } from '../analyzer/backgroundAnalysisProgram'; import { Declaration } from '../analyzer/declaration'; import { ImportResolver } from '../analyzer/importResolver'; -import { isPythonBinary } from '../analyzer/pythonPathUtils'; import { IPythonMode } from '../analyzer/sourceFile'; import { Type } from '../analyzer/types'; import { IBackgroundAnalysis } from '../backgroundAnalysisBase'; @@ -149,22 +148,9 @@ export class TypeServer extends LanguageServerBase { try { const workspaces = this.workspaceFactory.getNonDefaultWorkspaces(WellKnownWorkspaceKinds.Regular); - const pythonSection = await this.getConfiguration(workspace.rootUri, 'python'); - if (pythonSection) { - const pythonPath = pythonSection.pythonPath; - if (pythonPath && isString(pythonPath) && !isPythonBinary(pythonPath)) { - serverSettings.pythonPath = resolvePathWithEnvVariables(workspace, pythonPath, workspaces); - } - - const venvPath = pythonSection.venvPath; - if (venvPath && isString(venvPath)) { - serverSettings.venvPath = resolvePathWithEnvVariables(workspace, venvPath, workspaces); - } - } - - const pythonAnalysisSection = await this.getConfiguration(workspace.rootUri, 'python.analysis'); - if (pythonAnalysisSection) { - const typeshedPaths = pythonAnalysisSection.typeshedPaths; + const viperAnalysisSection = await this.getConfiguration(workspace.rootUri, 'viper.analysis'); + if (viperAnalysisSection) { + const typeshedPaths = viperAnalysisSection.typeshedPaths; if (typeshedPaths && Array.isArray(typeshedPaths) && typeshedPaths.length > 0) { const typeshedPath = typeshedPaths[0]; if (typeshedPath && isString(typeshedPath)) { @@ -172,12 +158,12 @@ export class TypeServer extends LanguageServerBase { } } - const stubPath = pythonAnalysisSection.stubPath; + const stubPath = viperAnalysisSection.stubPath; if (stubPath && isString(stubPath)) { serverSettings.stubPath = resolvePathWithEnvVariables(workspace, stubPath, workspaces); } - const diagnosticSeverityOverrides = pythonAnalysisSection.diagnosticSeverityOverrides; + const diagnosticSeverityOverrides = viperAnalysisSection.diagnosticSeverityOverrides; if (diagnosticSeverityOverrides) { for (const [name, value] of Object.entries(diagnosticSeverityOverrides)) { const ruleName = this.getDiagnosticRuleName(name); @@ -188,20 +174,20 @@ export class TypeServer extends LanguageServerBase { } } - if (pythonAnalysisSection.diagnosticMode !== undefined) { - serverSettings.openFilesOnly = this.isOpenFilesOnly(pythonAnalysisSection.diagnosticMode); - } else if (pythonAnalysisSection.openFilesOnly !== undefined) { - serverSettings.openFilesOnly = !!pythonAnalysisSection.openFilesOnly; + if (viperAnalysisSection.diagnosticMode !== undefined) { + serverSettings.openFilesOnly = this.isOpenFilesOnly(viperAnalysisSection.diagnosticMode); + } else if (viperAnalysisSection.openFilesOnly !== undefined) { + serverSettings.openFilesOnly = !!viperAnalysisSection.openFilesOnly; } - if (pythonAnalysisSection.useLibraryCodeForTypes !== undefined) { - serverSettings.useLibraryCodeForTypes = !!pythonAnalysisSection.useLibraryCodeForTypes; + if (viperAnalysisSection.useLibraryCodeForTypes !== undefined) { + serverSettings.useLibraryCodeForTypes = !!viperAnalysisSection.useLibraryCodeForTypes; } - serverSettings.logLevel = convertLogLevel(pythonAnalysisSection.logLevel); - serverSettings.autoSearchPaths = !!pythonAnalysisSection.autoSearchPaths; + serverSettings.logLevel = convertLogLevel(viperAnalysisSection.logLevel); + serverSettings.autoSearchPaths = !!viperAnalysisSection.autoSearchPaths; - const extraPaths = pythonAnalysisSection.extraPaths; + const extraPaths = viperAnalysisSection.extraPaths; if (extraPaths && Array.isArray(extraPaths) && extraPaths.length > 0) { serverSettings.extraPaths = extraPaths .filter((p) => p && isString(p)) @@ -209,35 +195,22 @@ export class TypeServer extends LanguageServerBase { .filter(isDefined); } - serverSettings.includeFileSpecs = this._getStringValues(pythonAnalysisSection.include); - serverSettings.excludeFileSpecs = this._getStringValues(pythonAnalysisSection.exclude); - serverSettings.ignoreFileSpecs = this._getStringValues(pythonAnalysisSection.ignore); + serverSettings.includeFileSpecs = this._getStringValues(viperAnalysisSection.include); + serverSettings.excludeFileSpecs = this._getStringValues(viperAnalysisSection.exclude); + serverSettings.ignoreFileSpecs = this._getStringValues(viperAnalysisSection.ignore); - if (pythonAnalysisSection.autoImportCompletions !== undefined) { - serverSettings.autoImportCompletions = pythonAnalysisSection.autoImportCompletions; + if (viperAnalysisSection.autoImportCompletions !== undefined) { + serverSettings.autoImportCompletions = viperAnalysisSection.autoImportCompletions; } } else { serverSettings.autoSearchPaths = true; } - const pyrightSection = await this.getConfiguration(workspace.rootUri, 'pyright'); - if (pyrightSection) { - if (pyrightSection.openFilesOnly !== undefined) { - serverSettings.openFilesOnly = !!pyrightSection.openFilesOnly; - } - - if (pyrightSection.useLibraryCodeForTypes !== undefined) { - serverSettings.useLibraryCodeForTypes = !!pyrightSection.useLibraryCodeForTypes; - } - - serverSettings.disableLanguageServices = !!pyrightSection.disableLanguageServices; - serverSettings.disableTaggedHints = !!pyrightSection.disableTaggedHints; - serverSettings.disableOrganizeImports = !!pyrightSection.disableOrganizeImports; - - const typeCheckingMode = pyrightSection.typeCheckingMode; - if (typeCheckingMode && isString(typeCheckingMode)) { - serverSettings.typeCheckingMode = typeCheckingMode; - } + const vipeyeSection = await this.getConfiguration(workspace.rootUri, 'vipeye'); + if (vipeyeSection) { + serverSettings.disableLanguageServices = !!vipeyeSection.disableLanguageServices; + serverSettings.disableTaggedHints = !!vipeyeSection.disableTaggedHints; + serverSettings.disableOrganizeImports = !!vipeyeSection.disableOrganizeImports; } } catch (error) { this.console.error(`Error reading settings: ${error}`); diff --git a/packages/pyright-internal/src/typeServer/serverUtils.ts b/packages/vipeye-internal/src/typeServer/serverUtils.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/serverUtils.ts rename to packages/vipeye-internal/src/typeServer/serverUtils.ts diff --git a/packages/pyright-internal/src/typeServer/stubGenerator.ts b/packages/vipeye-internal/src/typeServer/stubGenerator.ts similarity index 99% rename from packages/pyright-internal/src/typeServer/stubGenerator.ts rename to packages/vipeye-internal/src/typeServer/stubGenerator.ts index 9a6d4a1..8c5c52a 100644 --- a/packages/pyright-internal/src/typeServer/stubGenerator.ts +++ b/packages/vipeye-internal/src/typeServer/stubGenerator.ts @@ -4,7 +4,7 @@ * * stubGenerator.ts * - * Generates Python stub (.pyi) file content from Pyright function type information. + * Generates Viper stub (.vpi) file content from Pyright function type information. */ import { printType, PrintTypeFlags } from '../analyzer/typePrinter'; @@ -115,7 +115,7 @@ export function generateStubFromTypeVar( } /** - * Generates a Python stub file (.pyi) from a Pyright FunctionType. + * Generates a Python stub file (.vpi) from a Pyright FunctionType. * * @param type The Pyright function type * @param options Generation options including Python version diff --git a/packages/pyright-internal/src/typeServer/typeCache.ts b/packages/vipeye-internal/src/typeServer/typeCache.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeCache.ts rename to packages/vipeye-internal/src/typeServer/typeCache.ts diff --git a/packages/pyright-internal/src/typeServer/typeEvalUtils.ts b/packages/vipeye-internal/src/typeServer/typeEvalUtils.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeEvalUtils.ts rename to packages/vipeye-internal/src/typeServer/typeEvalUtils.ts diff --git a/packages/pyright-internal/src/typeServer/typeGuards.ts b/packages/vipeye-internal/src/typeServer/typeGuards.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeGuards.ts rename to packages/vipeye-internal/src/typeServer/typeGuards.ts diff --git a/packages/pyright-internal/src/typeServer/typeServerConversionTypes.ts b/packages/vipeye-internal/src/typeServer/typeServerConversionTypes.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeServerConversionTypes.ts rename to packages/vipeye-internal/src/typeServer/typeServerConversionTypes.ts diff --git a/packages/pyright-internal/src/typeServer/typeServerConversionUtils.ts b/packages/vipeye-internal/src/typeServer/typeServerConversionUtils.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeServerConversionUtils.ts rename to packages/vipeye-internal/src/typeServer/typeServerConversionUtils.ts diff --git a/packages/pyright-internal/src/typeServer/typeServerEvaluator.ts b/packages/vipeye-internal/src/typeServer/typeServerEvaluator.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeServerEvaluator.ts rename to packages/vipeye-internal/src/typeServer/typeServerEvaluator.ts diff --git a/packages/pyright-internal/src/typeServer/typeServerFileSystem.ts b/packages/vipeye-internal/src/typeServer/typeServerFileSystem.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeServerFileSystem.ts rename to packages/vipeye-internal/src/typeServer/typeServerFileSystem.ts diff --git a/packages/pyright-internal/src/typeServer/typeServerProtocolUtils.ts b/packages/vipeye-internal/src/typeServer/typeServerProtocolUtils.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeServerProtocolUtils.ts rename to packages/vipeye-internal/src/typeServer/typeServerProtocolUtils.ts diff --git a/packages/pyright-internal/src/typeServer/typeServerServiceKeys.ts b/packages/vipeye-internal/src/typeServer/typeServerServiceKeys.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeServerServiceKeys.ts rename to packages/vipeye-internal/src/typeServer/typeServerServiceKeys.ts diff --git a/packages/pyright-internal/src/typeServer/typeUtils.ts b/packages/vipeye-internal/src/typeServer/typeUtils.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/typeUtils.ts rename to packages/vipeye-internal/src/typeServer/typeUtils.ts diff --git a/packages/pyright-internal/src/typeServer/virtualFileOverlayFileSystem.ts b/packages/vipeye-internal/src/typeServer/virtualFileOverlayFileSystem.ts similarity index 100% rename from packages/pyright-internal/src/typeServer/virtualFileOverlayFileSystem.ts rename to packages/vipeye-internal/src/typeServer/virtualFileOverlayFileSystem.ts diff --git a/packages/pyright-internal/src/types.ts b/packages/vipeye-internal/src/types.ts similarity index 100% rename from packages/pyright-internal/src/types.ts rename to packages/vipeye-internal/src/types.ts diff --git a/packages/pyright-internal/src/workspaceFactory.ts b/packages/vipeye-internal/src/workspaceFactory.ts similarity index 100% rename from packages/pyright-internal/src/workspaceFactory.ts rename to packages/vipeye-internal/src/workspaceFactory.ts diff --git a/packages/pyright-internal/tsconfig.jest.json b/packages/vipeye-internal/tsconfig.jest.json similarity index 100% rename from packages/pyright-internal/tsconfig.jest.json rename to packages/vipeye-internal/tsconfig.jest.json diff --git a/packages/pyright-internal/tsconfig.json b/packages/vipeye-internal/tsconfig.json similarity index 100% rename from packages/pyright-internal/tsconfig.json rename to packages/vipeye-internal/tsconfig.json diff --git a/packages/pyright-internal/typeshed-fallback/LICENSE b/packages/vipeye-internal/typeshed-fallback/LICENSE similarity index 100% rename from packages/pyright-internal/typeshed-fallback/LICENSE rename to packages/vipeye-internal/typeshed-fallback/LICENSE diff --git a/packages/pyright-internal/typeshed-fallback/README.md b/packages/vipeye-internal/typeshed-fallback/README.md similarity index 100% rename from packages/pyright-internal/typeshed-fallback/README.md rename to packages/vipeye-internal/typeshed-fallback/README.md diff --git a/packages/pyright-internal/typeshed-fallback/commit.txt b/packages/vipeye-internal/typeshed-fallback/commit.txt similarity index 100% rename from packages/pyright-internal/typeshed-fallback/commit.txt rename to packages/vipeye-internal/typeshed-fallback/commit.txt diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/VERSIONS b/packages/vipeye-internal/typeshed-fallback/stdlib/VERSIONS similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/VERSIONS rename to packages/vipeye-internal/typeshed-fallback/stdlib/VERSIONS diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/__future__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/__future__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/__future__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/__future__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/__main__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/__main__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/__main__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/__main__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_ast.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_ast.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_ast.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_ast.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_asyncio.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_asyncio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_asyncio.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_asyncio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_bisect.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_bisect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_bisect.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_bisect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_blake2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_blake2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_blake2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_blake2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_bz2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_bz2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_bz2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_bz2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_codecs.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_codecs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_codecs.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_codecs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_collections_abc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_collections_abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_collections_abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_collections_abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_compat_pickle.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_compat_pickle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_compat_pickle.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_compat_pickle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_compression.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_compression.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_compression.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_compression.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_contextvars.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_contextvars.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_contextvars.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_contextvars.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_csv.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_csv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_csv.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_csv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_ctypes.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_ctypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_ctypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_ctypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_curses.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_curses.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_curses.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_curses.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_curses_panel.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_curses_panel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_curses_panel.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_curses_panel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_dbm.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_dbm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_dbm.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_dbm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_decimal.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_decimal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_decimal.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_decimal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_frozen_importlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_frozen_importlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_frozen_importlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_frozen_importlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_frozen_importlib_external.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_frozen_importlib_external.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_frozen_importlib_external.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_frozen_importlib_external.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_gdbm.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_gdbm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_gdbm.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_gdbm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_hashlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_hashlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_hashlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_hashlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_heapq.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_heapq.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_heapq.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_heapq.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_imp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_imp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_imp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_imp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_interpchannels.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_interpchannels.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_interpchannels.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_interpchannels.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_interpqueues.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_interpqueues.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_interpqueues.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_interpqueues.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_interpreters.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_interpreters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_interpreters.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_interpreters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_io.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_io.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_io.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_io.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_json.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_json.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_json.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_json.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_locale.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_locale.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_locale.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_locale.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_lsprof.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_lsprof.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_lsprof.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_lsprof.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_lzma.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_lzma.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_lzma.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_lzma.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_markupbase.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_markupbase.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_markupbase.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_markupbase.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_msi.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_msi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_msi.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_msi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_multibytecodec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_multibytecodec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_multibytecodec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_multibytecodec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_operator.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_operator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_operator.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_operator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_osx_support.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_osx_support.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_osx_support.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_osx_support.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_pickle.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_pickle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_pickle.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_pickle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_posixsubprocess.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_posixsubprocess.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_posixsubprocess.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_posixsubprocess.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_py_abc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_py_abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_py_abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_py_abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_pydecimal.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_pydecimal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_pydecimal.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_pydecimal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_queue.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_queue.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_queue.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_queue.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_random.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_random.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_random.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_random.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_remote_debugging.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_remote_debugging.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_remote_debugging.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_remote_debugging.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_sitebuiltins.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_sitebuiltins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_sitebuiltins.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_sitebuiltins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_socket.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_socket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_socket.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_socket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_sqlite3.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_sqlite3.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_sqlite3.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_sqlite3.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_ssl.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_ssl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_ssl.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_ssl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_stat.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_struct.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_struct.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_struct.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_struct.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_thread.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_thread.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_thread.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_thread.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_threading_local.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_threading_local.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_threading_local.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_threading_local.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_tkinter.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_tkinter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_tkinter.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_tkinter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_tracemalloc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_tracemalloc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_tracemalloc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_tracemalloc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/_type_checker_internals.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/_type_checker_internals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/_type_checker_internals.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/_type_checker_internals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/dbapi.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/dbapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/dbapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/dbapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/importlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/importlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/importlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/importlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/wsgi.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/wsgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/wsgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/wsgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/xml.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/xml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_typeshed/xml.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_typeshed/xml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_warnings.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_warnings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_warnings.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_warnings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_weakref.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_weakref.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_weakref.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_weakref.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_weakrefset.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_weakrefset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_weakrefset.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_weakrefset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_winapi.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_winapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_winapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_winapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/_zstd.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/_zstd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/_zstd.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/_zstd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/abc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/aifc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/aifc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/aifc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/aifc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/annotationlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/annotationlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/annotationlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/annotationlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/antigravity.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/antigravity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/antigravity.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/antigravity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/argparse.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/argparse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/argparse.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/argparse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/array.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/array.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/array.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/array.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ast.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ast.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ast.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ast.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asynchat.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asynchat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asynchat.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asynchat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_events.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_events.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_futures.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_futures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_futures.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_futures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_subprocess.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_subprocess.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_subprocess.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_subprocess.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_tasks.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_tasks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/base_tasks.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/base_tasks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/coroutines.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/coroutines.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/coroutines.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/coroutines.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/events.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/events.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/format_helpers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/format_helpers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/format_helpers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/format_helpers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/futures.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/futures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/futures.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/futures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/graph.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/graph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/graph.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/graph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/locks.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/locks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/locks.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/locks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/log.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/log.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/log.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/log.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/mixins.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/mixins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/mixins.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/mixins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/proactor_events.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/proactor_events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/proactor_events.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/proactor_events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/protocols.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/protocols.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/protocols.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/protocols.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/queues.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/queues.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/queues.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/queues.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/runners.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/runners.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/runners.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/runners.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/selector_events.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/selector_events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/selector_events.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/selector_events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/sslproto.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/sslproto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/sslproto.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/sslproto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/staggered.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/staggered.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/staggered.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/staggered.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/streams.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/streams.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/streams.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/streams.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/subprocess.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/subprocess.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/subprocess.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/subprocess.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/taskgroups.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/taskgroups.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/taskgroups.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/taskgroups.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/tasks.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/tasks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/tasks.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/tasks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/threads.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/threads.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/threads.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/threads.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/timeouts.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/timeouts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/timeouts.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/timeouts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/tools.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/tools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/tools.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/tools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/transports.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/transports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/transports.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/transports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/trsock.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/trsock.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/trsock.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/trsock.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/unix_events.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/unix_events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/unix_events.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/unix_events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/windows_events.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/windows_events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/windows_events.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/windows_events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncio/windows_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/windows_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncio/windows_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncio/windows_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/asyncore.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/asyncore.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/asyncore.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/asyncore.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/atexit.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/atexit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/atexit.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/atexit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/audioop.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/audioop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/audioop.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/audioop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/base64.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/base64.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/base64.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/base64.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/bdb.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/bdb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/bdb.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/bdb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/binascii.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/binascii.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/binascii.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/binascii.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/binhex.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/binhex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/binhex.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/binhex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/bisect.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/bisect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/bisect.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/bisect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/builtins.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/builtins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/builtins.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/builtins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/bz2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/bz2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/bz2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/bz2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/cProfile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/cProfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/cProfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/cProfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/calendar.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/calendar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/calendar.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/calendar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/cgi.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/cgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/cgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/cgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/cgitb.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/cgitb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/cgitb.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/cgitb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/chunk.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/chunk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/chunk.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/chunk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/cmath.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/cmath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/cmath.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/cmath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/cmd.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/cmd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/cmd.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/cmd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/code.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/code.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/codecs.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/codecs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/codecs.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/codecs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/codeop.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/codeop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/codeop.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/codeop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/collections/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/collections/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/collections/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/collections/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/collections/abc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/collections/abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/collections/abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/collections/abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/colorsys.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/colorsys.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/colorsys.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/colorsys.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compileall.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compileall.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compileall.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compileall.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_packager.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/_common/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_packager.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/_common/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/_common/_streams.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/_common/_streams.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/_common/_streams.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/_common/_streams.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/bz2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/bz2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/bz2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/bz2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/gzip.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/gzip.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/gzip.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/gzip.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/lzma.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/lzma.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/lzma.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/lzma.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/zlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/zlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/zlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/zlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/zstd/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/zstd/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/zstd/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/zstd/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/compression/zstd/_zstdfile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/compression/zstd/_zstdfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/compression/zstd/_zstdfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/compression/zstd/_zstdfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/_base.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/interpreter.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/interpreter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/interpreter.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/interpreter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/process.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/process.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/process.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/process.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/thread.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/thread.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/futures/thread.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/futures/thread.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/interpreters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/interpreters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/interpreters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/interpreters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/interpreters/_crossinterp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/interpreters/_crossinterp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/interpreters/_crossinterp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/interpreters/_crossinterp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/concurrent/interpreters/_queues.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/interpreters/_queues.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/concurrent/interpreters/_queues.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/concurrent/interpreters/_queues.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/configparser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/configparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/configparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/configparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/contextlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/contextlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/contextlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/contextlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/contextvars.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/contextvars.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/contextvars.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/contextvars.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/copy.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/copy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/copy.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/copy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/copyreg.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/copyreg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/copyreg.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/copyreg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/crypt.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/crypt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/crypt.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/crypt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/csv.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/csv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/csv.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/csv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/_endian.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/_endian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/_endian.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/_endian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/dyld.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/dyld.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/dyld.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/dyld.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/dylib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/dylib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/dylib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/dylib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/framework.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/framework.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/macholib/framework.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/macholib/framework.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ctypes/wintypes.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/wintypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ctypes/wintypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ctypes/wintypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/curses/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/curses/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/curses/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/curses/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/curses/ascii.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/curses/ascii.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/curses/ascii.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/curses/ascii.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/curses/has_key.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/curses/has_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/curses/has_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/curses/has_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/curses/panel.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/curses/panel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/curses/panel.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/curses/panel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/curses/textpad.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/curses/textpad.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/curses/textpad.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/curses/textpad.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/dataclasses.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/dataclasses.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/dataclasses.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/dataclasses.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/datetime.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/datetime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/datetime.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/datetime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/dbm/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/dbm/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/dbm/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/dbm/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/dbm/dumb.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/dbm/dumb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/dbm/dumb.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/dbm/dumb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/dbm/gnu.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/dbm/gnu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/dbm/gnu.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/dbm/gnu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/dbm/ndbm.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/dbm/ndbm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/dbm/ndbm.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/dbm/ndbm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/dbm/sqlite3.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/dbm/sqlite3.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/dbm/sqlite3.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/dbm/sqlite3.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/decimal.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/decimal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/decimal.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/decimal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/difflib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/difflib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/difflib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/difflib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/dis.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/dis.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/dis.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/dis.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/_msvccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/_msvccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/_msvccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/_msvccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/archive_util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/archive_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/archive_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/archive_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/bcppcompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/bcppcompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/bcppcompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/bcppcompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/ccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/ccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/ccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/ccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/cmd.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/cmd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/cmd.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/cmd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_dumb.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_dumb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_dumb.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_dumb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_msi.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_msi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_msi.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_msi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_packager.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_packager.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_rpm.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_rpm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/bdist_rpm.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/bdist_rpm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_clib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_clib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_clib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_clib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_ext.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_ext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_ext.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_ext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_py.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_py.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_py.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_py.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_scripts.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_scripts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/build_scripts.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/build_scripts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/check.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/check.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/check.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/check.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/clean.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/clean.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/clean.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/clean.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/config.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_data.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_egg_info.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_egg_info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_egg_info.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_egg_info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_headers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_headers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_headers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_headers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_lib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_lib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_lib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_lib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_scripts.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_scripts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/install_scripts.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/install_scripts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/register.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/register.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/register.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/register.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/sdist.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/sdist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/sdist.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/sdist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/upload.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/upload.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/command/upload.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/command/upload.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/config.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/core.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/cygwinccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/cygwinccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/cygwinccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/cygwinccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/debug.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/debug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/debug.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/debug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/dep_util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/dep_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/dep_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/dep_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/dir_util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/dir_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/dir_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/dir_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/dist.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/dist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/dist.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/dist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/extension.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/extension.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/extension.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/extension.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/fancy_getopt.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/fancy_getopt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/fancy_getopt.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/fancy_getopt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/file_util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/file_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/file_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/file_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/filelist.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/filelist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/filelist.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/filelist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/log.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/log.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/log.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/log.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/msvccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/msvccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/msvccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/msvccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/spawn.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/spawn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/spawn.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/spawn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/sysconfig.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/sysconfig.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/sysconfig.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/sysconfig.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/text_file.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/text_file.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/text_file.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/text_file.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/unixccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/unixccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/unixccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/unixccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/distutils/version.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/distutils/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/distutils/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/distutils/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/doctest.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/doctest.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/doctest.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/doctest.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/_header_value_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/_header_value_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/_header_value_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/_header_value_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/_policybase.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/_policybase.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/_policybase.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/_policybase.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/base64mime.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/base64mime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/base64mime.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/base64mime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/charset.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/charset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/charset.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/charset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/contentmanager.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/contentmanager.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/contentmanager.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/contentmanager.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/encoders.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/encoders.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/encoders.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/encoders.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/feedparser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/feedparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/feedparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/feedparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/generator.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/generator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/generator.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/generator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/header.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/header.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/header.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/header.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/headerregistry.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/headerregistry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/headerregistry.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/headerregistry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/iterators.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/iterators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/iterators.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/iterators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/message.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/message.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/application.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/application.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/audio.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/audio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/audio.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/audio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/base.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/image.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/image.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/image.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/image.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/message.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/message.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/multipart.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/multipart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/multipart.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/multipart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/nonmultipart.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/nonmultipart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/nonmultipart.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/nonmultipart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/mime/text.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/mime/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/mime/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/policy.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/policy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/policy.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/policy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/quoprimime.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/quoprimime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/quoprimime.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/quoprimime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/email/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/email/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/email/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/email/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/aliases.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/aliases.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/aliases.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/aliases.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/ascii.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/ascii.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/ascii.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/ascii.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/base64_codec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/base64_codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/base64_codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/base64_codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/big5.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/big5.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/big5.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/big5.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/big5hkscs.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/big5hkscs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/big5hkscs.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/big5hkscs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/bz2_codec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/bz2_codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/bz2_codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/bz2_codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/charmap.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/charmap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/charmap.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/charmap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp037.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp037.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp037.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp037.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1006.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1006.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1006.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1006.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1026.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1026.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1026.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1026.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1125.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1125.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1125.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1125.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1140.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1140.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1140.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1140.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1250.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1250.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1250.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1250.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1251.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1251.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1251.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1251.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1252.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1252.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1252.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1252.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1253.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1253.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1253.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1253.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1254.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1254.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1254.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1254.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1255.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1255.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1255.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1255.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1256.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1256.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1256.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1256.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1257.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1257.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1257.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1257.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1258.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1258.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp1258.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp1258.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp273.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp273.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp273.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp273.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp424.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp424.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp424.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp424.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp437.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp437.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp437.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp437.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp500.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp500.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp500.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp500.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp720.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp720.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp720.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp720.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp737.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp737.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp737.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp737.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp775.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp775.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp775.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp775.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp850.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp850.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp850.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp850.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp852.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp852.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp852.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp852.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp855.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp855.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp855.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp855.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp856.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp856.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp856.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp856.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp857.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp857.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp857.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp857.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp858.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp858.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp858.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp858.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp860.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp860.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp860.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp860.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp861.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp861.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp861.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp861.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp862.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp862.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp862.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp862.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp863.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp863.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp863.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp863.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp864.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp864.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp864.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp864.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp865.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp865.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp865.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp865.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp866.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp866.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp866.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp866.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp869.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp869.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp869.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp869.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp874.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp874.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp874.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp874.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp875.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp875.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp875.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp875.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp932.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp932.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp932.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp932.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp949.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp949.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp949.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp949.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp950.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp950.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/cp950.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/cp950.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_jis_2004.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_jis_2004.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_jis_2004.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_jis_2004.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_jisx0213.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_jisx0213.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_jisx0213.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_jisx0213.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_jp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_jp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_jp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_jp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_kr.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_kr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/euc_kr.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/euc_kr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/gb18030.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/gb18030.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/gb18030.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/gb18030.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/gb2312.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/gb2312.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/gb2312.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/gb2312.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/gbk.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/gbk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/gbk.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/gbk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/hex_codec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/hex_codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/hex_codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/hex_codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/hp_roman8.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/hp_roman8.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/hp_roman8.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/hp_roman8.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/hz.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/hz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/hz.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/hz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/idna.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/idna.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/idna.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/idna.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_1.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_1.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2004.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2004.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2004.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_2004.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_3.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_3.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_3.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_3.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_ext.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_ext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_ext.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_jp_ext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_kr.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_kr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso2022_kr.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso2022_kr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_1.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_1.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_10.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_10.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_10.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_10.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_11.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_11.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_11.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_11.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_13.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_13.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_13.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_13.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_14.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_14.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_14.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_14.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_15.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_15.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_15.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_15.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_16.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_16.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_16.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_16.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_3.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_3.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_3.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_3.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_4.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_4.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_4.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_4.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_5.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_5.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_5.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_5.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_6.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_6.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_6.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_6.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_7.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_7.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_7.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_7.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_8.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_8.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_8.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_8.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_9.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_9.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/iso8859_9.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/iso8859_9.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/johab.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/johab.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/johab.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/johab.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/koi8_r.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/koi8_r.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/koi8_r.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/koi8_r.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/koi8_t.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/koi8_t.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/koi8_t.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/koi8_t.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/koi8_u.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/koi8_u.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/koi8_u.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/koi8_u.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/kz1048.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/kz1048.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/kz1048.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/kz1048.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/latin_1.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/latin_1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/latin_1.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/latin_1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_arabic.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_arabic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_arabic.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_arabic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_croatian.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_croatian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_croatian.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_croatian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_cyrillic.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_cyrillic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_cyrillic.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_cyrillic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_farsi.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_farsi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_farsi.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_farsi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_greek.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_greek.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_greek.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_greek.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_iceland.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_iceland.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_iceland.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_iceland.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_latin2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_latin2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_latin2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_latin2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_roman.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_roman.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_roman.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_roman.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_romanian.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_romanian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_romanian.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_romanian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_turkish.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_turkish.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mac_turkish.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mac_turkish.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/mbcs.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mbcs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/mbcs.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/mbcs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/oem.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/oem.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/oem.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/oem.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/palmos.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/palmos.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/palmos.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/palmos.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/ptcp154.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/ptcp154.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/ptcp154.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/ptcp154.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/punycode.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/punycode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/punycode.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/punycode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/quopri_codec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/quopri_codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/quopri_codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/quopri_codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/raw_unicode_escape.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/raw_unicode_escape.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/raw_unicode_escape.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/raw_unicode_escape.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/rot_13.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/rot_13.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/rot_13.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/rot_13.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/shift_jis.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/shift_jis.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/shift_jis.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/shift_jis.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/shift_jis_2004.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/shift_jis_2004.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/shift_jis_2004.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/shift_jis_2004.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/shift_jisx0213.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/shift_jisx0213.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/shift_jisx0213.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/shift_jisx0213.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/tis_620.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/tis_620.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/tis_620.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/tis_620.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/undefined.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/undefined.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/undefined.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/undefined.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/unicode_escape.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/unicode_escape.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/unicode_escape.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/unicode_escape.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_16.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_16.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_16.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_16.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_16_be.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_16_be.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_16_be.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_16_be.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_16_le.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_16_le.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_16_le.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_16_le.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_32.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_32.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_32.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_32.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_32_be.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_32_be.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_32_be.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_32_be.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_32_le.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_32_le.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_32_le.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_32_le.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_7.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_7.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_7.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_7.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_8.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_8.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_8.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_8.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_8_sig.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_8_sig.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/utf_8_sig.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/utf_8_sig.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/uu_codec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/uu_codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/uu_codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/uu_codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/encodings/zlib_codec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/encodings/zlib_codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/encodings/zlib_codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/encodings/zlib_codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ensurepip/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ensurepip/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ensurepip/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ensurepip/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/enum.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/enum.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/enum.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/enum.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/errno.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/errno.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/errno.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/errno.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/faulthandler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/faulthandler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/faulthandler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/faulthandler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/fcntl.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/fcntl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/fcntl.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/fcntl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/filecmp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/filecmp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/filecmp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/filecmp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/fileinput.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/fileinput.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/fileinput.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/fileinput.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/fnmatch.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/fnmatch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/fnmatch.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/fnmatch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/fractions.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/fractions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/fractions.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/fractions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ftplib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ftplib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ftplib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ftplib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/functools.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/functools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/functools.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/functools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/gc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/gc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/gc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/gc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/genericpath.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/genericpath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/genericpath.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/genericpath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/getopt.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/getopt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/getopt.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/getopt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/getpass.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/getpass.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/getpass.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/getpass.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/gettext.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/gettext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/gettext.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/gettext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/glob.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/glob.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/glob.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/glob.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/graphlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/graphlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/graphlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/graphlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/grp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/grp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/grp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/grp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/gzip.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/gzip.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/gzip.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/gzip.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/hashlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/hashlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/hashlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/hashlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/heapq.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/heapq.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/heapq.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/heapq.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/hmac.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/hmac.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/hmac.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/hmac.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/html/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/html/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/html/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/html/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/html/entities.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/html/entities.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/html/entities.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/html/entities.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/html/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/html/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/html/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/html/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/http/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/http/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/http/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/http/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/http/client.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/http/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/http/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/http/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/http/cookiejar.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/http/cookiejar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/http/cookiejar.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/http/cookiejar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/http/cookies.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/http/cookies.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/http/cookies.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/http/cookies.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/http/server.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/http/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/http/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/http/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/imaplib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/imaplib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/imaplib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/imaplib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/imghdr.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/imghdr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/imghdr.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/imghdr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/imp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/imp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/imp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/imp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/_abc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/_abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/_abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/_abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/_bootstrap.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/_bootstrap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/_bootstrap.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/_bootstrap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/_bootstrap_external.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/_bootstrap_external.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/_bootstrap_external.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/_bootstrap_external.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/abc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/machinery.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/machinery.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/machinery.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/machinery.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/metadata/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/metadata/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/metadata/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/metadata/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/metadata/_meta.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/metadata/_meta.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/metadata/_meta.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/metadata/_meta.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/metadata/diagnose.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/metadata/diagnose.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/metadata/diagnose.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/metadata/diagnose.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/readers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/readers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/readers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/readers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/_common.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/_common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/_common.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/_common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/_functional.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/_functional.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/_functional.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/_functional.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/abc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/readers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/readers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/readers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/readers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/simple.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/simple.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/resources/simple.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/resources/simple.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/simple.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/simple.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/simple.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/simple.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/importlib/util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/importlib/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/importlib/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/importlib/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/inspect.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/inspect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/inspect.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/inspect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/io.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/io.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/io.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/io.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ipaddress.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ipaddress.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ipaddress.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ipaddress.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/itertools.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/itertools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/itertools.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/itertools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/json/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/json/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/json/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/json/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/json/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/json/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/json/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/json/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/json/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/json/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/json/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/json/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/json/scanner.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/json/scanner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/json/scanner.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/json/scanner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/json/tool.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/json/tool.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/json/tool.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/json/tool.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/keyword.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/keyword.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/keyword.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/keyword.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pydoc_data/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pydoc_data/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/btm_matcher.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/btm_matcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/btm_matcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/btm_matcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixer_base.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixer_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixer_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixer_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/urllib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/urllib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_apply.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_apply.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_apply.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_apply.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_asserts.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_asserts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_asserts.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_asserts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_basestring.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_basestring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_basestring.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_basestring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_buffer.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_buffer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_buffer.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_buffer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_dict.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_dict.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_dict.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_dict.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_except.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_except.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_except.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_except.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exec.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exec.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_execfile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_execfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_execfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_execfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exitfunc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exitfunc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exitfunc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_exitfunc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_filter.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_filter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_filter.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_filter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_funcattrs.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_funcattrs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_funcattrs.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_funcattrs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_future.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_future.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_future.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_future.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_getcwdu.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_getcwdu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_getcwdu.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_getcwdu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_has_key.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_has_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_has_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_has_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_idioms.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_idioms.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_idioms.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_idioms.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_import.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_import.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_import.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_import.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_imports2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_input.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_intern.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_intern.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_intern.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_intern.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_isinstance.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_isinstance.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_isinstance.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_isinstance.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools_imports.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools_imports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools_imports.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_itertools_imports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_long.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_long.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_long.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_long.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_map.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_map.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_map.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_map.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_metaclass.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_metaclass.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_metaclass.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_metaclass.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_methodattrs.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_methodattrs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_methodattrs.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_methodattrs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ne.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ne.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ne.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ne.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_next.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_next.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_next.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_next.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_nonzero.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_nonzero.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_nonzero.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_nonzero.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_numliterals.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_numliterals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_numliterals.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_numliterals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_operator.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_operator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_operator.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_operator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_paren.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_paren.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_paren.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_paren.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_print.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_print.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_print.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_print.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raise.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raise.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raise.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raise.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raw_input.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raw_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raw_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_raw_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reduce.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reduce.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reduce.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reduce.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reload.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reload.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reload.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_reload.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_renames.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_renames.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_renames.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_renames.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_repr.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_repr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_repr.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_repr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_set_literal.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_set_literal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_set_literal.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_set_literal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_standarderror.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_standarderror.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_standarderror.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_standarderror.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_sys_exc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_sys_exc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_sys_exc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_sys_exc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_throw.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_throw.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_throw.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_throw.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_tuple_params.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_tuple_params.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_tuple_params.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_tuple_params.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_types.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_unicode.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_unicode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_unicode.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_unicode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_urllib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_urllib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_urllib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_urllib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ws_comma.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ws_comma.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ws_comma.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_ws_comma.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xrange.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xrange.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xrange.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xrange.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xreadlines.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xreadlines.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xreadlines.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_xreadlines.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_zip.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_zip.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_zip.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/fixes/fix_zip.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/main.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/main.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/driver.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/driver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/driver.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/driver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/grammar.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/grammar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/grammar.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/grammar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/literals.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/literals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/literals.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/literals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/parse.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/parse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/parse.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/parse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/pgen.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/pgen.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/pgen.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/pgen.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/token.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/tokenize.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/tokenize.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pgen2/tokenize.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pgen2/tokenize.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pygram.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pygram.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pygram.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pygram.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pytree.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pytree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/pytree.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/pytree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/refactor.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/refactor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lib2to3/refactor.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lib2to3/refactor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/linecache.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/linecache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/linecache.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/linecache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/locale.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/locale.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/locale.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/locale.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/logging/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/logging/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/logging/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/logging/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/logging/config.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/logging/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/logging/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/logging/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/logging/handlers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/logging/handlers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/logging/handlers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/logging/handlers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/lzma.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/lzma.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/lzma.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/lzma.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/mailbox.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/mailbox.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/mailbox.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/mailbox.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/mailcap.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/mailcap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/mailcap.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/mailcap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/marshal.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/marshal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/marshal.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/marshal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/math/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/math/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/math/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/math/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/math/integer.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/math/integer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/math/integer.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/math/integer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/mimetypes.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/mimetypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/mimetypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/mimetypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/mmap.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/mmap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/mmap.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/mmap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/modulefinder.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/modulefinder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/modulefinder.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/modulefinder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/msilib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/msilib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/msilib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/msilib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/msilib/schema.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/msilib/schema.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/msilib/schema.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/msilib/schema.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/msilib/sequence.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/msilib/sequence.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/msilib/sequence.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/msilib/sequence.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/msilib/text.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/msilib/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/msilib/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/msilib/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/msvcrt.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/msvcrt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/msvcrt.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/msvcrt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/connection.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/context.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/context.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/context.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/context.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/dummy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/dummy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/dummy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/dummy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/dummy/connection.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/dummy/connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/dummy/connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/dummy/connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/forkserver.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/forkserver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/forkserver.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/forkserver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/heap.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/heap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/heap.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/heap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/managers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/managers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/managers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/managers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/pool.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/pool.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/pool.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/pool.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_fork.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_fork.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_fork.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_fork.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_forkserver.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_forkserver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_forkserver.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_forkserver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_posix.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_posix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_posix.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_posix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_win32.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_win32.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_win32.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/popen_spawn_win32.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/process.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/process.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/process.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/process.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/queues.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/queues.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/queues.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/queues.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/reduction.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/reduction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/reduction.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/reduction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/resource_sharer.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/resource_sharer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/resource_sharer.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/resource_sharer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/resource_tracker.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/resource_tracker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/resource_tracker.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/resource_tracker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/shared_memory.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/shared_memory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/shared_memory.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/shared_memory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/sharedctypes.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/sharedctypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/sharedctypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/sharedctypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/spawn.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/spawn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/spawn.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/spawn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/synchronize.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/synchronize.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/synchronize.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/synchronize.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/multiprocessing/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/multiprocessing/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/netrc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/netrc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/netrc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/netrc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/nis.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/nis.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/nis.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/nis.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/nntplib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/nntplib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/nntplib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/nntplib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/nt.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/nt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/nt.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/nt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ntpath.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ntpath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ntpath.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ntpath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/nturl2path.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/nturl2path.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/nturl2path.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/nturl2path.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/numbers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/numbers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/numbers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/numbers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/opcode.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/opcode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/opcode.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/opcode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/operator.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/operator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/operator.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/operator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/optparse.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/optparse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/optparse.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/optparse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/os/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/os/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/os/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/os/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/os/path.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/os/path.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/os/path.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/os/path.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ossaudiodev.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ossaudiodev.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ossaudiodev.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ossaudiodev.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pathlib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pathlib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pathlib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pathlib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pathlib/types.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pathlib/types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pathlib/types.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pathlib/types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pdb.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pdb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pdb.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pdb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pickle.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pickle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pickle.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pickle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pickletools.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pickletools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pickletools.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pickletools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pipes.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pipes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pipes.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pipes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pkgutil.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pkgutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pkgutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pkgutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/platform.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/platform.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/platform.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/platform.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/plistlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/plistlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/plistlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/plistlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/poplib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/poplib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/poplib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/poplib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/posix.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/posix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/posix.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/posix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/posixpath.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/posixpath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/posixpath.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/posixpath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pprint.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pprint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pprint.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pprint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/collector.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/collector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/collector.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/collector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/gecko_collector.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/gecko_collector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/gecko_collector.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/gecko_collector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/heatmap_collector.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/heatmap_collector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/heatmap_collector.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/heatmap_collector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/jsonl_collector.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/jsonl_collector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/jsonl_collector.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/jsonl_collector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/pstats_collector.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/pstats_collector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/pstats_collector.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/pstats_collector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/stack_collector.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/stack_collector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/stack_collector.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/stack_collector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/string_table.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/string_table.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/sampling/string_table.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/sampling/string_table.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/profiling/tracing.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/profiling/tracing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/profiling/tracing.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/profiling/tracing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pstats.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pstats.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pstats.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pstats.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pty.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pty.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pty.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pty.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pwd.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pwd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pwd.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pwd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/py_compile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/py_compile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/py_compile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/py_compile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pyclbr.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pyclbr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pyclbr.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pyclbr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pydoc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pydoc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pydoc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pydoc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pydoc_data/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pydoc_data/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pydoc_data/module_docs.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pydoc_data/module_docs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pydoc_data/module_docs.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pydoc_data/module_docs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pydoc_data/topics.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pydoc_data/topics.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pydoc_data/topics.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pydoc_data/topics.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pyexpat/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pyexpat/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pyexpat/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pyexpat/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pyexpat/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pyexpat/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pyexpat/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pyexpat/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/pyexpat/model.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/pyexpat/model.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/pyexpat/model.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/pyexpat/model.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/queue.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/queue.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/queue.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/queue.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/quopri.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/quopri.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/quopri.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/quopri.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/random.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/random.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/random.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/random.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/re.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/re.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/re.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/re.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/readline.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/readline.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/readline.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/readline.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/reprlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/reprlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/reprlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/reprlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/resource.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/rlcompleter.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/rlcompleter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/rlcompleter.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/rlcompleter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/runpy.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/runpy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/runpy.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/runpy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sched.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sched.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sched.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sched.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/secrets.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/secrets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/secrets.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/secrets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/select.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/select.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/select.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/select.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/selectors.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/selectors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/selectors.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/selectors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/shelve.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/shelve.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/shelve.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/shelve.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/shlex.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/shlex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/shlex.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/shlex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/shutil.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/shutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/shutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/shutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/signal.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/signal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/signal.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/signal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/site.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/site.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/site.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/site.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/smtpd.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/smtpd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/smtpd.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/smtpd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/smtplib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/smtplib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/smtplib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/smtplib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sndhdr.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sndhdr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sndhdr.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sndhdr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/socket.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/socket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/socket.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/socket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/socketserver.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/socketserver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/socketserver.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/socketserver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/spwd.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/spwd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/spwd.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/spwd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sqlite3/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sqlite3/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sqlite3/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sqlite3/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sqlite3/dbapi2.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sqlite3/dbapi2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sqlite3/dbapi2.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sqlite3/dbapi2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sqlite3/dump.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sqlite3/dump.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sqlite3/dump.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sqlite3/dump.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sre_compile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sre_compile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sre_compile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sre_compile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sre_constants.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sre_constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sre_constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sre_constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sre_parse.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sre_parse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sre_parse.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sre_parse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/ssl.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/ssl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/ssl.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/ssl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/stat.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/statistics.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/statistics.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/statistics.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/statistics.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/string/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/string/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/string/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/string/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/string/templatelib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/string/templatelib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/string/templatelib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/string/templatelib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/stringprep.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/stringprep.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/stringprep.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/stringprep.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/struct.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/struct.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/struct.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/struct.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/subprocess.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/subprocess.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/subprocess.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/subprocess.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sunau.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sunau.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sunau.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sunau.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/symtable.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/symtable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/symtable.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/symtable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sys/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sys/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sys/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sys/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sys/__jit.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sys/__jit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sys/__jit.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sys/__jit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sys/_monitoring.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sys/_monitoring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sys/_monitoring.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sys/_monitoring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/sysconfig.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/sysconfig.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/sysconfig.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/sysconfig.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/syslog.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/syslog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/syslog.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/syslog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tabnanny.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tabnanny.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tabnanny.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tabnanny.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tarfile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tarfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tarfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tarfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/telnetlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/telnetlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/telnetlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/telnetlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tempfile.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tempfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tempfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tempfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/termios.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/termios.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/termios.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/termios.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/textwrap.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/textwrap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/textwrap.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/textwrap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/this.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/this.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/this.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/this.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/threading.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/threading.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/threading.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/threading.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/time.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/time.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/time.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/time.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/timeit.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/timeit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/timeit.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/timeit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/colorchooser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/colorchooser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/colorchooser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/colorchooser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/commondialog.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/commondialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/commondialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/commondialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/dialog.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/dialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/dialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/dialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/dnd.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/dnd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/dnd.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/dnd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/filedialog.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/filedialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/filedialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/filedialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/font.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/font.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/font.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/font.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/messagebox.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/messagebox.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/messagebox.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/messagebox.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/scrolledtext.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/scrolledtext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/scrolledtext.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/scrolledtext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/simpledialog.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/simpledialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/simpledialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/simpledialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/tix.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/tix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/tix.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/tix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tkinter/ttk.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/ttk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tkinter/ttk.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tkinter/ttk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/token.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tokenize.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tokenize.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tokenize.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tokenize.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tomllib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tomllib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tomllib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tomllib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/trace.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/trace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/trace.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/trace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/traceback.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/traceback.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/traceback.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/traceback.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tracemalloc.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tracemalloc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tracemalloc.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tracemalloc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/tty.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/tty.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/tty.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/tty.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/turtle.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/turtle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/turtle.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/turtle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/types.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/types.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/typing.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/typing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/typing.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/typing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/typing_extensions.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/typing_extensions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/typing_extensions.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/typing_extensions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unicodedata.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unicodedata.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unicodedata.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unicodedata.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/_log.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/_log.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/_log.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/_log.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/async_case.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/async_case.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/async_case.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/async_case.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/case.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/case.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/case.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/case.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/loader.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/loader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/loader.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/loader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/main.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/main.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/mock.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/mock.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/mock.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/mock.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/result.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/result.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/result.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/result.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/runner.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/runner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/runner.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/runner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/signals.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/signals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/signals.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/signals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/suite.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/suite.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/suite.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/suite.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/unittest/util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/unittest/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/unittest/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/unittest/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/urllib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/urllib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/urllib/error.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/urllib/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/urllib/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/urllib/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/urllib/parse.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/urllib/parse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/urllib/parse.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/urllib/parse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/urllib/request.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/urllib/request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/urllib/request.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/urllib/request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/urllib/response.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/urllib/response.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/urllib/response.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/urllib/response.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/urllib/robotparser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/urllib/robotparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/urllib/robotparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/urllib/robotparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/uu.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/uu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/uu.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/uu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/uuid.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/uuid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/uuid.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/uuid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/venv/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/venv/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/venv/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/venv/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/warnings.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/warnings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/warnings.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/warnings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wave.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wave.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wave.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wave.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/weakref.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/weakref.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/weakref.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/weakref.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/webbrowser.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/webbrowser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/webbrowser.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/webbrowser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/winreg.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/winreg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/winreg.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/winreg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/winsound.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/winsound.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/winsound.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/winsound.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xmlrpc/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xmlrpc/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/handlers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/handlers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/handlers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/handlers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/headers.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/headers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/headers.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/headers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/simple_server.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/simple_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/simple_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/simple_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/types.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/types.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/util.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/validate.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/validate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/wsgiref/validate.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/wsgiref/validate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xdrlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xdrlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xdrlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xdrlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/NodeFilter.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/NodeFilter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/NodeFilter.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/NodeFilter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/domreg.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/domreg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/domreg.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/domreg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/expatbuilder.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/expatbuilder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/expatbuilder.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/expatbuilder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/minicompat.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/minicompat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/minicompat.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/minicompat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/minidom.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/minidom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/minidom.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/minidom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/pulldom.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/pulldom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/pulldom.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/pulldom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/xmlbuilder.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/xmlbuilder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/dom/xmlbuilder.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/dom/xmlbuilder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/ElementInclude.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/ElementInclude.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/ElementInclude.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/ElementInclude.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/ElementPath.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/ElementPath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/ElementPath.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/ElementPath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/ElementTree.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/ElementTree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/ElementTree.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/ElementTree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/cElementTree.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/cElementTree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/etree/cElementTree.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/etree/cElementTree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/expat/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/expat/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/expat/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/expat/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/expat/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/expat/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/expat/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/expat/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/expat/model.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/expat/model.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/parsers/expat/model.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/parsers/expat/model.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/_exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/_exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/_exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/_exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/expatreader.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/expatreader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/expatreader.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/expatreader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/handler.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/handler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/handler.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/handler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/saxutils.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/saxutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/saxutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/saxutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/xmlreader.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/xmlreader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/sax/xmlreader.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/sax/xmlreader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xml/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xml/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xml/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xml/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xmlrpc/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xmlrpc/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xmlrpc/client.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xmlrpc/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xmlrpc/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xmlrpc/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xmlrpc/server.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xmlrpc/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xmlrpc/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xmlrpc/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/xxlimited.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/xxlimited.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/xxlimited.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/xxlimited.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zipapp.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zipapp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zipapp.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zipapp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zipfile/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zipfile/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zipfile/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zipfile/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zipfile/_path/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zipfile/_path/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zipfile/_path/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zipfile/_path/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zipfile/_path/glob.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zipfile/_path/glob.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zipfile/_path/glob.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zipfile/_path/glob.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zipimport.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zipimport.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zipimport.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zipimport.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zlib.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zoneinfo/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zoneinfo/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zoneinfo/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zoneinfo/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zoneinfo/_common.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zoneinfo/_common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zoneinfo/_common.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zoneinfo/_common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stdlib/zoneinfo/_tzpath.pyi b/packages/vipeye-internal/typeshed-fallback/stdlib/zoneinfo/_tzpath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stdlib/zoneinfo/_tzpath.pyi rename to packages/vipeye-internal/typeshed-fallback/stdlib/zoneinfo/_tzpath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8693/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8693/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/encoding.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/encoding.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/encoding.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/encoding.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/security.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/security.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/security.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/security.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/urls.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/urls.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/common/urls.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/common/urls.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/consts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/consts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/consts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/consts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/deprecate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/deprecate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/deprecate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/deprecate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_app.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_app.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_app.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_app.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_openid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_openid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_openid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_openid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/framework_integration.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/framework_integration.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/framework_integration.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/framework_integration.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/registry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/registry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/registry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/registry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_app.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_app.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_app.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_app.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_openid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_openid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_openid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_openid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/apps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/apps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/apps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/apps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/integration.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/integration.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/integration.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_client/integration.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/authorization_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/authorization_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/authorization_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/authorization_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/nonce.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/nonce.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/nonce.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/nonce.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/resource_protector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/resource_protector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/resource_protector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth1/resource_protector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/authorization_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/authorization_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/authorization_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/authorization_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/endpoints.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/endpoints.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/endpoints.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/endpoints.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/requests.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/requests.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/requests.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/requests.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/resource_protector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/resource_protector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/resource_protector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/resource_protector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/signals.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/signals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/signals.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/django_oauth2/signals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/apps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/apps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/apps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/apps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/integration.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/integration.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/integration.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_client/integration.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/authorization_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/cache.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/cache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/cache.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/cache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth1/resource_protector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/authorization_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/requests.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/requests.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/requests.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/requests.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/resource_protector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/signals.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/signals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/signals.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/flask_oauth2/signals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/assertion_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth1_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/oauth2_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/httpx_client/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/assertion_session.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/assertion_session.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/assertion_session.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/assertion_session.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth1_session.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/oauth2_session.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/requests_client/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/client_mixin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/client_mixin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/client_mixin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/client_mixin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/functions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/functions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/functions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/functions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/tokens_mixins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/tokens_mixins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/tokens_mixins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/sqla_oauth2/tokens_mixins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/apps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/apps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/apps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/apps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/integration.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/integration.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/integration.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/integrations/starlette_client/integration.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_algorithms.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_algorithms.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_algorithms.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_algorithms.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptodome.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptodome.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptodome.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptodome.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptography.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptography.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptography.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptography.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/jwk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/jwk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/jwk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/jwk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/jws.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/jws.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/jws.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/jws.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/jwe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/jwe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/jwe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/jwe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/_cryptography_key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/_cryptography_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/_cryptography_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/_cryptography_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/asymmetric_key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/asymmetric_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/asymmetric_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/asymmetric_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/base_key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/base_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/base_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/base_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/jwk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/jwk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/jwk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/jwk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/key_set.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/key_set.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/key_set.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/key_set.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/ec_key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/ec_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/ec_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/ec_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_algs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_algs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_algs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_algs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_encs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_encs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_encs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_encs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_zips.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_zips.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_zips.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_zips.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jws_algs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jws_algs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jws_algs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jws_algs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/oct_key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/oct_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/oct_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/oct_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/rsa_key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/rsa_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/rsa_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/rsa_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/claims.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/claims.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/claims.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/claims.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/jwt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/jwt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/jwt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/jwt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/jws_eddsa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/jws_eddsa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/jws_eddsa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/jws_eddsa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/okp_key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/okp_key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/okp_key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/okp_key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/jose/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/jose/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/authorization_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/authorization_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/authorization_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/authorization_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/base_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/base_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/base_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/base_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/client_auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/client_auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/client_auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/client_auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/parameters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/parameters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/parameters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/parameters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/resource_protector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/resource_protector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/resource_protector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/resource_protector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/rsa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/rsa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/rsa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/rsa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/signature.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/signature.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/signature.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/signature.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/wrapper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/wrapper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/wrapper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/wrapper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authenticate_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authenticate_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authenticate_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authenticate_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authorization_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authorization_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authorization_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authorization_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/authorization_code.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/authorization_code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/authorization_code.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/authorization_code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/client_credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/client_credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/client_credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/client_credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/implicit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/implicit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/implicit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/implicit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/refresh_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/refresh_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/refresh_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/refresh_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/resource_owner_password_credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/resource_owner_password_credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/resource_owner_password_credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/resource_owner_password_credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/hooks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/hooks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/hooks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/hooks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/parameters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/parameters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/parameters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/parameters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/requests.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/requests.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/requests.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/requests.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/resource_protector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/resource_protector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/resource_protector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/resource_protector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/token_endpoint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/token_endpoint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/token_endpoint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/token_endpoint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/wrappers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/wrappers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/wrappers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/wrappers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/parameters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/parameters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/parameters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/parameters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/parameters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/parameters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/parameters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/parameters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/revocation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/revocation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/revocation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/revocation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/assertion.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/assertion.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/assertion.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/assertion.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/claims.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/claims.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/claims.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/claims.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/endpoint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/endpoint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/endpoint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/endpoint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/endpoint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/endpoint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/endpoint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/endpoint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/challenge.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/challenge.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/challenge.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/challenge.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/introspection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/introspection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/introspection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/introspection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/token_validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/token_validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/token_validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/token_validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/well_known.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/well_known.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/well_known.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/well_known.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/device_code.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/device_code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/device_code.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/device_code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/endpoint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/endpoint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/endpoint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/endpoint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8693/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8693/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/claims.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/claims.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/claims.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/claims.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/introspection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/introspection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/introspection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/introspection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/revocation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/revocation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/revocation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/revocation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token_validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token_validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token_validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token_validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/authorization_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/authorization_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/authorization_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/authorization_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/discovery.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/discovery.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/discovery.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/discovery.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/registration.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/registration.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/registration.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9101/registration.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/parameter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/parameter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/parameter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9207/parameter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/claims.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/claims.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/claims.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/claims.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/code.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/code.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/hybrid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/hybrid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/hybrid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/hybrid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/implicit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/implicit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/implicit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/implicit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/userinfo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/userinfo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/userinfo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/userinfo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/core/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/well_known.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/well_known.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/well_known.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/well_known.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/claims.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/claims.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/claims.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Authlib/authlib/oidc/registration/claims.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Deprecated/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Deprecated/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/classic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/classic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/classic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/classic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/params.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/params.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/params.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/params.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/sphinx.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/sphinx.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Deprecated/deprecated/sphinx.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Deprecated/deprecated/sphinx.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/decorator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/decorator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/decorator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/decorator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/extension.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/extension.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/extension.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-Cors/flask_cors/extension.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-Migrate/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-Migrate/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-Migrate/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-Migrate/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-Migrate/flask_migrate/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-Migrate/flask_migrate/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-Migrate/flask_migrate/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-Migrate/flask_migrate/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/namespace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/namespace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/namespace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/namespace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/test_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/test_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/test_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/test_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/JACK-Client/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/JACK-Client/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/JACK-Client/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/JACK-Client/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/JACK-Client/jack/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/JACK-Client/jack/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/JACK-Client/jack/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/JACK-Client/jack/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_cdev.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_cdev.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_cdev.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_cdev.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pin_data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pin_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pin_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pin_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pinmux_lookup.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pinmux_lookup.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pinmux_lookup.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/GPIO/gpio_pinmux_lookup.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/Jetson/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Jetson.GPIO/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Jetson.GPIO/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/__main__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/__main__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/__main__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/__main__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/__meta__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/__meta__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/__meta__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/__meta__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/blockparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/blockparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/blockparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/blockparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/blockprocessors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/blockprocessors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/blockprocessors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/blockprocessors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/abbr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/abbr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/abbr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/abbr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/admonition.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/admonition.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/admonition.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/admonition.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/attr_list.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/attr_list.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/attr_list.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/attr_list.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/codehilite.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/codehilite.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/codehilite.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/codehilite.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/def_list.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/def_list.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/def_list.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/def_list.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/extra.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/extra.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/extra.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/extra.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/fenced_code.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/fenced_code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/fenced_code.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/fenced_code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/footnotes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/footnotes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/footnotes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/footnotes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_attrs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_attrs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_attrs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_attrs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_em.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_em.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_em.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/legacy_em.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/md_in_html.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/md_in_html.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/md_in_html.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/md_in_html.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/meta.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/meta.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/meta.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/meta.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/nl2br.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/nl2br.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/nl2br.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/nl2br.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/sane_lists.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/sane_lists.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/sane_lists.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/sane_lists.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/smarty.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/smarty.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/smarty.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/smarty.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/tables.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/tables.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/tables.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/tables.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/toc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/toc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/toc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/toc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/wikilinks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/wikilinks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/wikilinks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/extensions/wikilinks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/htmlparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/htmlparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/htmlparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/htmlparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/inlinepatterns.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/inlinepatterns.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/inlinepatterns.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/inlinepatterns.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/postprocessors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/postprocessors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/postprocessors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/postprocessors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/preprocessors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/preprocessors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/preprocessors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/preprocessors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/serializers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/serializers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/serializers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/serializers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/test_tools.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/test_tools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/test_tools.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/test_tools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/treeprocessors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/treeprocessors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/treeprocessors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/treeprocessors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Markdown/markdown/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Markdown/markdown/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyAutoGUI/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/PyAutoGUI/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyAutoGUI/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/PyAutoGUI/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyAutoGUI/pyautogui/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyAutoGUI/pyautogui/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyAutoGUI/pyautogui/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyAutoGUI/pyautogui/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Angle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Angle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Angle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Angle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Coordinates.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Coordinates.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Coordinates.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Coordinates.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/CurveFitting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/CurveFitting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/CurveFitting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/CurveFitting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Earth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Earth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Earth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Earth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Epoch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Epoch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Epoch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Epoch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Interpolation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Interpolation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Interpolation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Interpolation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Jupiter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Jupiter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Jupiter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Jupiter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/JupiterMoons.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/JupiterMoons.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/JupiterMoons.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/JupiterMoons.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mars.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mars.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mars.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mars.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mercury.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mercury.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mercury.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Mercury.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Minor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Minor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Minor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Minor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Moon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Moon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Moon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Moon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Neptune.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Neptune.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Neptune.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Neptune.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Pluto.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Pluto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Pluto.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Pluto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Saturn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Saturn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Saturn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Saturn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Sun.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Sun.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Sun.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Sun.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Uranus.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Uranus.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Uranus.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Uranus.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Venus.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Venus.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Venus.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/Venus.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMeeus/pymeeus/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/_auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/_auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/_auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/_auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/charset.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/charset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/charset.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/charset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/connections.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/connections.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/connections.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/connections.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CLIENT.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CLIENT.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CLIENT.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CLIENT.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/COMMAND.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/COMMAND.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/COMMAND.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/COMMAND.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CR.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CR.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CR.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/CR.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/ER.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/ER.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/ER.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/ER.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FIELD_TYPE.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FIELD_TYPE.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FIELD_TYPE.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FIELD_TYPE.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FLAG.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FLAG.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FLAG.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/FLAG.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/SERVER_STATUS.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/SERVER_STATUS.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/SERVER_STATUS.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/SERVER_STATUS.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/constants/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/converters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/converters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/converters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/converters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/cursors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/cursors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/cursors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/cursors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/err.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/err.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/err.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/err.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/optionfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/optionfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/optionfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/optionfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/protocol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/protocol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/protocol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/protocol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/times.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/times.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyMySQL/pymysql/times.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyMySQL/pymysql/times.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyScreeze/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/PyScreeze/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyScreeze/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/PyScreeze/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyScreeze/pyscreeze/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyScreeze/pyscreeze/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyScreeze/pyscreeze/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyScreeze/pyscreeze/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PySocks/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/PySocks/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PySocks/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/PySocks/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PySocks/socks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PySocks/socks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PySocks/socks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PySocks/socks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PySocks/sockshandler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PySocks/sockshandler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PySocks/sockshandler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PySocks/sockshandler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/_yaml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/_yaml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/_yaml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/_yaml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/composer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/composer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/composer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/composer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/constructor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/constructor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/constructor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/constructor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/cyaml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/cyaml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/cyaml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/cyaml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/dumper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/dumper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/dumper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/dumper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/emitter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/emitter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/emitter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/emitter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/events.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/events.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/loader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/loader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/loader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/loader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/nodes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/nodes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/nodes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/nodes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/reader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/reader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/reader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/reader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/representer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/representer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/representer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/representer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/resolver.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/resolver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/resolver.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/resolver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/scanner.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/scanner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/scanner.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/scanner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/serializer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/serializer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/serializer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/serializer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/tokens.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/tokens.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/PyYAML/yaml/tokens.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/PyYAML/yaml/tokens.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/cmdline.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/cmdline.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/cmdline.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/cmdline.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/console.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/console.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/console.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/console.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/filter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/filter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/filter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/filter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/filters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/filters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/filters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/filters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/_mapping.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/_mapping.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/_mapping.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/_mapping.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/bbcode.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/bbcode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/bbcode.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/bbcode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/groff.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/groff.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/groff.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/groff.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/html.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/html.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/html.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/html.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/img.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/img.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/img.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/img.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/irc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/irc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/irc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/irc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/latex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/latex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/latex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/latex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/other.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/other.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/other.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/other.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/pangomarkup.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/pangomarkup.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/pangomarkup.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/pangomarkup.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/rtf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/rtf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/rtf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/rtf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/svg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/svg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/svg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/svg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal256.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal256.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal256.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/formatters/terminal256.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/javascript.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/javascript.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/javascript.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/javascript.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/jsx.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/jsx.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/jsx.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/jsx.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/kusto.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/kusto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/kusto.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/kusto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/ldap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/ldap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/ldap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/ldap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lean.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lean.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lean.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lean.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lisp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lisp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lisp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/lisp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/prql.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/prql.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/prql.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/prql.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vip.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vip.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vip.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vip.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vyper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vyper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vyper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/lexers/vyper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/modeline.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/modeline.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/modeline.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/modeline.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/plugin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/plugin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/plugin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/plugin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/regexopt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/regexopt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/regexopt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/regexopt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/scanner.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/scanner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/scanner.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/scanner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/sphinxext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/sphinxext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/sphinxext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/sphinxext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/style.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/style.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/style.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/style.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/styles/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/styles/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/styles/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/styles/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/unistring.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/unistring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/unistring.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/unistring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Pygments/pygments/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Pygments/pygments/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/RPi.GPIO/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/RPi.GPIO/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/RPi.GPIO/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/RPi.GPIO/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/GPIO/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/GPIO/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/GPIO/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/GPIO/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/RPi.GPIO/RPi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__main__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__main__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__main__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/__main__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/Send2Trash/send2trash/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/Send2Trash/send2trash/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/TgCrypto/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/TgCrypto/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/TgCrypto/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/TgCrypto/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/TgCrypto/tgcrypto/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/TgCrypto/tgcrypto/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/TgCrypto/tgcrypto/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/TgCrypto/tgcrypto/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/session.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/session.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/session.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/csrf/session.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/choices.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/choices.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/choices.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/choices.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/datetime.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/datetime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/datetime.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/datetime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/form.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/form.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/form.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/form.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/list.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/list.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/list.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/list.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/numeric.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/numeric.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/numeric.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/numeric.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/simple.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/simple.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/simple.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/fields/simple.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/form.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/form.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/form.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/form.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/i18n.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/i18n.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/i18n.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/i18n.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/meta.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/meta.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/meta.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/meta.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/validators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/validators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/validators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/validators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WTForms/wtforms/widgets/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/acceptparse.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/acceptparse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/acceptparse.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/acceptparse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/byterange.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/byterange.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/byterange.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/byterange.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/cachecontrol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/cachecontrol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/cachecontrol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/cachecontrol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/cookies.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/cookies.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/cookies.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/cookies.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/datetime_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/datetime_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/datetime_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/datetime_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/dec.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/dec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/dec.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/dec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/descriptors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/descriptors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/descriptors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/descriptors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/etag.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/etag.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/etag.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/etag.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/exc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/exc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/exc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/exc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/headers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/headers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/headers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/headers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/multidict.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/multidict.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/multidict.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/multidict.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/response.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/response.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/response.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/response.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/static.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/static.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/static.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/static.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebOb/webob/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebOb/webob/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebTest/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/WebTest/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebTest/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/WebTest/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/app.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/app.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/app.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/app.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/debugapp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/debugapp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/debugapp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/debugapp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/forms.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/forms.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/forms.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/forms.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/http.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/http.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/http.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/http.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/response.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/response.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/WebTest/webtest/response.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/WebTest/webtest/response.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/os.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/os.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/os.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/os.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/ospath.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/ospath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/ospath.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/ospath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/temptypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/temptypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/temptypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/tempfile/temptypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/binary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/binary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/binary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/binary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aiofiles/aiofiles/threadpool/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/BufferedTokenStream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/BufferedTokenStream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/BufferedTokenStream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/BufferedTokenStream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenFactory.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenFactory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenFactory.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenFactory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenStream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenStream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenStream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/CommonTokenStream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/FileStream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/FileStream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/FileStream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/FileStream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/InputStream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/InputStream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/InputStream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/InputStream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/IntervalSet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/IntervalSet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/IntervalSet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/IntervalSet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/LL1Analyzer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/LL1Analyzer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/LL1Analyzer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/LL1Analyzer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Lexer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Lexer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Lexer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Lexer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ListTokenSource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ListTokenSource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ListTokenSource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ListTokenSource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserInterpreter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserInterpreter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserInterpreter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserInterpreter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserRuleContext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserRuleContext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserRuleContext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/ParserRuleContext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/PredictionContext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/PredictionContext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/PredictionContext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/PredictionContext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Recognizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Recognizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Recognizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Recognizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/RuleContext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/RuleContext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/RuleContext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/RuleContext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/StdinStream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/StdinStream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/StdinStream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/StdinStream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/TokenStreamRewriter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/TokenStreamRewriter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/TokenStreamRewriter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/TokenStreamRewriter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/Utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/_pygrun.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/_pygrun.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/_pygrun.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/_pygrun.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATN.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATN.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATN.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATN.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfig.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfig.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfig.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfig.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfigSet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfigSet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfigSet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNConfigSet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializationOptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializationOptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializationOptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializationOptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNDeserializer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNSimulator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNSimulator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNSimulator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNSimulator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNState.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNState.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNState.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNState.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNType.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNType.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNType.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ATNType.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerATNSimulator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerATNSimulator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerATNSimulator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerATNSimulator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerAction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerAction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerAction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerAction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerActionExecutor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerActionExecutor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerActionExecutor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/LexerActionExecutor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ParserATNSimulator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ParserATNSimulator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ParserATNSimulator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/ParserATNSimulator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/PredictionMode.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/PredictionMode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/PredictionMode.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/PredictionMode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/SemanticContext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/SemanticContext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/SemanticContext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/SemanticContext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/Transition.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/Transition.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/Transition.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/Transition.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/atn/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFA.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFA.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFA.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFA.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFASerializer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFASerializer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFASerializer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFASerializer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFAState.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFAState.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFAState.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/DFAState.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/dfa/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/DiagnosticErrorListener.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/DiagnosticErrorListener.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/DiagnosticErrorListener.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/DiagnosticErrorListener.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorListener.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorListener.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorListener.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorListener.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorStrategy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorStrategy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorStrategy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/ErrorStrategy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/Errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/Errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/Errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/Errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/error/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Chunk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Chunk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Chunk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Chunk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreeMatch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreeMatch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreeMatch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreeMatch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePattern.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePattern.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePattern.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePattern.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePatternMatcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePatternMatcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePatternMatcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/ParseTreePatternMatcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/RuleTagToken.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/RuleTagToken.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/RuleTagToken.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/RuleTagToken.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/TokenTagToken.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/TokenTagToken.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/TokenTagToken.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/TokenTagToken.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Tree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Tree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Tree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Tree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Trees.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Trees.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Trees.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/Trees.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/tree/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPath.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPath.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPathLexer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPathLexer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPathLexer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/XPathLexer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/antlr4-python3-runtime/antlr4/xpath/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/assertpy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/assertpy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/assertpy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/assertpy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/collection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/collection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/collection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/collection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/contains.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/contains.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/contains.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/contains.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/date.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/date.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/date.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/date.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/dict.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/dict.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/dict.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/dict.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/dynamic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/dynamic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/dynamic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/dynamic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/exception.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/exception.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/exception.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/exception.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/extracting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/extracting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/extracting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/extracting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/file.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/file.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/file.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/file.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/helpers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/helpers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/helpers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/helpers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/numeric.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/numeric.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/numeric.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/numeric.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/snapshot.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/snapshot.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/snapshot.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/snapshot.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/string.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/string.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/assertpy/assertpy/string.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/assertpy/assertpy/string.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/atheris/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/atheris/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/atheris/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/atheris/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/function_hooks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/function_hooks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/function_hooks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/function_hooks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/import_hook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/import_hook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/import_hook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/import_hook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/instrument_bytecode.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/instrument_bytecode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/instrument_bytecode.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/instrument_bytecode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/version_dependent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/version_dependent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/atheris/atheris/version_dependent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/atheris/atheris/version_dependent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/asyncify.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/asyncify.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/asyncify.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/asyncify.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/async_token_verifier.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/async_token_verifier.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/async_token_verifier.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/async_token_verifier.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/back_channel_login.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/back_channel_login.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/back_channel_login.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/back_channel_login.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/client_authentication.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/client_authentication.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/client_authentication.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/client_authentication.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/database.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/database.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/database.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/database.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/delegated.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/delegated.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/delegated.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/delegated.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/enterprise.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/enterprise.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/enterprise.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/enterprise.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/get_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/get_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/get_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/get_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/passwordless.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/passwordless.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/passwordless.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/passwordless.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/pushed_authorization_requests.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/pushed_authorization_requests.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/pushed_authorization_requests.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/pushed_authorization_requests.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/revoke_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/revoke_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/revoke_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/revoke_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/social.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/social.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/social.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/social.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/token_verifier.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/token_verifier.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/token_verifier.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/token_verifier.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/users.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/users.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/users.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/authentication/users.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/actions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/actions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/actions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/actions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/async_auth0.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/async_auth0.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/async_auth0.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/async_auth0.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/attack_protection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/attack_protection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/attack_protection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/attack_protection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/auth0.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/auth0.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/auth0.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/auth0.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/blacklists.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/blacklists.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/blacklists.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/blacklists.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/branding.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/branding.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/branding.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/branding.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_grants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_grants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_grants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/client_grants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/clients.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/clients.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/clients.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/clients.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/connections.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/connections.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/connections.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/connections.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/custom_domains.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/custom_domains.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/custom_domains.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/custom_domains.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/device_credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/device_credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/device_credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/device_credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/email_templates.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/email_templates.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/email_templates.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/email_templates.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/emails.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/emails.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/emails.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/emails.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/grants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/grants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/grants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/grants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/guardian.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/guardian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/guardian.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/guardian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/hooks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/hooks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/hooks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/hooks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/jobs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/jobs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/jobs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/jobs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/log_streams.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/log_streams.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/log_streams.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/log_streams.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/logs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/logs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/logs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/logs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/organizations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/organizations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/organizations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/organizations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/prompts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/prompts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/prompts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/prompts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/resource_servers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/resource_servers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/resource_servers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/resource_servers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/roles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/roles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/roles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/roles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules_configs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules_configs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules_configs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/rules_configs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/self_service_profiles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/self_service_profiles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/self_service_profiles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/self_service_profiles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/stats.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/stats.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/stats.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/stats.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tenants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tenants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tenants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tenants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tickets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tickets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tickets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/tickets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/user_blocks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/user_blocks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/user_blocks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/user_blocks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users_by_email.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users_by_email.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users_by_email.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/management/users_by_email.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/rest.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/rest.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/rest.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/rest.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/rest_async.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/rest_async.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/rest_async.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/rest_async.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/auth0-python/auth0/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/auth0-python/auth0/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_context.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_context.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_context.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_context.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_recorder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_recorder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_recorder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/async_recorder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/context.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/context.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/context.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/context.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/daemon_config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/daemon_config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/daemon_config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/daemon_config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/udp_emitter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/udp_emitter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/udp_emitter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/emitters/udp_emitter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/exceptions/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/lambda_launcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/lambda_launcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/lambda_launcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/lambda_launcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/default_dynamic_naming.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/default_dynamic_naming.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/default_dynamic_naming.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/default_dynamic_naming.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/dummy_entities.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/dummy_entities.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/dummy_entities.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/dummy_entities.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/entity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/entity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/entity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/entity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/facade_segment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/facade_segment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/facade_segment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/facade_segment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/http.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/http.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/http.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/http.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/noop_traceid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/noop_traceid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/noop_traceid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/noop_traceid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/segment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/segment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/segment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/segment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/subsegment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/subsegment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/subsegment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/subsegment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/throwable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/throwable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/throwable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/throwable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/trace_header.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/trace_header.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/trace_header.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/trace_header.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/traceid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/traceid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/traceid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/models/traceid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/patcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/patcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/patcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/patcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ec2_plugin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ec2_plugin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ec2_plugin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ec2_plugin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ecs_plugin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ecs_plugin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ecs_plugin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/ecs_plugin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/elasticbeanstalk_plugin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/elasticbeanstalk_plugin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/elasticbeanstalk_plugin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/elasticbeanstalk_plugin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/plugins/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/recorder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/recorder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/recorder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/recorder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/connector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/connector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/connector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/connector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/reservoir.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/reservoir.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/reservoir.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/reservoir.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampling_rule.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampling_rule.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampling_rule.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/local/sampling_rule.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/reservoir.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/reservoir.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/reservoir.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/reservoir.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_cache.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_cache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_cache.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_cache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_poller.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_poller.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_poller.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/rule_poller.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampling_rule.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampling_rule.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampling_rule.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/sampling_rule.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/target_poller.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/target_poller.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/target_poller.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/sampling/target_poller.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/default_streaming.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/default_streaming.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/default_streaming.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/streaming/default_streaming.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/atomic_counter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/atomic_counter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/atomic_counter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/atomic_counter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/conversion.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/conversion.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/conversion.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/conversion.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/search_pattern.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/search_pattern.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/search_pattern.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/search_pattern.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/sqs_message_helper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/sqs_message_helper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/sqs_message_helper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/sqs_message_helper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/stacktrace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/stacktrace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/stacktrace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/core/utils/stacktrace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiobotocore/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/middleware.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/middleware.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/middleware.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/aiohttp/middleware.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/boto_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/boto_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/boto_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/boto_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/botocore/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/middleware.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/middleware.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/middleware.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/bottle/middleware.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/dbapi2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/dbapi2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/dbapi2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/dbapi2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/apps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/apps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/apps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/apps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/conf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/conf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/conf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/conf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/db.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/db.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/db.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/db.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/middleware.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/middleware.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/middleware.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/middleware.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/templates.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/templates.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/templates.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/django/templates.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/middleware.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/middleware.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/middleware.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask/middleware.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/query.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/query.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/query.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/flask_sqlalchemy/query.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httplib/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/httpx/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/mysql/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pg8000/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/psycopg2/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymongo/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pymysql/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/pynamodb/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/requests/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/query.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/query.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/query.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/query.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/decorators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/decorators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/decorators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy/util/decorators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlalchemy_core/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/sqlite3/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/ext/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/sdk_config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/sdk_config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/sdk_config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/sdk_config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/aws-xray-sdk/aws_xray_sdk/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/behave/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/behave/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/behave/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/behave/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/behave/behave/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/behave/behave/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/behave/behave/fixture.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/fixture.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/behave/behave/fixture.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/fixture.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/behave/behave/runner.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/runner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/behave/behave/runner.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/runner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/behave/behave/step_registry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/step_registry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/behave/behave/step_registry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/behave/behave/step_registry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/binaryornot/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/binaryornot/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/binaryornot/binaryornot/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/binaryornot/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/binaryornot/binaryornot/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/binaryornot/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/binaryornot/binaryornot/check.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/binaryornot/check.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/binaryornot/binaryornot/check.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/binaryornot/check.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/binaryornot/binaryornot/helpers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/binaryornot/helpers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/binaryornot/binaryornot/helpers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/binaryornot/binaryornot/helpers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/callbacks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/callbacks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/callbacks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/callbacks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/css_sanitizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/css_sanitizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/css_sanitizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/css_sanitizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/html5lib_shim.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/html5lib_shim.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/html5lib_shim.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/html5lib_shim.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/linkifier.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/linkifier.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/linkifier.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/linkifier.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/parse_shim.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/parse_shim.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/parse_shim.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/parse_shim.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/sanitizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/sanitizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/bleach/bleach/sanitizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/bleach/bleach/sanitizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/generic/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/generic/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/cacheutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/cacheutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/cacheutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/cacheutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/debugutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/debugutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/debugutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/debugutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/deprutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/deprutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/deprutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/deprutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/dictutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/dictutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/dictutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/dictutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/easterutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/easterutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/easterutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/easterutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/ecoutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/ecoutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/ecoutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/ecoutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/excutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/excutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/excutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/excutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/fileutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/fileutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/fileutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/fileutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/formatutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/formatutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/formatutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/formatutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/funcutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/funcutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/funcutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/funcutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/gcutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/gcutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/gcutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/gcutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/ioutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/ioutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/ioutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/ioutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/iterutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/iterutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/iterutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/iterutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/jsonutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/jsonutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/jsonutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/jsonutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/listutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/listutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/listutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/listutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/mathutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/mathutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/mathutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/mathutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/mboxutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/mboxutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/mboxutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/mboxutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/namedutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/namedutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/namedutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/namedutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/pathutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/pathutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/pathutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/pathutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/queueutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/queueutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/queueutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/queueutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/setutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/setutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/setutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/setutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/socketutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/socketutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/socketutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/socketutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/statsutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/statsutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/statsutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/statsutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/strutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/strutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/strutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/strutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/tableutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/tableutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/tableutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/tableutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/tbutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/tbutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/tbutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/tbutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/timeutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/timeutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/timeutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/timeutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/typeutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/typeutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/typeutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/typeutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/urlutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/urlutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/boltons/boltons/urlutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/boltons/boltons/urlutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/account_updater_daily_report.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/account_updater_daily_report.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/account_updater_daily_report.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/account_updater_daily_report.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/ach_mandate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/ach_mandate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/ach_mandate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/ach_mandate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/add_on.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/add_on.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/add_on.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/add_on.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/add_on_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/add_on_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/add_on_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/add_on_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/address.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/address.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/address.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/address.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/address_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/address_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/address_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/address_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/amex_express_checkout_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/amex_express_checkout_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/amex_express_checkout_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/amex_express_checkout_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/android_pay_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/android_pay_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/android_pay_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/android_pay_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/apple_pay_options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/attribute_getter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/attribute_getter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/attribute_getter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/attribute_getter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/authorization_adjustment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/authorization_adjustment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/authorization_adjustment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/authorization_adjustment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt_request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt_request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt_request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bank_account_instant_verification_jwt_request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bin_data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bin_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/bin_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/bin_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/blik_alias.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/blik_alias.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/blik_alias.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/blik_alias.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/braintree_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/braintree_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/braintree_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/braintree_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/client_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/client_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/client_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/client_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/client_token_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/client_token_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/client_token_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/client_token_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/configuration.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/configuration.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/configuration.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/configuration.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_paypal_status_changed.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_paypal_status_changed.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_paypal_status_changed.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_paypal_status_changed.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_status_transitioned.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_status_transitioned.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_status_transitioned.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/connected_merchant_status_transitioned.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credentials_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credentials_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credentials_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credentials_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/credit_card_verification_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer_session_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer_session_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/customer_session_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/customer_session_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/descriptor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/descriptor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/descriptor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/descriptor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/disbursement.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/disbursement.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/disbursement.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/disbursement.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/disbursement_detail.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/disbursement_detail.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/disbursement_detail.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/disbursement_detail.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/discount.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/discount.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/discount.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/discount.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/discount_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/discount_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/discount_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/discount_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/evidence.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/evidence.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/evidence.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/evidence.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/paypal_message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/paypal_message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/paypal_message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/paypal_message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/status_history.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/status_history.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/status_history.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_details/status_history.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/dispute_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/dispute_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/document_upload.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/document_upload.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/document_upload.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/document_upload.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/document_upload_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/document_upload_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/document_upload_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/document_upload_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/enriched_customer_data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/enriched_customer_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/enriched_customer_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/enriched_customer_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/environment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/environment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/environment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/environment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/error_codes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/error_codes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/error_codes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/error_codes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/error_result.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/error_result.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/error_result.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/error_result.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/europe_bank_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/europe_bank_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/europe_bank_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/europe_bank_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authentication_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authentication_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authentication_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authentication_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authorization_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authorization_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authorization_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/authorization_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/braintree_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/braintree_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/braintree_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/braintree_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/configuration_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/configuration_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/configuration_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/configuration_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/gateway_timeout_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/gateway_timeout_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/gateway_timeout_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/gateway_timeout_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/connection_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/connection_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/connection_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/connection_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/invalid_response_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/invalid_response_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/invalid_response_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/invalid_response_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/timeout_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/timeout_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/timeout_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/http/timeout_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_challenge_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_challenge_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_challenge_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_challenge_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_signature_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_signature_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_signature_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/invalid_signature_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/not_found_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/not_found_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/not_found_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/not_found_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/request_timeout_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/request_timeout_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/request_timeout_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/request_timeout_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/server_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/server_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/server_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/server_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/service_unavailable_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/service_unavailable_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/service_unavailable_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/service_unavailable_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/test_operation_performed_in_production_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/test_operation_performed_in_production_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/test_operation_performed_in_production_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/test_operation_performed_in_production_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/too_many_requests_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/too_many_requests_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/too_many_requests_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/too_many_requests_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/unexpected_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/unexpected_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/unexpected_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/unexpected_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/upgrade_required_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/upgrade_required_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/upgrade_required_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exceptions/upgrade_required_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_payload.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_payload.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_payload.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_payload.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/exchange_rate_quote_request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/facilitated_details.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/facilitated_details.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/facilitated_details.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/facilitated_details.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/facilitator_details.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/facilitator_details.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/facilitator_details.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/facilitator_details.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/granted_payment_instrument_update.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/granted_payment_instrument_update.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/granted_payment_instrument_update.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/granted_payment_instrument_update.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommendations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommendations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommendations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommendations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommended_payment_option.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommended_payment_option.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommended_payment_option.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/enums/recommended_payment_option.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/billing_address_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/billing_address_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/billing_address_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/billing_address_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_customer_session_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_customer_session_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_customer_session_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_customer_session_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_local_payment_context_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_local_payment_context_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_local_payment_context_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/create_local_payment_context_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_recommendations_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_recommendations_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_recommendations_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_recommendations_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_session_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_session_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_session_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/customer_session_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/monetary_amount_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/monetary_amount_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/monetary_amount_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/monetary_amount_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/payer_info_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/payer_info_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/payer_info_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/payer_info_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_payee_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_payee_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_payee_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_payee_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_purchase_unit_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_purchase_unit_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_purchase_unit_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/paypal_purchase_unit_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/phone_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/phone_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/phone_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/phone_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/shipping_address_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/shipping_address_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/shipping_address_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/shipping_address_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/update_customer_session_input.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/update_customer_session_input.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/update_customer_session_input.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/inputs/update_customer_session_input.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/customer_recommendations_payload.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/customer_recommendations_payload.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/customer_recommendations_payload.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/customer_recommendations_payload.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_recommendation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_recommendation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_recommendation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/types/payment_recommendation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/customer_recommendations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/customer_recommendations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/customer_recommendations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/graphql/unions/customer_recommendations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/iban_bank_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/iban_bank_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/iban_bank_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/iban_bank_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/ids_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/ids_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/ids_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/ids_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/liability_shift.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/liability_shift.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/liability_shift.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/liability_shift.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_completed.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_completed.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_completed.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_completed.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_context_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_expired.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_expired.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_expired.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_expired.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_funded.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_funded.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_funded.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_funded.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_reversed.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_reversed.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_reversed.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_reversed.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_type.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_type.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_type.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/local_payment_type.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/masterpass_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/masterpass_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/masterpass_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/masterpass_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/address_details.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/address_details.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/address_details.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/address_details.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/merchant_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/merchant_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/merchant_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account/merchant_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_account_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/merchant_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/merchant_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/meta_checkout_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/modification.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/modification.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/modification.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/modification.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/monetary_amount.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/monetary_amount.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/monetary_amount.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/monetary_amount.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/oauth_access_revocation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/oauth_access_revocation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/oauth_access_revocation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/oauth_access_revocation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/oauth_credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/oauth_credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/oauth_credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/oauth_credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/oauth_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/oauth_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/oauth_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/oauth_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/package_details.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/package_details.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/package_details.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/package_details.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paginated_collection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paginated_collection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paginated_collection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paginated_collection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paginated_result.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paginated_result.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paginated_result.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paginated_result.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/partner_merchant.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/partner_merchant.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/partner_merchant.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/partner_merchant.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_facilitator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_facilitator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_facilitator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_facilitator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_instrument_type.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_instrument_type.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_instrument_type.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_instrument_type.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_customer_data_updated_metadata.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_customer_data_updated_metadata.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_customer_data_updated_metadata.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_customer_data_updated_metadata.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_nonce_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/payment_method_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_account_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_here.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_here.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_here.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_here.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/paypal_payment_resource_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/plan.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/plan.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/plan.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/plan.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/plan_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/plan_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/plan_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/plan_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/processor_response_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/processor_response_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/processor_response_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/processor_response_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/receiver.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/receiver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/receiver.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/receiver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/resource_collection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/resource_collection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/resource_collection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/resource_collection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/revoked_payment_method_metadata.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/revoked_payment_method_metadata.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/revoked_payment_method_metadata.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/revoked_payment_method_metadata.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/risk_data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/risk_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/risk_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/risk_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/samsung_pay_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/samsung_pay_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/samsung_pay_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/samsung_pay_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sender.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sender.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sender.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sender.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sepa_direct_debit_account_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/settlement_batch_summary_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/signature_service.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/signature_service.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/signature_service.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/signature_service.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/status_event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/status_event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/status_event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/status_event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sub_merchant.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sub_merchant.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/sub_merchant.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/sub_merchant.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_details.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_details.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_details.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_details.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_status_event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_status_event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/subscription_status_event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/subscription_status_event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/successful_result.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/successful_result.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/successful_result.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/successful_result.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/management/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/management/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/authentication_ids.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/authentication_ids.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/authentication_ids.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/authentication_ids.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_defaults.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_defaults.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_defaults.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_defaults.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_numbers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_numbers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_numbers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/credit_card_numbers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/merchant_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/merchant_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/merchant_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/merchant_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/nonces.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/nonces.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/nonces.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/nonces.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/venmo_sdk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/venmo_sdk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/test/venmo_sdk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/test/venmo_sdk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/testing_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/testing_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/testing_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/testing_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/three_d_secure_info.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/three_d_secure_info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/three_d_secure_info.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/three_d_secure_info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_amounts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_amounts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_amounts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_amounts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_details.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_details.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_details.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_details.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_line_item_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_review.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_review.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_review.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_review.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_us_bank_account_request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_us_bank_account_request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transaction_us_bank_account_request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transaction_us_bank_account_request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transfer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transfer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/transfer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/transfer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/unknown_payment_method.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/unknown_payment_method.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/unknown_payment_method.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/unknown_payment_method.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/us_bank_account_verification_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/crypto.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/crypto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/crypto.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/crypto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/datetime_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/datetime_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/datetime_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/datetime_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/experimental.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/experimental.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/experimental.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/experimental.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/generator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/generator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/generator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/generator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/graphql_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/graphql_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/graphql_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/graphql_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/http.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/http.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/http.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/http.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/xml_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/xml_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/util/xml_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/util/xml_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/validation_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/validation_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/validation_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/validation_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/validation_error_collection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/validation_error_collection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/validation_error_collection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/validation_error_collection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/venmo_account.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/venmo_account.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/venmo_account.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/venmo_account.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/venmo_profile_data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/venmo_profile_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/venmo_profile_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/venmo_profile_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/visa_checkout_card.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/visa_checkout_card.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/visa_checkout_card.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/visa_checkout_card.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_notification_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing_gateway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing_gateway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing_gateway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/braintree/braintree/webhook_testing_gateway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cachetools/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/cachetools/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cachetools/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/cachetools/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cachetools/cachetools/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cachetools/cachetools/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cachetools/cachetools/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cachetools/cachetools/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cachetools/cachetools/func.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cachetools/cachetools/func.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cachetools/cachetools/func.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cachetools/cachetools/func.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cachetools/cachetools/keys.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cachetools/cachetools/keys.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cachetools/cachetools/keys.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cachetools/cachetools/keys.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/capturer/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/capturer/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/capturer/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/capturer/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/capturer/capturer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/capturer/capturer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/capturer/capturer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/capturer/capturer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/_cffi_backend.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/_cffi_backend.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/_cffi_backend.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/_cffi_backend.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/backend_ctypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/backend_ctypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/backend_ctypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/backend_ctypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/cffi_opcode.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/cffi_opcode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/cffi_opcode.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/cffi_opcode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/commontypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/commontypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/commontypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/commontypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/cparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/cparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/cparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/cparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/ffiplatform.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/ffiplatform.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/ffiplatform.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/ffiplatform.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/lock.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/lock.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/lock.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/lock.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/model.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/model.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/model.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/model.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/pkgconfig.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/pkgconfig.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/pkgconfig.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/pkgconfig.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/recompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/recompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/recompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/recompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/setuptools_ext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/setuptools_ext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/setuptools_ext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/setuptools_ext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/vengine_cpy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/vengine_cpy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/vengine_cpy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/vengine_cpy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/vengine_gen.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/vengine_gen.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/vengine_gen.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/vengine_gen.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/verifier.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/verifier.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/cffi/cffi/verifier.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/cffi/cffi/verifier.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/channels/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/apps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/apps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/apps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/apps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/consumer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/consumer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/consumer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/consumer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/db.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/db.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/db.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/db.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/management/commands/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/generic/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/management/commands/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/generic/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/generic/http.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/generic/http.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/generic/http.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/generic/http.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/generic/websocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/generic/websocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/generic/websocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/generic/websocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/layers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/layers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/layers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/layers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/security/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/management/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/security/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/management/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/management/commands/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/management/commands/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/management/commands/runworker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/management/commands/runworker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/management/commands/runworker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/management/commands/runworker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/middleware.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/middleware.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/middleware.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/middleware.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/routing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/routing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/routing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/routing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/security/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/security/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/security/websocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/security/websocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/security/websocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/security/websocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/sessions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/sessions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/sessions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/sessions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/application.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/application.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/http.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/http.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/http.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/http.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/live.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/live.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/live.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/live.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/websocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/websocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/testing/websocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/testing/websocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/channels/channels/worker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/worker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/channels/channels/worker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/channels/channels/worker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/chevron/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/chevron/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/chevron/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/chevron/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/main.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/main.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/metadata.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/metadata.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/metadata.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/metadata.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/renderer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/renderer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/renderer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/renderer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/tokenizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/tokenizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/chevron/chevron/tokenizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/chevron/chevron/tokenizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-default-group/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/click-default-group/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-default-group/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/click-default-group/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-default-group/click_default_group.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-default-group/click_default_group.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-default-group/click_default_group.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-default-group/click_default_group.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-log/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/click-log/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-log/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/click-log/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-log/click_log/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-log/click_log/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-log/click_log/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-log/click_log/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-log/click_log/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-log/click_log/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-log/click_log/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-log/click_log/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-log/click_log/options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-log/click_log/options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-log/click_log/options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-log/click_log/options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-shell/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/click-shell/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-shell/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/click-shell/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/_cmd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/_cmd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/_cmd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/_cmd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/_compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/_compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/_compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/_compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/decorators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/decorators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-shell/click_shell/decorators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-shell/click_shell/decorators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-spinner/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/click-spinner/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-spinner/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/click-spinner/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-spinner/click_spinner/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-spinner/click_spinner/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-spinner/click_spinner/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-spinner/click_spinner/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_exec.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_exec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_exec.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_exec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_form.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_form.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_form.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/cmd_form.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/index.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/index.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/index.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/index.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/input_fields.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/input_fields.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/resources/input_fields.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/resources/input_fields.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/web_click_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/web_click_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/click-web/click_web/web_click_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/click-web/click_web/web_click_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorama/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/colorama/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorama/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/colorama/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/ansi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/ansi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/ansi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/ansi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/ansitowin32.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/ansitowin32.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/ansitowin32.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/ansitowin32.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/initialise.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/initialise.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/initialise.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/initialise.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/win32.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/win32.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/win32.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/win32.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/winterm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/winterm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorama/colorama/winterm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorama/colorama/winterm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/ansi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/ansi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/ansi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/ansi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/colors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/colors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/colors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/colors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/styles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/styles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/styles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/styles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/terminal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/terminal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/terminal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/terminal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/colorful/colorful/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/colorful/colorful/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/console_menu.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/console_menu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/console_menu.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/console_menu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_borders.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_borders.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_borders.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_borders.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_margins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_margins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_margins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_margins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_padding.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_padding.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_padding.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_padding.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_style.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_style.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_style.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/format/menu_style.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/command_item.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/command_item.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/command_item.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/command_item.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/external_item.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/external_item.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/external_item.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/external_item.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/function_item.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/function_item.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/function_item.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/function_item.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/selection_item.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/selection_item.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/selection_item.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/selection_item.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/submenu_item.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/submenu_item.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/submenu_item.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/items/submenu_item.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_component.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_component.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_component.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_component.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_formatter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_formatter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_formatter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/menu_formatter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/multiselect_menu.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/multiselect_menu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/multiselect_menu.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/multiselect_menu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/prompt_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/prompt_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/prompt_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/prompt_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/screen.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/screen.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/screen.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/screen.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/selection_menu.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/selection_menu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/selection_menu.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/selection_menu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/data/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/data/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/regex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/regex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/regex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/regex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/url.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/url.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/url.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/validators/url.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/console-menu/consolemenu/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/armenian.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/armenian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/armenian.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/armenian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/bahai.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/bahai.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/bahai.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/bahai.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/coptic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/coptic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/coptic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/coptic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser_data/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/data/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser_data/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/data/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/data/french_republican_days.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/data/french_republican_days.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/data/french_republican_days.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/data/french_republican_days.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/data/positivist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/data/positivist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/data/positivist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/data/positivist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/daycount.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/daycount.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/daycount.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/daycount.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/dublin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/dublin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/dublin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/dublin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/french_republican.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/french_republican.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/french_republican.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/french_republican.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/gregorian.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/gregorian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/gregorian.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/gregorian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/hebrew.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/hebrew.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/hebrew.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/hebrew.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/holidays.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/holidays.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/holidays.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/holidays.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/indian_civil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/indian_civil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/indian_civil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/indian_civil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/islamic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/islamic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/islamic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/islamic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/iso.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/iso.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/iso.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/iso.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/julian.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/julian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/julian.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/julian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/julianday.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/julianday.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/julianday.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/julianday.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/mayan.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/mayan.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/mayan.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/mayan.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/ordinal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/ordinal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/ordinal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/ordinal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/persian.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/persian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/persian.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/persian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/positivist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/positivist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/positivist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/positivist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/convertdate/convertdate/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/convertdate/convertdate/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/croniter/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/croniter/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/croniter/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/croniter/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/croniter/croniter/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/croniter/croniter/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/croniter/croniter/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/croniter/croniter/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/croniter/croniter/croniter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/croniter/croniter/croniter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/croniter/croniter/croniter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/croniter/croniter/croniter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/datauri/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/datauri/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/datauri/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/datauri/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/datauri/datauri/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/datauri/datauri/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/datauri/datauri/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/datauri/datauri/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/datauri/datauri/datauri.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/datauri/datauri/datauri.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/datauri/datauri/datauri.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/datauri/datauri/datauri.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/hijri_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/calendars/jalali_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/conf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/conf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/conf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/conf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/fasttext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/fasttext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/fasttext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/fasttext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/langdetect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/langdetect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/langdetect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/langdetect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/language_mapping.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/language_mapping.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/language_mapping.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/custom_language_detection/language_mapping.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/data/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/data/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/data/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/data/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/data/languages_info.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/data/languages_info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/data/languages_info.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/data/languages_info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/date.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/date.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/date.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/date.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/date_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/date_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/date_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/date_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/freshness_date_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/freshness_date_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/freshness_date_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/freshness_date_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/dictionary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/dictionary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/dictionary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/dictionary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/loader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/loader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/loader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/loader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/locale.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/locale.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/locale.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/locale.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/validation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/validation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/validation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/languages/validation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/detection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/detection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/detection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/detection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/text_detection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/text_detection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/search/text_detection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/search/text_detection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/timezone_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/timezone_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/timezone_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/timezone_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/timezones.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/timezones.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/timezones.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/timezones.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/strptime.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/strptime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/strptime.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/strptime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/time_spans.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/time_spans.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/time_spans.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser/utils/time_spans.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser_data/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser_data/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser_data/settings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser_data/settings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dateparser/dateparser_data/settings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dateparser/dateparser_data/settings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/decorator/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/decorator/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/decorator/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/decorator/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/decorator/decorator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/decorator/decorator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/decorator/decorator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/decorator/decorator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/ElementTree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/ElementTree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/ElementTree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/ElementTree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/cElementTree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/cElementTree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/cElementTree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/cElementTree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatbuilder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatbuilder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatbuilder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatbuilder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatreader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatreader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatreader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/expatreader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/lxml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/lxml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/lxml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/lxml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/minidom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/minidom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/minidom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/minidom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/pulldom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/pulldom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/pulldom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/pulldom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/sax.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/sax.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/sax.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/sax.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/xmlrpc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/xmlrpc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/defusedxml/defusedxml/xmlrpc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/defusedxml/defusedxml/xmlrpc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dirhash/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/dirhash/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dirhash/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/dirhash/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dirhash/dirhash/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dirhash/dirhash/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dirhash/dirhash/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dirhash/dirhash/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dirhash/dirhash/cli.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dirhash/dirhash/cli.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dirhash/dirhash/cli.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dirhash/dirhash/cli.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/conf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/conf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/conf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/conf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/fields.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/fields.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/fields.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/fields.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/filters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/filters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/filters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/filters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/filterset.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/filterset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/filterset.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/filterset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/backends.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/backends.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/backends.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/backends.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filterset.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filterset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filterset.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/rest_framework/filterset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/views.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/views.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/views.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/views.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/widgets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/widgets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-filter/django_filters/widgets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-filter/django_filters/widgets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/admin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/admin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/admin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/admin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/command_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/command_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/command_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/command_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/declarative.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/declarative.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/declarative.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/declarative.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/fields.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/fields.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/fields.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/fields.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/base_formats.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/base_formats.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/base_formats.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/formats/base_formats.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/forms.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/forms.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/forms.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/forms.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/instance_loaders.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/instance_loaders.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/instance_loaders.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/instance_loaders.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/mixins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/mixins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/mixins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/mixins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/resources.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/resources.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/resources.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/resources.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/results.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/results.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/results.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/results.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/signals.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/signals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/signals.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/signals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/commands/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/commands/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/import_export_tags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/import_export_tags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/import_export_tags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/templatetags/import_export_tags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/tmp_storages.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/tmp_storages.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/tmp_storages.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/tmp_storages.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/widgets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/widgets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/import_export/widgets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/import_export/widgets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/commands/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/commands/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/commands/export.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/commands/export.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/commands/export.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/commands/export.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/commands/import.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/commands/import.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/django-import-export/management/commands/import.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/django-import-export/management/commands/import.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/docker/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/build.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/container.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/container.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/container.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/container.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/daemon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/daemon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/daemon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/daemon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/exec_api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/exec_api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/exec_api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/exec_api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/image.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/image.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/image.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/image.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/network.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/network.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/network.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/network.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/plugin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/plugin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/plugin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/plugin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/secret.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/secret.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/secret.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/secret.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/service.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/service.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/service.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/service.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/swarm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/swarm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/swarm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/swarm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/volume.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/volume.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/api/volume.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/api/volume.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/context.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/context.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/context/context.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/context/context.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/store.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/store.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/store.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/store.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/credentials/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/credentials/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/api/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/api/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/configs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/configs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/configs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/configs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/containers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/containers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/containers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/containers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/images.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/images.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/images.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/images.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/networks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/networks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/networks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/networks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/nodes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/nodes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/nodes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/nodes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/plugins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/plugins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/plugins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/plugins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/secrets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/secrets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/secrets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/secrets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/services.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/services.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/services.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/services.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/swarm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/swarm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/swarm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/swarm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/volumes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/volumes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/models/volumes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/models/volumes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/tls.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/tls.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/tls.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/tls.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/basehttpadapter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/basehttpadapter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/basehttpadapter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/basehttpadapter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/npipeconn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/npipeconn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/npipeconn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/npipeconn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/npipesocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/npipesocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/npipesocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/npipesocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/sshconn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/sshconn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/sshconn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/sshconn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/unixconn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/unixconn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/transport/unixconn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/transport/unixconn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/containers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/containers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/containers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/containers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/daemon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/daemon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/daemon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/daemon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/healthcheck.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/healthcheck.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/healthcheck.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/healthcheck.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/networks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/networks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/networks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/networks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/services.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/services.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/services.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/services.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/swarm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/swarm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/types/swarm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/types/swarm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/build.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/decorators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/decorators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/decorators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/decorators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/fnmatch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/fnmatch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/fnmatch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/fnmatch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/json_stream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/json_stream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/json_stream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/json_stream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/ports.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/ports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/ports.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/ports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/proxy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/proxy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/proxy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/proxy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/socket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/socket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/socket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/socket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/utils/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/utils/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docker/docker/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docker/docker/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docker/docker/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/dockerfile-parse/dockerfile_parse/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/__main__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/__main__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/__main__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/__main__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/examples.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/examples.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/examples.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/examples.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/frontend.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/frontend.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/frontend.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/frontend.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/io.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/io.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/io.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/io.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/af.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/af.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/af.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/af.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ca.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ca.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ca.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ca.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/cs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/cs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/cs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/cs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/da.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/da.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/da.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/da.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/de.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/de.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/de.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/de.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/en.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/en.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/en.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/en.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/eo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/eo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/eo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/eo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/es.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/es.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/es.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/es.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/fa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/fa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/fa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/fa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/fi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/fi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/fi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/fi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/fr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/fr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/fr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/fr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/gl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/gl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/gl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/gl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/he.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/he.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/he.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/he.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/it.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/it.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/it.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/it.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ja.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ja.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ja.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ja.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ka.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ka.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ka.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ka.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ko.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ko.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ko.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ko.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/lt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/lt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/lt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/lt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/lv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/lv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/lv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/lv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/nl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/nl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/nl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/nl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/pl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/pl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/pl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/pl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/pt_br.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/pt_br.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/pt_br.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/pt_br.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ru.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ru.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/ru.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/ru.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/sk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/sk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/sk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/sk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/sv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/sv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/sv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/sv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/uk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/uk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/uk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/uk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_cn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_cn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_cn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_cn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_tw.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_tw.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_tw.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/languages/zh_tw.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/nodes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/nodes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/nodes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/nodes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/commonmark_wrapper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/commonmark_wrapper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/commonmark_wrapper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/commonmark_wrapper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/docutils_xml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/docutils_xml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/docutils_xml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/docutils_xml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/null.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/null.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/null.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/null.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/recommonmark_wrapper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/recommonmark_wrapper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/recommonmark_wrapper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/recommonmark_wrapper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/admonitions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/admonitions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/admonitions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/admonitions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/body.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/body.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/body.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/body.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/html.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/html.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/html.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/html.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/images.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/images.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/images.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/images.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/misc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/misc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/misc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/misc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/parts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/parts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/parts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/parts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/references.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/references.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/references.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/references.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/tables.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/tables.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/tables.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/directives/tables.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/af.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/af.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/af.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/af.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ca.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ca.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ca.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ca.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/cs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/cs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/cs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/cs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/da.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/da.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/da.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/da.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/de.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/de.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/de.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/de.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/en.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/en.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/en.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/en.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/eo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/eo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/eo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/eo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/es.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/es.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/es.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/es.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/fr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/gl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/gl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/gl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/gl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/he.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/he.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/he.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/he.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/it.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/it.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/it.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/it.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ja.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ja.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ja.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ja.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ka.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ka.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ka.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ka.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ko.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ko.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ko.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ko.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/lv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/nl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/nl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/nl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/nl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pt_br.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pt_br.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pt_br.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/pt_br.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ru.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ru.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ru.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/ru.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/sv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/uk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/uk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/uk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/uk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_cn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_cn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_cn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_cn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_tw.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_tw.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_tw.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/languages/zh_tw.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/roles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/roles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/roles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/roles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/states.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/tableparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/tableparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/tableparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/parsers/rst/tableparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/doctree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/doctree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/doctree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/doctree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/pep.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/pep.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/pep.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/pep.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/standalone.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/standalone.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/readers/standalone.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/readers/standalone.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/statemachine.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/statemachine.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/statemachine.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/statemachine.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/components.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/components.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/components.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/components.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/frontmatter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/frontmatter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/frontmatter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/frontmatter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/misc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/misc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/misc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/misc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/parts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/parts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/parts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/parts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/peps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/peps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/peps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/peps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/references.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/references.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/references.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/references.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/universal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/universal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/universal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/universal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/writer_aux.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/writer_aux.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/transforms/writer_aux.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/transforms/writer_aux.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/_roman_numerals.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/_roman_numerals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/_roman_numerals.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/_roman_numerals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/code_analyzer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/code_analyzer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/code_analyzer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/code_analyzer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/latex2mathml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/latex2mathml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/latex2mathml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/latex2mathml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/math2html.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/math2html.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/math2html.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/math2html.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathalphabet2unichar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathalphabet2unichar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathalphabet2unichar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathalphabet2unichar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathml_elements.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathml_elements.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathml_elements.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/mathml_elements.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2mathml_extern.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2mathml_extern.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2mathml_extern.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2mathml_extern.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2unichar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2unichar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2unichar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/tex2unichar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/unichar2tex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/unichar2tex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/unichar2tex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/math/unichar2tex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/punctuation_chars.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/punctuation_chars.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/punctuation_chars.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/punctuation_chars.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/smartquotes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/smartquotes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/smartquotes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/smartquotes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/urischemes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/urischemes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/utils/urischemes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/utils/urischemes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/_html_base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/_html_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/_html_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/_html_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/docutils_xml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/docutils_xml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/docutils_xml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/docutils_xml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/html4css1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/html4css1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/html4css1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/html4css1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/html5_polyglot/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/html5_polyglot/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/html5_polyglot/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/html5_polyglot/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/latex2e/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/latex2e/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/latex2e/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/latex2e/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/manpage.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/manpage.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/manpage.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/manpage.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/null.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/null.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/null.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/null.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/prepstyles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/prepstyles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/prepstyles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/prepstyles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/pygmentsformatter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/pygmentsformatter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/pygmentsformatter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/odf_odt/pygmentsformatter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/pep_html/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/pep_html/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/pep_html/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/pep_html/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/pseudoxml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/pseudoxml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/pseudoxml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/pseudoxml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/s5_html/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/s5_html/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/s5_html/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/s5_html/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/xetex/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/xetex/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/docutils/docutils/writers/xetex/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/docutils/docutils/writers/xetex/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/editdistance/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/editdistance/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/editdistance/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/editdistance/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/editdistance/editdistance/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/editdistance/editdistance/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/editdistance/editdistance/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/editdistance/editdistance/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/entrypoints/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/entrypoints/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/entrypoints/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/entrypoints/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/entrypoints/entrypoints.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/entrypoints/entrypoints.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/entrypoints/entrypoints.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/entrypoints/entrypoints.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ephem/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/ephem/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ephem/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/ephem/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/_libastro.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/_libastro.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/_libastro.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/_libastro.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/cities.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/cities.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/cities.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/cities.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/stars.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/stars.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ephem/ephem/stars.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ephem/ephem/stars.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/incremental_tree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/incremental_tree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/incremental_tree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/incremental_tree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/xmlfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/xmlfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/xmlfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/et_xmlfile/et_xmlfile/xmlfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/checksum.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/checksum.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/checksum.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/checksum.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/compiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/compiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/compiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/compiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/inclusion.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/inclusion.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/inclusion.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/inclusion.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/injector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/injector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/injector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/injector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/publisher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/publisher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/publisher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/publisher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/registry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/registry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/registry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/registry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/wsgi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/wsgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fanstatic/fanstatic/wsgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fanstatic/fanstatic/wsgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/first/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/first/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/first/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/first/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/first/first.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/first/first.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/first/first.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/first/first.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-bugbear/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-bugbear/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-bugbear/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-bugbear/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-bugbear/bugbear.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-bugbear/bugbear.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-bugbear/bugbear.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-bugbear/bugbear.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-builtins/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-builtins/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-builtins/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-builtins/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-builtins/flake8_builtins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-builtins/flake8_builtins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-builtins/flake8_builtins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-builtins/flake8_builtins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-docstrings/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-docstrings/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-docstrings/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-docstrings/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-docstrings/flake8_docstrings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-docstrings/flake8_docstrings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-docstrings/flake8_docstrings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-docstrings/flake8_docstrings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-rst-docstrings/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-rst-docstrings/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-rst-docstrings/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-rst-docstrings/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-rst-docstrings/flake8_rst_docstrings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-rst-docstrings/flake8_rst_docstrings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-rst-docstrings/flake8_rst_docstrings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-rst-docstrings/flake8_rst_docstrings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_assign.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_assign.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_assign.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_assign.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_bool_op.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_bool_op.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_bool_op.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_bool_op.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_call.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_call.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_call.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_call.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_classdef.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_classdef.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_classdef.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_classdef.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_compare.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_compare.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_compare.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_compare.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_expr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_expr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_expr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_expr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_for.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_for.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_for.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_for.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_if.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_if.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_if.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_if.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_ifexp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_ifexp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_ifexp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_ifexp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_subscript.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_subscript.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_subscript.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_subscript.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_try.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_try.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_try.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_try.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_unary_op.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_unary_op.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_unary_op.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_unary_op.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_with.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_with.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_with.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/rules/ast_with.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-simplify/flake8_simplify/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-typing-imports/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-typing-imports/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-typing-imports/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-typing-imports/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8-typing-imports/flake8_typing_imports.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8-typing-imports/flake8_typing_imports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8-typing-imports/flake8_typing_imports.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8-typing-imports/flake8_typing_imports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/_compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/_compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/_compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/_compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/api/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/api/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/api/legacy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/api/legacy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/api/legacy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/api/legacy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/checker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/checker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/checker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/checker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/defaults.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/defaults.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/defaults.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/defaults.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/discover_files.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/discover_files.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/discover_files.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/discover_files.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/_windows_color.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/_windows_color.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/_windows_color.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/_windows_color.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/default.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/default.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/formatting/default.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/formatting/default.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/application.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/application.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/cli.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/cli.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/cli.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/cli.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/debug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/debug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/debug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/debug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/main/options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/main/options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/aggregator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/aggregator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/aggregator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/aggregator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/manager.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/manager.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/manager.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/manager.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/parse_args.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/parse_args.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/options/parse_args.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/options/parse_args.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/finder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/finder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/finder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/finder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pycodestyle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pycodestyle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pycodestyle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pycodestyle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pyflakes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pyflakes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pyflakes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/pyflakes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/reporter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/reporter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/plugins/reporter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/plugins/reporter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/processor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/processor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/processor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/processor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/statistics.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/statistics.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/statistics.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/statistics.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/style_guide.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/style_guide.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/style_guide.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/style_guide.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/violation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/violation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/flake8/flake8/violation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/flake8/flake8/violation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/_fonttools_shims.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/_fonttools_shims.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/_fonttools_shims.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/_fonttools_shims.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/actions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/actions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/actions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/actions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/annotations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/annotations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/annotations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/annotations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/bidi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/bidi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/bidi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/bidi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/deprecation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/deprecation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/deprecation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/deprecation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/drawing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/drawing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/drawing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/drawing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/encryption.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/encryption.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/encryption.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/encryption.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/enums.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/enums.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/enums.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/enums.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/fonts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/fonts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/fonts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/fonts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/graphics_state.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/graphics_state.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/graphics_state.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/graphics_state.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/html.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/html.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/html.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/html.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_datastructures.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_datastructures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_datastructures.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_datastructures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_parsing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_parsing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_parsing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/image_parsing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/line_break.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/line_break.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/line_break.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/line_break.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/linearization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/linearization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/linearization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/linearization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/outline.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/outline.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/outline.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/outline.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/output.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/output.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/output.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/output.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/pattern.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/pattern.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/pattern.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/pattern.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/prefs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/prefs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/prefs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/prefs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/recorder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/recorder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/recorder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/recorder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/sign.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/sign.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/sign.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/sign.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/structure_tree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/structure_tree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/structure_tree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/structure_tree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/svg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/svg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/svg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/svg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/syntax.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/syntax.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/syntax.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/syntax.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/table.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/table.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/table.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/table.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/template.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/template.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/template.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/template.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/text_region.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/text_region.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/text_region.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/text_region.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/transitions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/transitions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/transitions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/transitions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/unicode_script.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/unicode_script.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/unicode_script.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/unicode_script.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/fpdf2/fpdf/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/fpdf2/fpdf/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/FrameDecorator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/FrameDecorator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/FrameDecorator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/FrameDecorator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/FrameIterator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/FrameIterator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/FrameIterator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/FrameIterator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/breakpoint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/breakpoint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/breakpoint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/breakpoint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/bt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/bt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/bt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/bt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/disassemble.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/disassemble.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/disassemble.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/disassemble.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/evaluate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/evaluate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/evaluate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/evaluate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/events.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/events.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/frames.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/frames.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/frames.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/frames.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/io.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/io.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/io.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/io.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/launch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/launch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/launch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/launch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/locations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/locations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/locations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/locations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/memory.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/memory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/memory.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/memory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/modules.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/modules.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/modules.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/modules.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/next.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/next.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/next.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/next.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/pause.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/pause.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/pause.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/pause.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/scopes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/scopes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/scopes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/scopes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/sources.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/sources.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/sources.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/sources.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/startup.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/startup.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/startup.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/startup.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/state.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/state.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/state.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/state.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/threads.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/threads.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/threads.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/threads.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/typecheck.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/typecheck.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/typecheck.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/typecheck.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/varref.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/varref.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/dap/varref.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/dap/varref.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/disassembler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/disassembler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/disassembler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/disassembler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/events.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/events.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/missing_debug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/missing_debug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/missing_debug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/missing_debug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/missing_files.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/missing_files.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/missing_files.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/missing_files.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/missing_objfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/missing_objfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/missing_objfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/missing_objfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/printing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/printing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/printing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/printing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/prompt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/prompt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/prompt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/prompt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/unwinder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/unwinder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/unwinder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/unwinder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/xmethod.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/xmethod.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gdb/gdb/xmethod.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gdb/gdb/xmethod.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/_config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/_config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/_config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/_config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/_decorator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/_decorator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/_decorator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/_decorator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/_exports.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/_exports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/_exports.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/_exports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/accessors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/accessors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/accessors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/accessors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/array.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/array.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/array.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/array.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/explore.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/explore.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/explore.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/explore.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/geodataframe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/geodataframe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/geodataframe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/geodataframe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/geoseries.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/geoseries.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/geoseries.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/geoseries.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/_geoarrow.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/_geoarrow.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/_geoarrow.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/_geoarrow.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/arrow.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/arrow.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/arrow.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/arrow.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/file.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/file.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/file.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/file.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/sql.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/sql.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/io/sql.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/io/sql.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/plotting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/plotting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/plotting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/plotting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/sindex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/sindex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/sindex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/sindex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/testing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/testing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/testing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/testing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/_show_versions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/_show_versions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/_show_versions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/_show_versions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/clip.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/clip.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/clip.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/clip.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/geocoding.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/geocoding.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/geocoding.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/geocoding.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/hilbert_curve.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/hilbert_curve.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/hilbert_curve.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/hilbert_curve.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/overlay.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/overlay.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/overlay.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/overlay.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/sjoin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/sjoin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/sjoin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/sjoin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/geopandas/geopandas/tools/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_abstract_linkable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_abstract_linkable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_abstract_linkable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_abstract_linkable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/loop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/loop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/loop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/loop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/watcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/watcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/watcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ffi/watcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_fileobjectcommon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_fileobjectcommon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_fileobjectcommon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_fileobjectcommon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_greenlet_primitives.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_greenlet_primitives.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_greenlet_primitives.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_greenlet_primitives.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_hub_local.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_hub_local.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_hub_local.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_hub_local.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_hub_primitives.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_hub_primitives.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_hub_primitives.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_hub_primitives.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ident.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ident.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_ident.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_ident.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_imap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_imap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_imap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_imap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_monitor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_monitor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_monitor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_monitor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_threading.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_threading.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_threading.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_threading.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_waiter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_waiter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/_waiter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/_waiter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/ares.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/ares.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/ares.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/ares.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/backdoor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/backdoor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/backdoor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/backdoor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/baseserver.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/baseserver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/baseserver.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/baseserver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/events.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/events.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/events.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/events.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/fileobject.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/fileobject.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/fileobject.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/fileobject.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/greenlet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/greenlet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/greenlet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/greenlet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/hub.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/hub.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/hub.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/hub.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecffi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecffi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecffi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/corecffi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/watcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/watcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libev/watcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libev/watcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libuv/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libuv/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libuv/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libuv/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libuv/loop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libuv/loop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libuv/loop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libuv/loop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libuv/watcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libuv/watcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/libuv/watcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/libuv/watcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/local.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/local.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/local.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/local.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/lock.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/lock.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/lock.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/lock.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/monkey/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/monkey/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/monkey/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/monkey/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/monkey/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/monkey/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/monkey/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/monkey/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/os.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/os.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/os.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/os.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/pool.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/pool.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/pool.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/pool.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/pywsgi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/pywsgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/pywsgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/pywsgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/queue.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/queue.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/queue.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/queue.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/ares.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/ares.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/ares.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/ares.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/blocking.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/blocking.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/blocking.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/blocking.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/cares.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/cares.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/cares.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/cares.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/dnspython.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/dnspython.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/dnspython.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/dnspython.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/thread.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/thread.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver/thread.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver/thread.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver_ares.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver_ares.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver_ares.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver_ares.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver_thread.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver_thread.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/resolver_thread.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/resolver_thread.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/select.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/select.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/select.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/select.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/selectors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/selectors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/selectors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/selectors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/signal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/signal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/signal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/signal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/socket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/socket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/socket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/socket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/ssl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/ssl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/ssl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/ssl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/subprocess.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/subprocess.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/subprocess.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/subprocess.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/threadpool.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/threadpool.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/threadpool.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/threadpool.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/time.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/time.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/time.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/time.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/timeout.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/timeout.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/timeout.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/timeout.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/win32util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/win32util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gevent/gevent/win32util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gevent/gevent/win32util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_batch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_batch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_batch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_cache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_cache.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_cache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_datastore_query.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_eventloop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_eventloop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_eventloop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_eventloop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/_transaction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/blobstore.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/blobstore.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/blobstore.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/blobstore.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/context.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/context.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/context.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/django_middleware.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/django_middleware.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/django_middleware.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/django_middleware.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/global_cache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/metadata.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/metadata.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/metadata.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/model.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/model.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/model.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/msgprop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/msgprop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/msgprop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/msgprop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/polymodel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/query.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/query.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/query.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/stats.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/stats.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/stats.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/stats.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/tasklets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/google-cloud-ndb/google/cloud/ndb/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/greenlet/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/greenlet/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/greenlet/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/greenlet/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/greenlet/greenlet/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/greenlet/greenlet/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/greenlet/greenlet/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/greenlet/greenlet/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/greenlet/greenlet/_greenlet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/greenlet/greenlet/_greenlet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/greenlet/greenlet/_greenlet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/greenlet/greenlet/_greenlet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_async.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_async.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_async.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_async.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_servicer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_servicer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_servicer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/_servicer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2_grpc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2_grpc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2_grpc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-channelz/grpc_channelz/v1/channelz_pb2_grpc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2_grpc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2_grpc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2_grpc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-health-checking/grpc_health/v1/health_pb2_grpc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_async.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_async.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_async.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_async.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/proto_reflection_descriptor_database.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2_grpc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2_grpc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2_grpc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-reflection/grpc_reflection/v1alpha/reflection_pb2_grpc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/_async.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/_async.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/_async.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/_async.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/rpc_status.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/rpc_status.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/rpc_status.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio-status/grpc_status/rpc_status.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio/grpc/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio/grpc/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio/grpc/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio/grpc/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio/grpc/aio/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio/grpc/aio/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio/grpc/aio/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio/grpc/aio/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/grpcio/grpc/experimental/gevent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/grpcio/grpc/experimental/gevent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/grpcio/grpc/experimental/gevent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/grpcio/grpc/experimental/gevent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/pasterapp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/pasterapp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/pasterapp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/pasterapp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/wsgiapp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/wsgiapp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/wsgiapp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/app/wsgiapp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/arbiter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/arbiter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/arbiter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/arbiter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/lifespan.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/lifespan.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/lifespan.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/lifespan.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/protocol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/protocol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/protocol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/protocol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/unreader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/unreader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/unreader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/unreader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/uwsgi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/uwsgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/uwsgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/uwsgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/websocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/websocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/websocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/asgi/websocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/cli.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/cli.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/cli.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/cli.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/handlers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/handlers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/handlers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/handlers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/protocol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/protocol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/protocol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/protocol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/ctl/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/debug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/debug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/debug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/debug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/app.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/app.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/app.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/app.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/arbiter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/arbiter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/arbiter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/arbiter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/protocol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/protocol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/protocol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/protocol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/stash.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/stash.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/stash.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/stash.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/tlv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/tlv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/tlv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/tlv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/worker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/worker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/worker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/dirty/worker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/glogging.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/glogging.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/glogging.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/glogging.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/body.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/body.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/body.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/body.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/unreader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/unreader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/unreader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/unreader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/wsgi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/wsgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/wsgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http/wsgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/async_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/async_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/async_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/async_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/stream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/stream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/stream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/http2/stream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/statsd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/statsd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/statsd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/instrument/statsd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/pidfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/pidfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/pidfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/pidfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/reloader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/reloader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/reloader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/reloader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/sock.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/sock.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/sock.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/sock.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/systemd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/systemd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/systemd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/systemd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/uwsgi/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base_async.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base_async.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base_async.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/base_async.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gasgi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gasgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gasgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gasgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/ggevent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/ggevent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/ggevent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/ggevent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gthread.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gthread.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gthread.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gthread.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gtornado.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gtornado.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gtornado.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/gtornado.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/sync.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/sync.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/sync.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/sync.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/workertmp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/workertmp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/workertmp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/gunicorn/gunicorn/workers/workertmp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hdbcli/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hdbcli/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hdbcli/hdbcli/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/hdbcli/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hdbcli/hdbcli/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/hdbcli/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/hdbcli/dbapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hdbcli/hdbcli/resultrow.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/hdbcli/resultrow.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hdbcli/hdbcli/resultrow.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hdbcli/hdbcli/resultrow.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hnswlib/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/hnswlib/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hnswlib/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/hnswlib/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hnswlib/hnswlib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hnswlib/hnswlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hnswlib/hnswlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hnswlib/hnswlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_ihatexml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_ihatexml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_ihatexml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_ihatexml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_inputstream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_inputstream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_inputstream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_inputstream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_tokenizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_tokenizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_tokenizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_tokenizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/_base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/py.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/py.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/py.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_trie/py.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/alphabeticalattributes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/alphabeticalattributes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/alphabeticalattributes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/alphabeticalattributes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/inject_meta_charset.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/inject_meta_charset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/inject_meta_charset.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/inject_meta_charset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/lint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/lint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/lint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/lint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/optionaltags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/optionaltags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/optionaltags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/optionaltags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/sanitizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/sanitizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/sanitizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/sanitizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/whitespace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/whitespace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/whitespace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/filters/whitespace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/html5parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/html5parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/html5parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/html5parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/serializer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/serializer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/serializer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/serializer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/genshi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/genshi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/genshi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/genshi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/sax.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/sax.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/sax.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treeadapters/sax.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/dom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/dom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/dom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/dom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree_lxml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree_lxml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree_lxml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treebuilders/etree_lxml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/dom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/dom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/dom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/dom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree_lxml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree_lxml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree_lxml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/etree_lxml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/genshi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/genshi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/genshi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/html5lib/html5lib/treewalkers/genshi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/httplib2/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/httplib2/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/httplib2/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/httplib2/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/certs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/certs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/certs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/certs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/iri2uri.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/iri2uri.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/httplib2/httplib2/iri2uri.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/httplib2/httplib2/iri2uri.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/adapters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/adapters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/adapters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/adapters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/approle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/approle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/approle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/approle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/aws.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/aws.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/aws.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/aws.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/azure.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/azure.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/azure.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/azure.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/cert.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/cert.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/cert.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/cert.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/gcp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/gcp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/gcp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/gcp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/github.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/github.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/github.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/github.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/jwt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/jwt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/jwt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/jwt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/kubernetes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/kubernetes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/kubernetes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/kubernetes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/ldap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/ldap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/ldap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/ldap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/legacy_mfa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/legacy_mfa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/legacy_mfa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/legacy_mfa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/oidc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/oidc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/oidc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/oidc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/okta.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/okta.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/okta.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/okta.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/radius.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/radius.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/radius.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/radius.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/userpass.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/userpass.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/userpass.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/auth_methods/userpass.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/active_directory.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/active_directory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/active_directory.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/active_directory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/aws.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/aws.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/aws.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/aws.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/azure.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/azure.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/azure.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/azure.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/consul.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/consul.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/consul.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/consul.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/database.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/database.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/database.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/database.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/gcp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/gcp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/gcp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/gcp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/identity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/identity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/identity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/identity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v1.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v1.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/kv_v2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ldap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ldap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ldap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ldap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/pki.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/pki.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/pki.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/pki.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/rabbitmq.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/rabbitmq.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/rabbitmq.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/rabbitmq.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ssh.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ssh.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ssh.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/ssh.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transform.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transform.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transform.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transform.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/secrets_engines/transit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/audit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/audit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/audit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/audit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/capabilities.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/capabilities.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/capabilities.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/capabilities.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/health.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/health.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/health.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/health.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/init.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/init.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/init.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/init.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/leader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/leader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/leader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/leader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/lease.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/lease.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/lease.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/lease.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/mount.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/mount.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/mount.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/mount.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/namespace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/namespace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/namespace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/namespace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policies.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policies.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policies.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policies.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/policy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/quota.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/quota.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/quota.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/quota.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/raft.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/raft.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/raft.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/raft.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/seal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/seal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/seal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/seal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/system_backend_mixin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/system_backend_mixin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/system_backend_mixin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/system_backend_mixin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/wrapping.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/wrapping.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/wrapping.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/system_backend/wrapping.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_category.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_category.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_category.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/api/vault_api_category.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/aws_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/aws_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/aws_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/aws_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/approle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/approle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/approle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/approle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/aws.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/aws.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/aws.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/aws.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/azure.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/azure.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/azure.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/azure.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/gcp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/gcp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/gcp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/gcp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/identity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/identity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/identity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/identity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/transit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/transit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/constants/transit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/constants/transit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/v1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/v1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/hvac/hvac/v1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/hvac/hvac/v1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ibm-db/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/ibm-db/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ibm-db/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/ibm-db/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ibm-db/ibm_db.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ibm-db/ibm_db.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ibm-db/ibm_db.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ibm-db/ibm_db.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ibm-db/ibm_db_ctx.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ibm-db/ibm_db_ctx.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ibm-db/ibm_db_ctx.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ibm-db/ibm_db_ctx.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/alarms.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/alarms.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/alarms.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/alarms.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/attr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/attr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/attr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/attr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/cal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/cal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/cal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/cal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/caselessdict.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/caselessdict.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/caselessdict.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/caselessdict.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/enums.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/enums.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/enums.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/enums.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/param.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/param.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/param.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/param.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/parser_tools.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/parser_tools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/parser_tools.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/parser_tools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/prop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/prop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/prop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/prop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids_result.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids_result.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids_result.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/equivalent_timezone_ids_result.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/provider.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/provider.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/provider.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/provider.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/pytz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/pytz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/pytz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/pytz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/windows_to_olson.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/windows_to_olson.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/windows_to_olson.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/windows_to_olson.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/zoneinfo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/zoneinfo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/zoneinfo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/timezone/zoneinfo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/tools.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/tools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/tools.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/tools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/icalendar/icalendar/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/icalendar/icalendar/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/inifile/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/inifile/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/inifile/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/inifile/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/inifile/inifile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/inifile/inifile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/inifile/inifile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/inifile/inifile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/ast.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/ast.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/ast.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/ast.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/functions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/functions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/functions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/functions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/lexer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/lexer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/lexer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/lexer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/visitor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/visitor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jmespath/jmespath/visitor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jmespath/jmespath/visitor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonnet/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/jsonnet/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonnet/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonnet/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonnet/_jsonnet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonnet/_jsonnet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonnet/_jsonnet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonnet/_jsonnet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_format.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_format.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_format.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_format.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_keywords.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_keywords.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_keywords.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_keywords.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_legacy_keywords.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_legacy_keywords.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_legacy_keywords.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_legacy_keywords.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_typing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_typing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_typing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_typing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/cli.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/cli.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/cli.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/cli.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/protocols.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/protocols.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/protocols.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/protocols.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/validators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/validators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jsonschema/jsonschema/validators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jsonschema/jsonschema/validators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jws.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jws.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jws.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jws.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/jwcrypto/jwcrypto/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/acl_resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/acl_resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/acl_resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/acl_resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/config_resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/config_resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/config_resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/config_resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_partitions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_partitions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_partitions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_partitions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_topic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_topic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_topic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/admin/new_topic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/describe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/describe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/describe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/cluster/describe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/describe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/describe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/describe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/configs/describe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/delete.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/delete.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/delete.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/delete.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/describe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/describe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/describe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/describe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list_offsets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list_offsets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list_offsets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/consumer_groups/list_offsets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/describe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/describe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/describe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/log_dirs/describe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/create.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/create.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/create.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/create.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/delete.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/delete.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/delete.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/delete.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/describe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/describe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/describe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/describe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/list.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/list.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/list.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/admin/topics/list.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/consumer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/consumer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/consumer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/consumer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/producer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/producer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/producer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cli/producer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/client_async.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/client_async.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/client_async.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/client_async.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cluster.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cluster.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/cluster.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/cluster.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/codec.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/conn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/conn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/conn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/conn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/fetcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/fetcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/fetcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/fetcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/group.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/group.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/group.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/group.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/subscription_state.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/subscription_state.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/subscription_state.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/consumer/subscription_state.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/abstract.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/abstract.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/abstract.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/abstract.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/range.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/range.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/range.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/range.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/roundrobin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/partition_movements.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sorted_set.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sorted_set.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sorted_set.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sorted_set.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/assignors/sticky/sticky_assignor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/consumer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/consumer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/consumer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/consumer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/heartbeat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/heartbeat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/heartbeat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/heartbeat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/protocol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/protocol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/protocol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/protocol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/subscription.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/subscription.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/subscription.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/coordinator/subscription.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/future.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/future.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/future.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/future.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/compound_stat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/compound_stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/compound_stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/compound_stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/dict_reporter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/dict_reporter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/dict_reporter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/dict_reporter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/kafka_metric.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/kafka_metric.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/kafka_metric.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/kafka_metric.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable_stat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable_stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable_stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/measurable_stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_name.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_name.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_name.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metric_name.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics_reporter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics_reporter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics_reporter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/metrics_reporter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/quota.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/quota.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/quota.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/quota.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/avg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/avg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/avg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/avg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/count.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/count.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/count.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/count.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/histogram.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/histogram.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/histogram.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/histogram.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/max_stat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/max_stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/max_stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/max_stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/min_stat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/min_stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/min_stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/min_stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentiles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentiles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentiles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/percentiles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/rate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/rate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/rate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/rate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sampled_stat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sampled_stat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sampled_stat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sampled_stat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sensor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sensor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sensor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/sensor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/total.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/total.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/total.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/metrics/stats/total.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/default.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/default.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/default.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/partitioner/default.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/future.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/future.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/future.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/future.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/kafka.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/kafka.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/kafka.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/kafka.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/producer_batch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/producer_batch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/producer_batch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/producer_batch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/record_accumulator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/record_accumulator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/record_accumulator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/record_accumulator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/sender.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/sender.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/sender.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/sender.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/transaction_manager.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/transaction_manager.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/transaction_manager.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/producer/transaction_manager.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/abstract.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/abstract.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/abstract.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/abstract.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_offsets_to_txn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_offsets_to_txn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_offsets_to_txn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_offsets_to_txn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_partitions_to_txn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_partitions_to_txn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_partitions_to_txn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/add_partitions_to_txn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/admin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/admin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/admin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/admin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api_versions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api_versions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api_versions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/api_versions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/broker_api_versions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/broker_api_versions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/broker_api_versions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/broker_api_versions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/commit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/commit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/commit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/commit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/end_txn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/end_txn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/end_txn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/end_txn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/fetch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/fetch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/fetch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/fetch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/find_coordinator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/find_coordinator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/find_coordinator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/find_coordinator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/frame.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/frame.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/frame.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/frame.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/group.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/group.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/group.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/group.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/init_producer_id.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/init_producer_id.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/init_producer_id.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/init_producer_id.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/list_offsets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/list_offsets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/list_offsets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/list_offsets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/metadata.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/metadata.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/metadata.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/metadata.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/offset_for_leader_epoch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/offset_for_leader_epoch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/offset_for_leader_epoch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/offset_for_leader_epoch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/produce.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/produce.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/produce.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/produce.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_authenticate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_authenticate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_authenticate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_authenticate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_handshake.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_handshake.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_handshake.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/sasl_handshake.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/struct.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/struct.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/struct.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/struct.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/txn_offset_commit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/txn_offset_commit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/txn_offset_commit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/txn_offset_commit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/protocol/types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/_crc32c.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/_crc32c.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/_crc32c.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/_crc32c.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/abc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/default_records.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/default_records.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/default_records.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/default_records.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/legacy_records.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/legacy_records.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/legacy_records.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/legacy_records.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/memory_records.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/memory_records.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/memory_records.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/memory_records.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/record/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/record/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/abc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/gssapi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/gssapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/gssapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/gssapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/msk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/msk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/msk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/msk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/oauth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/oauth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/oauth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/oauth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/plain.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/plain.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/plain.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/plain.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/scram.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/scram.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/scram.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/scram.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/sspi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/sspi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/sspi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/sasl/sspi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/abstract.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/abstract.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/abstract.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/serializer/abstract.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/socks5_wrapper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/socks5_wrapper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/socks5_wrapper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/socks5_wrapper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/structs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/structs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/structs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/structs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/kafka-python/kafka/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/kafka-python/kafka/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/keyboard/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/keyboard/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/keyboard/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/keyboard/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_canonical_names.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_canonical_names.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_canonical_names.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_canonical_names.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_generic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_generic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_generic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_generic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_keyboard_event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_keyboard_event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_keyboard_event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_keyboard_event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_mouse_event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_mouse_event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/_mouse_event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/_mouse_event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/mouse.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/mouse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/keyboard/keyboard/mouse.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/keyboard/keyboard/mouse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attrDef.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attrDef.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attrDef.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attrDef.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attribute.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attribute.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attribute.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/attribute.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/cursor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/cursor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/cursor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/cursor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/entry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/entry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/entry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/entry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/objectDef.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/objectDef.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/objectDef.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/abstract/objectDef.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/pooling.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/pooling.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/pooling.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/pooling.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/rdns.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/rdns.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/rdns.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/rdns.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/results.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/results.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/results.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/results.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/timezone.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/timezone.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/timezone.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/timezone.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/tls.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/tls.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/tls.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/tls.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/usage.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/usage.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/core/usage.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/core/usage.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/addMembersToGroups.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/addMembersToGroups.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/addMembersToGroups.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/addMembersToGroups.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/dirSync.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/dirSync.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/dirSync.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/dirSync.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/modifyPassword.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/modifyPassword.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/modifyPassword.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/modifyPassword.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/persistentSearch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/persistentSearch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/persistentSearch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/persistentSearch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/removeMembersFromGroups.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/removeMembersFromGroups.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/removeMembersFromGroups.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/removeMembersFromGroups.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/unlockAccount.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/unlockAccount.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/unlockAccount.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/microsoft/unlockAccount.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/addMembersToGroups.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/addMembersToGroups.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/addMembersToGroups.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/addMembersToGroups.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/checkGroupsMemberships.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/checkGroupsMemberships.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/checkGroupsMemberships.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/checkGroupsMemberships.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/endTransaction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/endTransaction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/endTransaction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/endTransaction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/getBindDn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/getBindDn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/getBindDn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/getBindDn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/listReplicas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/listReplicas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/listReplicas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/listReplicas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasGetUniversalPassword.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasGetUniversalPassword.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasGetUniversalPassword.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasGetUniversalPassword.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasSetUniversalPassword.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasSetUniversalPassword.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasSetUniversalPassword.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/nmasSetUniversalPassword.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/partition_entry_count.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/partition_entry_count.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/partition_entry_count.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/partition_entry_count.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/removeMembersFromGroups.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/removeMembersFromGroups.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/removeMembersFromGroups.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/removeMembersFromGroups.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/replicaInfo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/replicaInfo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/replicaInfo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/replicaInfo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/startTransaction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/startTransaction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/startTransaction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/novell/startTransaction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/operation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/operation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/operation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/operation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PagedSearch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PagedSearch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PagedSearch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PagedSearch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PersistentSearch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PersistentSearch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PersistentSearch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/PersistentSearch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/modifyPassword.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/modifyPassword.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/modifyPassword.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/modifyPassword.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/whoAmI.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/whoAmI.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/whoAmI.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/extend/standard/whoAmI.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/abandon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/abandon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/abandon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/abandon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/add.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/add.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/add.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/add.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/bind.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/bind.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/bind.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/bind.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/compare.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/compare.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/compare.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/compare.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/delete.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/delete.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/delete.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/delete.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/extended.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/extended.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/extended.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/extended.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modify.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modify.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modify.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modify.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modifyDn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modifyDn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modifyDn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/modifyDn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/unbind.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/unbind.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/unbind.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/operation/unbind.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/controls.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/controls.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/controls.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/controls.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/convert.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/convert.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/convert.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/convert.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/formatters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/formatters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/formatters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/formatters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/standard.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/standard.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/standard.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/standard.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/validators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/validators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/validators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/formatters/validators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/microsoft.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/microsoft.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/microsoft.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/microsoft.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/novell.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/novell.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/novell.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/novell.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/oid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/oid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/oid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/oid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/persistentSearch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/persistentSearch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/persistentSearch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/persistentSearch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2696.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2696.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2696.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2696.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2849.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2849.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2849.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc2849.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc3062.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc3062.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc3062.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc3062.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4511.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4511.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4511.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4511.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4512.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4512.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4512.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4512.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4527.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4527.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4527.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/rfc4527.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/digestMd5.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/digestMd5.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/digestMd5.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/digestMd5.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/external.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/external.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/external.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/external.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/kerberos.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/kerberos.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/kerberos.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/kerberos.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/plain.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/plain.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/plain.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/plain.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/sasl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/sasl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/sasl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/sasl/sasl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ad2012R2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ad2012R2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ad2012R2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ad2012R2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ds389.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ds389.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ds389.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/ds389.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir888.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir888.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir888.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir888.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir914.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir914.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir914.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/edir914.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/slapd24.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/slapd24.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/slapd24.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/protocol/schemas/slapd24.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asyncStream.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asyncStream.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asyncStream.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asyncStream.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asynchronous.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asynchronous.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asynchronous.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/asynchronous.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/ldifProducer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/ldifProducer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/ldifProducer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/ldifProducer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockAsync.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockAsync.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockAsync.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockAsync.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockBase.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockBase.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockBase.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockBase.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockSync.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockSync.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockSync.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/mockSync.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/restartable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/restartable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/restartable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/restartable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/reusable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/reusable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/reusable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/reusable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeRestartable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeRestartable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeRestartable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeRestartable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeSync.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeSync.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeSync.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/safeSync.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/sync.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/sync.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/sync.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/strategy/sync.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/asn1.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/asn1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/asn1.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/asn1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ciDict.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ciDict.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ciDict.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ciDict.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/conv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/conv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/conv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/conv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/dn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/dn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/dn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/dn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/hashed.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/hashed.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/hashed.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/hashed.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/log.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/log.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/log.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/log.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ntlm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ntlm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ntlm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/ntlm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/port_validators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/port_validators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/port_validators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/port_validators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/repr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/repr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/repr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/repr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/tls_backport.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/tls_backport.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/tls_backport.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/tls_backport.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/uri.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/uri.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/uri.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/utils/uri.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ldap3/ldap3/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ldap3/ldap3/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lunardate/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/lunardate/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lunardate/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/lunardate/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lunardate/lunardate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lunardate/lunardate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lunardate/lunardate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lunardate/lunardate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua51.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua51.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua51.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua51.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua52.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua52.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua52.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua52.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua53.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua53.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua53.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua53.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua54.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua54.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/lua54.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/lua54.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/luajit20.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/luajit20.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/luajit20.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/luajit20.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/luajit21.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/luajit21.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/luajit21.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/luajit21.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lupa/lupa/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lupa/lupa/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lzstring/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/lzstring/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lzstring/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/lzstring/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/lzstring/lzstring/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/lzstring/lzstring/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/lzstring/lzstring/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/lzstring/lzstring/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/httpclient.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/httpclient.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/httpclient.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/httpclient.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/mixins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/mixins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/mixins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/mixins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/model.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/model.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/model.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/model.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/protocol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/protocol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/protocol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/protocol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching_rules.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching_rules.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching_rules.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/m3u8/m3u8/version_matching_rules.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mock/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/mock/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mock/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/mock/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mock/mock/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mock/mock/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mock/mock/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mock/mock/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mock/mock/backports.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mock/mock/backports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mock/mock/backports.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mock/mock/backports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mock/mock/mock.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mock/mock/mock.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mock/mock/mock.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mock/mock/mock.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mypy-extensions/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/mypy-extensions/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mypy-extensions/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/mypy-extensions/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mypy-extensions/mypy_extensions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mypy-extensions/mypy_extensions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mypy-extensions/mypy_extensions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mypy-extensions/mypy_extensions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_mysql.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_mysql.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_mysql.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/_mysql.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/connections.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/connections.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/connections.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/connections.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CLIENT.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CLIENT.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CLIENT.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CLIENT.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CR.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CR.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CR.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/CR.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/ER.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/ER.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/ER.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/ER.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FIELD_TYPE.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FIELD_TYPE.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FIELD_TYPE.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FIELD_TYPE.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FLAG.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FLAG.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FLAG.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/FLAG.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/constants/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/converters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/converters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/converters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/converters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/cursors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/cursors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/cursors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/cursors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/release.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/release.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/release.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/release.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/times.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/times.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/times.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/mysqlclient/MySQLdb/times.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoid/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/nanoid/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoid/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoid/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/algorithm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/algorithm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/algorithm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/algorithm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/generate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/generate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/generate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/generate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/method.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/method.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/method.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/method.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/non_secure_generate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/non_secure_generate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/non_secure_generate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/non_secure_generate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/resources.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/resources.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoid/nanoid/resources.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoid/nanoid/resources.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/digital_twin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/digital_twin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/digital_twin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/digital_twin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/discovery.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/discovery.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/discovery.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/discovery.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/nanoleaf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/nanoleaf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/nanoleaf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/nanoleaf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/cli.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/cli.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/cli.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/cli.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/subnet_splitter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/subnet_splitter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/subnet_splitter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/contrib/subnet_splitter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/ieee.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/ieee.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/ieee.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/eui/ieee.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/fbsocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/fbsocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/fbsocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/fbsocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/glob.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/glob.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/glob.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/glob.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/iana.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/iana.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/iana.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/iana.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/nmap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/nmap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/nmap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/nmap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/rfc1924.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/rfc1924.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/rfc1924.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/rfc1924.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/sets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/sets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/sets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/ip/sets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui48.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui48.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui48.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui48.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui64.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui64.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui64.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/eui64.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv4.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv4.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv4.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv4.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv6.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv6.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv6.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netaddr/netaddr/strategy/ipv6.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netifaces/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/netifaces/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netifaces/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/netifaces/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/netifaces/netifaces.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/netifaces/netifaces.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/netifaces/netifaces.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/netifaces/netifaces.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/_typing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/_typing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/_typing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/_typing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clique.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clique.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clique.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clique.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clustering_coefficient.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clustering_coefficient.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clustering_coefficient.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/clustering_coefficient.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/connectivity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/connectivity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/connectivity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/connectivity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/density.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/density.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/density.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/density.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/distance_measures.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/distance_measures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/distance_measures.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/distance_measures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/dominating_set.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/dominating_set.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/dominating_set.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/dominating_set.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/kcomponents.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/kcomponents.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/kcomponents.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/kcomponents.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/matching.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/matching.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/matching.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/matching.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/maxcut.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/maxcut.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/maxcut.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/maxcut.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/ramsey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/ramsey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/ramsey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/ramsey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/steinertree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/steinertree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/steinertree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/steinertree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/traveling_salesman.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/traveling_salesman.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/traveling_salesman.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/traveling_salesman.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/treewidth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/treewidth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/treewidth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/treewidth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/vertex_cover.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/vertex_cover.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/vertex_cover.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/approximation/vertex_cover.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/connectivity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/connectivity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/connectivity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/connectivity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/correlation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/correlation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/correlation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/correlation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/mixing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/mixing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/mixing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/mixing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/neighbor_degree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/neighbor_degree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/neighbor_degree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/neighbor_degree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/pairs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/pairs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/pairs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/assortativity/pairs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/asteroidal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/asteroidal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/asteroidal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/asteroidal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/basic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/basic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/basic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/basic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/centrality.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/centrality.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/centrality.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/centrality.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/cluster.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/cluster.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/cluster.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/cluster.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/covering.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/covering.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/covering.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/covering.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/edgelist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/edgelist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/edgelist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/edgelist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/extendability.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/extendability.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/extendability.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/extendability.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/generators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/generators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/generators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/generators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/link_analysis.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/link_analysis.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/link_analysis.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/link_analysis.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matching.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matching.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matching.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matching.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/matrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/projection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/projection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/projection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/projection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/redundancy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/redundancy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/redundancy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/redundancy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/spectral.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/spectral.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/spectral.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bipartite/spectral.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/boundary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/boundary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/boundary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/boundary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bridges.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bridges.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bridges.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/bridges.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/broadcasting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/broadcasting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/broadcasting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/broadcasting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness_subset.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness_subset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness_subset.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/betweenness_subset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/closeness.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/closeness.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/closeness.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/closeness.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness_subset.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness_subset.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness_subset.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_betweenness_subset.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_closeness.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_closeness.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_closeness.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/current_flow_closeness.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/degree_alg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/degree_alg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/degree_alg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/degree_alg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/dispersion.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/dispersion.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/dispersion.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/dispersion.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/eigenvector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/eigenvector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/eigenvector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/eigenvector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/flow_matrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/flow_matrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/flow_matrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/flow_matrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/group.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/group.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/group.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/group.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/harmonic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/harmonic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/harmonic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/harmonic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/katz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/katz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/katz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/katz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/laplacian.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/laplacian.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/laplacian.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/laplacian.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/load.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/load.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/load.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/load.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/percolation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/percolation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/percolation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/percolation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/reaching.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/reaching.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/reaching.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/reaching.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/second_order.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/second_order.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/second_order.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/second_order.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/subgraph_alg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/subgraph_alg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/subgraph_alg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/subgraph_alg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/trophic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/trophic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/trophic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/trophic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/voterank_alg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/voterank_alg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/voterank_alg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/centrality/voterank_alg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chains.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chains.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chains.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chains.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chordal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chordal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chordal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/chordal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/clique.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/clique.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/clique.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/clique.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cluster.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cluster.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cluster.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cluster.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/equitable_coloring.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/equitable_coloring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/equitable_coloring.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/equitable_coloring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/greedy_coloring.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/greedy_coloring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/greedy_coloring.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/coloring/greedy_coloring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/communicability_alg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/communicability_alg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/communicability_alg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/communicability_alg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/asyn_fluid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/asyn_fluid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/asyn_fluid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/asyn_fluid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/bipartitions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/bipartitions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/bipartitions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/bipartitions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/centrality.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/centrality.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/centrality.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/centrality.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/community_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/community_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/community_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/community_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/divisive.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/divisive.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/divisive.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/divisive.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/kclique.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/kclique.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/kclique.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/kclique.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/label_propagation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/label_propagation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/label_propagation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/label_propagation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/leiden.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/leiden.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/leiden.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/leiden.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/local.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/local.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/local.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/local.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/louvain.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/louvain.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/louvain.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/louvain.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/lukes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/lukes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/lukes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/lukes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/modularity_max.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/modularity_max.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/modularity_max.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/modularity_max.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/quality.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/quality.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/quality.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/community/quality.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/attracting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/attracting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/attracting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/attracting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/biconnected.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/biconnected.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/biconnected.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/biconnected.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/connected.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/connected.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/connected.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/connected.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/semiconnected.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/semiconnected.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/semiconnected.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/semiconnected.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/strongly_connected.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/strongly_connected.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/strongly_connected.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/strongly_connected.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/weakly_connected.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/weakly_connected.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/weakly_connected.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/components/weakly_connected.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/connectivity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/connectivity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/connectivity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/connectivity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/cuts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/cuts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/cuts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/cuts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/disjoint_paths.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/disjoint_paths.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/disjoint_paths.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/disjoint_paths.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_augmentation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_augmentation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_augmentation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_augmentation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_kcomponents.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_kcomponents.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_kcomponents.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/edge_kcomponents.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcomponents.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcomponents.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcomponents.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcomponents.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcutsets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcutsets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcutsets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/kcutsets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/stoerwagner.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/stoerwagner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/stoerwagner.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/stoerwagner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/connectivity/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/covering.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/covering.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/covering.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/covering.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cuts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cuts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cuts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cuts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cycles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cycles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cycles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/cycles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/d_separation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/d_separation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/d_separation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/d_separation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dag.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dag.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dag.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dag.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_measures.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_measures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_measures.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_measures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_regular.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_regular.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_regular.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/distance_regular.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominance.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominance.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominance.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominance.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominating.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominating.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominating.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/dominating.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/efficiency_measures.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/efficiency_measures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/efficiency_measures.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/efficiency_measures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/euler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/euler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/euler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/euler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/boykovkolmogorov.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/boykovkolmogorov.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/boykovkolmogorov.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/boykovkolmogorov.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/capacityscaling.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/capacityscaling.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/capacityscaling.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/capacityscaling.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/dinitz_alg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/dinitz_alg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/dinitz_alg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/dinitz_alg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/edmondskarp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/edmondskarp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/edmondskarp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/edmondskarp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/gomory_hu.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/gomory_hu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/gomory_hu.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/gomory_hu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/maxflow.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/maxflow.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/maxflow.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/maxflow.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/mincost.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/mincost.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/mincost.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/mincost.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/networksimplex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/networksimplex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/networksimplex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/networksimplex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/preflowpush.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/preflowpush.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/preflowpush.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/preflowpush.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/shortestaugmentingpath.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/shortestaugmentingpath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/shortestaugmentingpath.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/shortestaugmentingpath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/flow/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graph_hashing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graph_hashing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graph_hashing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graph_hashing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graphical.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graphical.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graphical.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/graphical.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hierarchy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hierarchy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hierarchy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hierarchy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hybrid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hybrid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hybrid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/hybrid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isolate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isolate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isolate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isolate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/ismags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/ismags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/ismags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/ismags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorphvf2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorphvf2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorphvf2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/isomorphvf2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/matchhelpers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/matchhelpers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/matchhelpers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/matchhelpers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/temporalisomorphvf2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/temporalisomorphvf2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/temporalisomorphvf2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/temporalisomorphvf2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/tree_isomorphism.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/tree_isomorphism.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/tree_isomorphism.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/tree_isomorphism.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2pp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2pp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2pp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2pp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2userfunc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2userfunc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2userfunc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/isomorphism/vf2userfunc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/hits_alg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/hits_alg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/hits_alg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/hits_alg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/pagerank_alg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/pagerank_alg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/pagerank_alg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_analysis/pagerank_alg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_prediction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_prediction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_prediction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/link_prediction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/lowest_common_ancestors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/lowest_common_ancestors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/lowest_common_ancestors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/lowest_common_ancestors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/matching.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/matching.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/matching.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/matching.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/contraction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/contraction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/contraction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/minors/contraction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/mis.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/mis.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/mis.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/mis.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/moral.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/moral.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/moral.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/moral.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/node_classification.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/node_classification.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/node_classification.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/node_classification.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/non_randomness.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/non_randomness.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/non_randomness.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/non_randomness.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/all.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/all.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/all.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/all.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/binary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/binary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/binary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/binary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/product.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/product.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/product.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/product.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/unary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/unary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/unary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/operators/unary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/perfect_graph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/perfect_graph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/perfect_graph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/perfect_graph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planar_drawing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planar_drawing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planar_drawing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planar_drawing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planarity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planarity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planarity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/planarity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/polynomials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/polynomials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/polynomials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/polynomials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/reciprocity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/reciprocity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/reciprocity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/reciprocity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/regular.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/regular.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/regular.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/regular.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/richclub.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/richclub.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/richclub.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/richclub.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/astar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/astar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/astar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/astar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/dense.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/dense.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/dense.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/dense.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/generic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/generic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/generic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/generic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/unweighted.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/unweighted.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/unweighted.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/unweighted.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/weighted.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/weighted.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/weighted.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/shortest_paths/weighted.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/similarity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/similarity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/similarity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/similarity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/simple_paths.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/simple_paths.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/simple_paths.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/simple_paths.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smallworld.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smallworld.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smallworld.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smallworld.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smetric.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smetric.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smetric.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/smetric.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/sparsifiers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/sparsifiers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/sparsifiers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/sparsifiers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/structuralholes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/structuralholes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/structuralholes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/structuralholes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/summarization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/summarization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/summarization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/summarization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/swap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/swap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/swap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/swap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/threshold.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/threshold.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/threshold.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/threshold.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/time_dependent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/time_dependent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/time_dependent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/time_dependent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tournament.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tournament.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tournament.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tournament.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/beamsearch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/beamsearch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/beamsearch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/beamsearch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/breadth_first_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/breadth_first_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/breadth_first_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/breadth_first_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/depth_first_search.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/depth_first_search.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/depth_first_search.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/depth_first_search.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgebfs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgebfs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgebfs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgebfs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgedfs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgedfs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgedfs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/traversal/edgedfs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/branchings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/branchings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/branchings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/branchings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/coding.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/coding.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/coding.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/coding.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/decomposition.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/decomposition.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/decomposition.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/decomposition.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/distance_measures.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/distance_measures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/distance_measures.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/distance_measures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/mst.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/mst.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/mst.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/mst.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/operations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/operations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/operations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/operations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/recognition.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/recognition.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/recognition.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/tree/recognition.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/triads.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/triads.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/triads.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/triads.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/vitality.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/vitality.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/vitality.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/vitality.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/voronoi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/voronoi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/voronoi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/voronoi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/walks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/walks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/walks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/walks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/wiener.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/wiener.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/wiener.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/algorithms/wiener.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/coreviews.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/coreviews.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/coreviews.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/coreviews.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/digraph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/digraph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/digraph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/digraph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/filters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/filters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/filters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/filters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/function.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/function.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/function.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/function.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/graph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/graph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/graph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/graph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/graphviews.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/graphviews.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/graphviews.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/graphviews.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/multidigraph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/multidigraph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/multidigraph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/multidigraph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/multigraph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/multigraph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/multigraph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/multigraph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/reportviews.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/reportviews.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/classes/reportviews.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/classes/reportviews.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/convert.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/convert.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/convert.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/convert.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/convert_matrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/convert_matrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/convert_matrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/convert_matrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/layout.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/layout.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/layout.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/layout.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_agraph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_agraph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_agraph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_agraph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_latex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_latex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_latex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_latex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pydot.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pydot.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pydot.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pydot.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pylab.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pylab.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pylab.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/drawing/nx_pylab.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/exception.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/exception.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/exception.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/exception.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/atlas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/atlas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/atlas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/atlas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/classic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/classic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/classic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/classic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/cographs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/cographs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/cographs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/cographs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/community.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/community.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/community.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/community.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/degree_seq.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/degree_seq.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/degree_seq.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/degree_seq.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/directed.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/directed.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/directed.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/directed.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/duplication.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/duplication.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/duplication.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/duplication.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/ego.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/ego.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/ego.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/ego.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/expanders.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/expanders.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/expanders.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/expanders.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/geometric.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/geometric.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/geometric.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/geometric.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/harary_graph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/harary_graph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/harary_graph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/harary_graph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/internet_as_graphs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/internet_as_graphs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/internet_as_graphs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/internet_as_graphs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/intersection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/intersection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/intersection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/intersection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/interval_graph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/interval_graph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/interval_graph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/interval_graph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/joint_degree_seq.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/joint_degree_seq.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/joint_degree_seq.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/joint_degree_seq.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/lattice.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/lattice.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/lattice.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/lattice.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/line.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/line.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/line.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/line.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/mycielski.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/mycielski.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/mycielski.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/mycielski.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/nonisomorphic_trees.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/nonisomorphic_trees.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/nonisomorphic_trees.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/nonisomorphic_trees.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_clustered.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_clustered.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_clustered.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_clustered.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_graphs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_graphs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_graphs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/random_graphs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/small.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/small.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/small.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/small.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/social.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/social.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/social.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/social.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/spectral_graph_forge.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/spectral_graph_forge.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/spectral_graph_forge.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/spectral_graph_forge.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/stochastic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/stochastic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/stochastic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/stochastic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/sudoku.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/sudoku.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/sudoku.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/sudoku.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/time_series.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/time_series.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/time_series.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/time_series.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/trees.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/trees.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/trees.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/trees.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/triads.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/triads.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/generators/triads.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/generators/triads.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/lazy_imports.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/lazy_imports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/lazy_imports.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/lazy_imports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/algebraicconnectivity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/algebraicconnectivity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/algebraicconnectivity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/algebraicconnectivity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/attrmatrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/attrmatrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/attrmatrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/attrmatrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/bethehessianmatrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/bethehessianmatrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/bethehessianmatrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/bethehessianmatrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/graphmatrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/graphmatrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/graphmatrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/graphmatrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/laplacianmatrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/laplacianmatrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/laplacianmatrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/laplacianmatrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/modularitymatrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/modularitymatrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/modularitymatrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/modularitymatrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/spectrum.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/spectrum.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/linalg/spectrum.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/linalg/spectrum.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/adjlist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/adjlist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/adjlist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/adjlist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/edgelist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/edgelist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/edgelist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/edgelist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gexf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gexf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gexf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gexf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/gml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graph6.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graph6.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graph6.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graph6.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graphml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graphml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graphml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/graphml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/adjacency.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/adjacency.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/adjacency.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/adjacency.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/cytoscape.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/cytoscape.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/cytoscape.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/cytoscape.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/node_link.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/node_link.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/node_link.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/node_link.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/tree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/tree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/tree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/json_graph/tree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/leda.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/leda.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/leda.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/leda.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/multiline_adjlist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/multiline_adjlist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/multiline_adjlist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/multiline_adjlist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/p2g.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/p2g.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/p2g.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/p2g.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/pajek.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/pajek.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/pajek.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/pajek.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/sparse6.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/sparse6.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/sparse6.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/sparse6.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/readwrite/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/relabel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/relabel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/relabel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/relabel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/backends.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/backends.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/backends.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/backends.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/configs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/configs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/configs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/configs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/decorators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/decorators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/decorators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/decorators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/heaps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/heaps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/heaps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/heaps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/mapped_queue.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/mapped_queue.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/mapped_queue.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/mapped_queue.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/misc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/misc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/misc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/misc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/random_sequence.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/random_sequence.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/random_sequence.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/random_sequence.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/rcm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/rcm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/rcm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/rcm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/union_find.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/union_find.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/networkx/networkx/utils/union_find.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/networkx/networkx/utils/union_find.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/access_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/access_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/access_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/access_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/authorization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/authorization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/authorization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/authorization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/pre_configured.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/pre_configured.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/pre_configured.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/pre_configured.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/request_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/request_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/request_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/request_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/signature_only.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/signature_only.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/signature_only.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/endpoints/signature_only.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/parameters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/parameters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/parameters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/parameters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/request_validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/request_validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/request_validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/request_validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/signature.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/signature.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/signature.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/signature.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth1/rfc5849/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/backend_application.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/backend_application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/backend_application.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/backend_application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/legacy_application.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/legacy_application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/legacy_application.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/legacy_application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/mobile_application.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/mobile_application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/mobile_application.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/mobile_application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/service_application.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/service_application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/service_application.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/service_application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/web_application.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/web_application.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/web_application.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/clients/web_application.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/authorization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/authorization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/authorization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/authorization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/introspect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/introspect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/introspect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/introspect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/metadata.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/metadata.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/metadata.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/metadata.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/pre_configured.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/pre_configured.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/pre_configured.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/pre_configured.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/revocation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/revocation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/revocation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/revocation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/endpoints/token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/authorization_code.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/authorization_code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/authorization_code.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/authorization_code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/client_credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/client_credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/client_credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/client_credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/implicit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/implicit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/implicit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/implicit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/refresh_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/refresh_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/refresh_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/refresh_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/parameters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/parameters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/parameters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/parameters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/request_validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/request_validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/request_validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/request_validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/tokens.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/tokens.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/tokens.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/tokens.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc6749/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/device.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/device.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/device.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/clients/device.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/device_authorization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/device_authorization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/device_authorization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/device_authorization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/pre_configured.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/pre_configured.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/pre_configured.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/endpoints/pre_configured.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/device_code.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/device_code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/device_code.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/grant_types/device_code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/request_validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/request_validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/request_validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/oauth2/rfc8628/request_validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/pre_configured.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/pre_configured.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/pre_configured.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/pre_configured.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/userinfo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/userinfo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/userinfo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/endpoints/userinfo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/authorization_code.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/authorization_code.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/authorization_code.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/authorization_code.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/dispatchers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/dispatchers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/dispatchers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/dispatchers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/hybrid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/hybrid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/hybrid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/hybrid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/implicit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/implicit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/implicit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/implicit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/refresh_token.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/refresh_token.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/refresh_token.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/grant_types/refresh_token.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/request_validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/request_validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/request_validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/request_validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/tokens.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/tokens.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/tokens.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/openid/connect/core/tokens.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/signals.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/signals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/signals.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/signals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/uri_validate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/uri_validate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/oauthlib/oauthlib/uri_validate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/oauthlib/oauthlib/uri_validate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/objgraph/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/objgraph/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/objgraph/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/objgraph/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/objgraph/objgraph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/objgraph/objgraph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/objgraph/objgraph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/objgraph/objgraph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/olefile/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/olefile/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/olefile/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/olefile/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/olefile/olefile/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/olefile/olefile/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/olefile/olefile/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/olefile/olefile/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/olefile/olefile/olefile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/olefile/olefile/olefile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/olefile/olefile/olefile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/olefile/olefile/olefile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/_constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/_constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/_constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/_constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/_writer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/_writer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/_writer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/_writer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/cell.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/cell.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/cell.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/cell.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/read_only.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/read_only.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/read_only.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/read_only.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/rich_text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/rich_text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/rich_text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/rich_text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/cell/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_3d.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_3d.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_3d.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_3d.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/area_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/area_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/area_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/area_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/axis.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/axis.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/axis.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/axis.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bar_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bar_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bar_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bar_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bubble_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/bubble_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/chartspace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/chartspace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/chartspace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/chartspace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/data_source.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/data_source.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/data_source.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/data_source.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/descriptors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/descriptors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/descriptors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/descriptors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/error_bar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/error_bar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/error_bar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/error_bar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/label.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/label.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/label.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/label.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/layout.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/layout.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/layout.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/layout.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/legend.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/legend.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/legend.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/legend.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/line_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/line_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/line_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/line_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/marker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/marker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/marker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/marker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/picture.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/picture.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/picture.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/picture.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pie_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pie_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pie_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pie_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pivot.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pivot.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pivot.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/pivot.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/plotarea.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/plotarea.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/plotarea.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/plotarea.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/print_settings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/print_settings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/print_settings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/print_settings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/radar_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/radar_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/radar_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/radar_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reference.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reference.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reference.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/reference.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/scatter_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/scatter_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series_factory.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series_factory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series_factory.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/series_factory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/shapes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/shapes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/shapes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/shapes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/stock_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/stock_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/stock_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/stock_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/surface_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/surface_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/surface_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/surface_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/title.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/title.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/title.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/title.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/trendline.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/trendline.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/trendline.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/trendline.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/updown_bars.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/updown_bars.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/updown_bars.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chart/updown_bars.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/chartsheet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/chartsheet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/custom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/custom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/custom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/custom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/properties.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/properties.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/properties.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/properties.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/protection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/protection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/protection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/protection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/publish.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/publish.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/publish.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/publish.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/relation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/relation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/relation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/relation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/views.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/views.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/views.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/chartsheet/views.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/author.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/author.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/author.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/author.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comment_sheet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comment_sheet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comments.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comments.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comments.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/comments.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/shape_writer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/shape_writer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/shape_writer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/comments/shape_writer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/abc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/numbers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/numbers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/numbers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/numbers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/product.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/product.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/product.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/product.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/singleton.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/singleton.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/singleton.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/singleton.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/strings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/strings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/strings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/compat/strings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/container.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/container.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/container.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/container.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/excel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/excel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/excel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/excel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/namespace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/namespace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/namespace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/namespace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/nested.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/nested.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/nested.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/nested.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/sequence.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/sequence.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/sequence.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/sequence.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/serialisable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/serialisable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/slots.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/slots.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/slots.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/descriptors/slots.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/colors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/colors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/colors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/colors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/connector.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/connector.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/connector.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/connector.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/drawing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/drawing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/drawing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/drawing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/effect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/effect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/effect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/effect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/fill.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/fill.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/fill.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/fill.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/geometry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/geometry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/geometry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/geometry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/graphic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/graphic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/graphic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/graphic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/image.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/image.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/image.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/image.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/line.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/line.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/line.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/line.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/picture.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/picture.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/picture.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/picture.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/properties.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/properties.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/properties.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/properties.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/relation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/relation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/relation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/relation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/xdr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/xdr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/xdr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/drawing/xdr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/formatting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/formatting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/formatting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/formatting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/rule.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/rule.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/rule.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formatting/rule.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/tokenizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/tokenizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/tokenizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/tokenizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/translate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/translate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/translate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/formula/translate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/custom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/custom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/custom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/custom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/extended.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/extended.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/extended.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/extended.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/interface.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/interface.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/interface.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/interface.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/manifest.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/manifest.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/manifest.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/manifest.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/relationship.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/relationship.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/relationship.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/relationship.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/workbook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/workbook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/workbook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/packaging/workbook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/cache.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/cache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/cache.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/cache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/fields.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/fields.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/fields.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/fields.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/record.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/record.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/record.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/record.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/table.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/table.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/table.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/pivot/table.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/drawings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/drawings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/drawings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/drawings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/excel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/excel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/excel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/excel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/strings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/strings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/strings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/strings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/workbook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/workbook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/workbook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/reader/workbook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/alignment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/alignment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/alignment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/alignment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/borders.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/borders.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/borders.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/borders.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/builtins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/builtins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/builtins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/builtins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/cell_style.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/cell_style.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/cell_style.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/cell_style.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/colors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/colors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/colors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/colors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/differential.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/differential.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/differential.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/differential.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fills.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fills.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fills.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fills.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fonts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fonts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fonts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/fonts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/named_styles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/named_styles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/named_styles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/named_styles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/numbers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/numbers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/numbers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/numbers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/protection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/protection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/protection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/protection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/proxy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/proxy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/proxy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/proxy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/styleable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/styleable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/styleable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/styleable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/stylesheet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/stylesheet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/stylesheet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/stylesheet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/table.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/table.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/table.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/styles/table.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/bound_dictionary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/bound_dictionary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/bound_dictionary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/bound_dictionary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/cell.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/cell.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/cell.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/cell.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/dataframe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/dataframe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/dataframe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/dataframe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/datetime.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/datetime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/datetime.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/datetime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/escape.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/escape.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/escape.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/escape.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/formulas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/formulas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/formulas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/formulas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/indexed_list.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/indexed_list.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/indexed_list.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/indexed_list.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/inference.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/inference.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/inference.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/inference.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/protection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/protection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/protection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/protection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/units.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/units.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/units.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/utils/units.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/_writer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/_writer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/_writer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/_writer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/child.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/child.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/child.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/child.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/defined_name.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/defined_name.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/defined_name.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/defined_name.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/external.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_link/external.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_reference.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_reference.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_reference.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/external_reference.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/function_group.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/function_group.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/function_group.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/function_group.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/properties.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/properties.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/properties.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/properties.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/protection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/protection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/protection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/protection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/smart_tags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/smart_tags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/views.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/views.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/views.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/views.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/web.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/web.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/web.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/web.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/workbook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/workbook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/workbook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/workbook/workbook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_read_only.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_read_only.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_read_only.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_read_only.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_reader.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_reader.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_reader.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_reader.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_write_only.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_write_only.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_write_only.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_write_only.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_writer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_writer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_writer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/_writer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_range.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_range.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_range.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_range.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_watch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/cell_watch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/controls.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/controls.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/controls.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/controls.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/copier.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/copier.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/copier.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/copier.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/custom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/custom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/custom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/custom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/datavalidation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/datavalidation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/dimensions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/dimensions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/drawing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/drawing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/drawing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/drawing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/filters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/filters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/filters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/filters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/formula.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/formula.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/formula.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/formula.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/header_footer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/header_footer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/hyperlink.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/hyperlink.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/merge.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/merge.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/merge.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/merge.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/ole.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/ole.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/ole.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/ole.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/page.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/page.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/page.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/page.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/pagebreak.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/pagebreak.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/picture.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/picture.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/picture.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/picture.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/print_settings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/print_settings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/print_settings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/print_settings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/properties.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/properties.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/properties.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/properties.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/protection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/protection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/protection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/protection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/related.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/related.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/related.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/related.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/scenario.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/scenario.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/scenario.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/scenario.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/smart_tag.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/smart_tag.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/table.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/table.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/table.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/table.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/views.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/views.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/views.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/views.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/worksheet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/worksheet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/worksheet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/worksheet/worksheet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/excel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/excel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/excel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/excel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/theme.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/theme.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/theme.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/writer/theme.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/_functions_overloads.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/_functions_overloads.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/_functions_overloads.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/_functions_overloads.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/functions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/functions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/functions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/openpyxl/openpyxl/xml/functions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/peewee/playhouse/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/peewee/playhouse/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/tags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/tags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/tags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/ext/tags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/api_check.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/api_check.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/api_check.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/api_check.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/scope_check.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/scope_check.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/scope_check.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/harness/scope_check.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/logs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/logs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/logs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/logs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/binary_propagator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/binary_propagator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/binary_propagator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/binary_propagator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/context.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/context.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/context.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/context.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/propagator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/propagator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/propagator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/propagator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/span.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/span.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/span.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/span.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/text_propagator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/text_propagator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/text_propagator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/text_propagator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/tracer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/tracer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/tracer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/mocktracer/tracer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/propagation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/propagation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/propagation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/propagation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_manager.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_manager.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_manager.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_manager.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/asyncio.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/asyncio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/asyncio.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/asyncio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/contextvars.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/contextvars.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/contextvars.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/contextvars.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/gevent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/gevent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/gevent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/gevent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/tornado.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/tornado.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/tornado.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/scope_managers/tornado.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/span.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/span.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/span.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/span.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/tags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/tags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/tags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/tags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/tracer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/tracer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/opentracing/opentracing/tracer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/opentracing/opentracing/tracer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/_winapi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/_winapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/_winapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/_winapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/agent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/agent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/agent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/agent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_handler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_handler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_handler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_handler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_strategy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_strategy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_strategy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/auth_strategy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ber.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ber.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ber.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ber.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/buffered_pipe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/buffered_pipe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/buffered_pipe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/buffered_pipe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/channel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/channel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/channel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/channel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/compress.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/compress.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/compress.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/compress.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ecdsakey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ecdsakey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ecdsakey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ecdsakey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ed25519key.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ed25519key.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ed25519key.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ed25519key.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/file.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/file.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/file.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/file.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/hostkeys.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/hostkeys.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/hostkeys.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/hostkeys.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_curve25519.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_curve25519.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_curve25519.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_curve25519.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_ecdh_nist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_ecdh_nist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_ecdh_nist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_ecdh_nist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_gex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_gex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_gex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_gex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group14.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group14.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group14.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group14.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group16.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group16.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group16.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/kex_group16.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/packet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/packet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/packet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/packet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/pipe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/pipe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/pipe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/pipe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/pkey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/pkey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/pkey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/pkey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/primes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/primes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/primes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/primes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/proxy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/proxy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/proxy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/proxy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/rsakey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/rsakey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/rsakey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/rsakey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_attr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_attr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_attr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_attr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_file.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_file.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_file.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_file.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_handle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_handle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_handle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_handle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_si.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_si.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_si.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/sftp_si.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ssh_exception.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ssh_exception.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/ssh_exception.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/ssh_exception.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/transport.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/transport.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/transport.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/transport.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/win_openssh.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/win_openssh.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/win_openssh.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/win_openssh.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/win_pageant.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/win_pageant.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/paramiko/paramiko/win_pageant.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/paramiko/paramiko/win_pageant.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/parsimonious/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/parsimonious/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/expressions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/expressions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/expressions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/expressions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/grammar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/grammar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/grammar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/grammar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/nodes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/nodes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/nodes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/nodes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/parsimonious/parsimonious/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/parsimonious/parsimonious/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/passpy/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/passpy/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/passpy/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/passpy/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/store.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/store.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/store.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/store.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/passpy/passpy/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/passpy/passpy/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/peewee/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/peewee/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/peewee/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/peewee/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/peewee/peewee.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/peewee/peewee.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/peewee/peewee.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/peewee/peewee.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/peewee/playhouse/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/peewee/playhouse/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/peewee/playhouse/flask_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/peewee/playhouse/flask_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/peewee/playhouse/flask_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/peewee/playhouse/flask_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pep8-naming/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pep8-naming/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pep8-naming/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pep8-naming/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pep8-naming/pep8ext_naming.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pep8-naming/pep8ext_naming.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pep8-naming/pep8ext_naming.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pep8-naming/pep8ext_naming.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/ANSI.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/ANSI.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/ANSI.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/ANSI.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/FSM.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/FSM.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/FSM.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/FSM.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/_async.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/_async.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/_async.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/_async.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/expect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/expect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/expect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/expect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/fdpexpect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/fdpexpect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/fdpexpect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/fdpexpect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/popen_spawn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/popen_spawn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/popen_spawn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/popen_spawn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/pty_spawn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/pty_spawn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/pty_spawn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/pty_spawn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/pxssh.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/pxssh.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/pxssh.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/pxssh.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/replwrap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/replwrap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/replwrap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/replwrap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/run.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/run.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/run.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/run.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/screen.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/screen.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/screen.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/screen.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/socket_pexpect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/socket_pexpect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/socket_pexpect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/socket_pexpect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/spawnbase.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/spawnbase.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/spawnbase.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/spawnbase.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pexpect/pexpect/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pexpect/pexpect/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pika/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/asyncio_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/asyncio_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/asyncio_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/asyncio_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/base_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/base_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/base_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/base_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/blocking_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/blocking_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/blocking_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/blocking_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/gevent_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/gevent_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/gevent_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/gevent_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/select_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/select_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/select_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/select_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/tornado_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/tornado_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/tornado_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/tornado_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/twisted_connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/twisted_connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/twisted_connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/twisted_connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/connection_workflow.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/connection_workflow.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/connection_workflow.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/connection_workflow.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/io_services_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/io_services_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/io_services_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/io_services_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/nbio_interface.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/nbio_interface.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/nbio_interface.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/nbio_interface.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/selector_ioloop_adapter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/selector_ioloop_adapter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/selector_ioloop_adapter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/adapters/utils/selector_ioloop_adapter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/amqp_object.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/amqp_object.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/amqp_object.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/amqp_object.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/callback.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/callback.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/callback.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/callback.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/channel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/channel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/channel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/channel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/connection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/connection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/connection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/connection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/credentials.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/credentials.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/credentials.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/credentials.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/delivery_mode.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/delivery_mode.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/delivery_mode.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/delivery_mode.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/diagnostic_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/diagnostic_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/diagnostic_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/diagnostic_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/exchange_type.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/exchange_type.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/exchange_type.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/exchange_type.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/frame.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/frame.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/frame.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/frame.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/heartbeat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/heartbeat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/heartbeat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/heartbeat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/spec.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/spec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/spec.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/spec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/tcp_socket_opts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/tcp_socket_opts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/tcp_socket_opts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/tcp_socket_opts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pika/pika/validators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/validators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pika/pika/validators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pika/pika/validators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/polib/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/polib/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/polib/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/polib/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/polib/polib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/polib/polib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/polib/polib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/polib/polib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pony/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/converting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/converting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/converting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/converting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/app.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/app.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/app.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/app.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/views.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/views.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/flask/example/views.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/flask/example/views.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/asttranslation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/asttranslation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/asttranslation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/asttranslation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbapiprovider.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbapiprovider.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbapiprovider.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbapiprovider.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/integration/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/integration/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/cockroach.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/cockroach.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/cockroach.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/cockroach.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/mysql.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/mysql.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/mysql.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/mysql.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/oracle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/oracle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/oracle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/oracle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/postgres.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/postgres.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/postgres.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/postgres.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/sqlite.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/sqlite.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/sqlite.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbproviders/sqlite.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbschema.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbschema.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/dbschema.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/dbschema.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/decompiling.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/decompiling.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/decompiling.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/decompiling.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/thirdparty/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/thirdparty/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/alessandro_bug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/alessandro_bug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/alessandro_bug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/alessandro_bug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bottle_example.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bottle_example.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bottle_example.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bottle_example.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bug_ben.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bug_ben.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bug_ben.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/bug_ben.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/compositekeys.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/compositekeys.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/compositekeys.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/compositekeys.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/demo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/demo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/demo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/demo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/estore.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/estore.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/estore.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/estore.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/inheritance1.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/inheritance1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/inheritance1.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/inheritance1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/numbers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/numbers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/numbers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/numbers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/session01.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/session01.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/session01.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/session01.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university1.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university1.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/examples/university2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/integration/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/integration/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/integration/bottle_plugin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/integration/bottle_plugin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/integration/bottle_plugin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/integration/bottle_plugin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/ormtypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/ormtypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/ormtypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/ormtypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/serialization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/serialization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/serialization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/serialization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/sqlbuilding.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/sqlbuilding.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/sqlbuilding.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/sqlbuilding.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/sqlsymbols.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/sqlsymbols.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/sqlsymbols.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/sqlsymbols.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/sqltranslation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/sqltranslation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/orm/sqltranslation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/orm/sqltranslation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/py23compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/py23compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/py23compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/py23compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/thirdparty/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/thirdparty/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/thirdparty/decorator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/thirdparty/decorator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/thirdparty/decorator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/thirdparty/decorator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/utils/properties.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/utils/properties.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/utils/properties.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/utils/properties.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pony/pony/utils/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/utils/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pony/pony/utils/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pony/pony/utils/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/portpicker/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/portpicker/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/portpicker/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/portpicker/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/portpicker/portpicker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/portpicker/portpicker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/portpicker/portpicker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/portpicker/portpicker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/_upb/_message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/_upb/_message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/_upb/_message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/_upb/_message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/any_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_edition_defaults.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_edition_defaults.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/plugin_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/plugin_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/plugin_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/compiler/plugin_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_database.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_database.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_database.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_database.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pool.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pool.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pool.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pool.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/duration_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/empty_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/empty_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/empty_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/empty_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/field_mask_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/field_mask_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/field_mask_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/field_mask_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/util/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/util/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/api_implementation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/api_implementation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/api_implementation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/api_implementation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/builder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/builder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/builder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/builder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/containers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/containers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/containers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/containers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/enum_type_wrapper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/enum_type_wrapper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/enum_type_wrapper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/enum_type_wrapper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/extension_dict.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/extension_dict.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/extension_dict.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/extension_dict.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/field_mask.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/field_mask.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/field_mask.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/field_mask.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/message_listener.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/message_listener.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/message_listener.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/message_listener.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_edition_defaults.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_edition_defaults.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/python_message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/testing_refleaks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/testing_refleaks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/testing_refleaks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/testing_refleaks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/type_checkers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/type_checkers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/type_checkers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/type_checkers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/well_known_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/wire_format.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/wire_format.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/wire_format.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/internal/wire_format.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/json_format.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/json_format.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/json_format.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/json_format.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message_factory.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message_factory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message_factory.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/message_factory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_builder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_builder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_builder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_builder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_json.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_json.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_json.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_json.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/proto_text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/reflection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/reflection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/reflection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/reflection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/runtime_version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/runtime_version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/runtime_version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/runtime_version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/service_reflection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/service_reflection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/service_reflection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/service_reflection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/source_context_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/source_context_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/source_context_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/source_context_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/struct_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/struct_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/struct_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/struct_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/symbol_database.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/symbol_database.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/symbol_database.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/symbol_database.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_encoding.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_encoding.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_encoding.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_encoding.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_format.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_format.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_format.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/text_format.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/timestamp_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/type_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/type_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/type_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/type_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/unknown_fields.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/unknown_fields.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/unknown_fields.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/unknown_fields.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/util/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/util/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/wrappers_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/wrappers_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/protobuf/google/protobuf/wrappers_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/protobuf/google/protobuf/wrappers_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_ntuples.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_ntuples.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_ntuples.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_ntuples.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psaix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psaix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psaix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psaix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psbsd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psbsd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psbsd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psbsd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_pslinux.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_pslinux.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_pslinux.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_pslinux.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psosx.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psosx.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psosx.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psosx.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psposix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psposix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psposix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psposix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_pssunos.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_pssunos.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_pssunos.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_pssunos.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_aix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_aix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_aix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_aix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_bsd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_bsd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_bsd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_bsd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_linux.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_linux.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_linux.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_linux.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_osx.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_osx.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_osx.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_osx.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_sunos.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_sunos.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_sunos.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_sunos.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_windows.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_windows.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_windows.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_psutil_windows.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_pswindows.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_pswindows.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psutil/psutil/_pswindows.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psutil/psutil/_pswindows.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_ipaddress.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_ipaddress.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_ipaddress.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_ipaddress.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_json.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_json.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_json.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_json.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_psycopg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_range.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_range.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_range.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/_range.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errorcodes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errorcodes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errorcodes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errorcodes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extensions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extensions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extensions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extensions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extras.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extras.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extras.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/extras.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/pool.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/pool.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/pool.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/pool.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/sql.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/sql.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/sql.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/sql.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/tz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/tz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/psycopg2/psycopg2/tz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/psycopg2/psycopg2/tz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/punq/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/punq/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/punq/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/punq/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/punq/punq/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/punq/punq/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/punq/punq/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/punq/punq/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/eoo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/eoo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/eoo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/ber/eoo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/cer/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/der/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/native/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/streaming.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/streaming.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/streaming.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/codec/streaming.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/integer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/integer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/integer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/compat/integer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/debug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/debug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/debug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/debug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/char.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/char.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/char.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/char.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/constraint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/constraint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/constraint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/constraint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedtype.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedtype.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedtype.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedtype.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedval.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedval.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedval.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/namedval.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/opentype.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/opentype.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/opentype.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/opentype.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tag.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tag.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tag.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tag.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tagmap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tagmap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tagmap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/tagmap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/univ.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/univ.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/univ.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/univ.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/useful.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/useful.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/useful.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyasn1/pyasn1/type/useful.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyaudio/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyaudio/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyaudio/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyaudio/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyaudio/pyaudio.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyaudio/pyaudio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyaudio/pyaudio.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyaudio/pyaudio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pycocotools/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pycocotools/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/coco.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/coco.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/coco.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/coco.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/cocoeval.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/cocoeval.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/cocoeval.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/cocoeval.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/mask.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/mask.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pycocotools/pycocotools/mask.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pycocotools/pycocotools/mask.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pycurl/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pycurl/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pycurl/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pycurl/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pycurl/pycurl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pycurl/pycurl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pycurl/pycurl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pycurl/pycurl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyfarmhash/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyfarmhash/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyfarmhash/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyfarmhash/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyfarmhash/farmhash.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyfarmhash/farmhash.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyfarmhash/farmhash.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyfarmhash/farmhash.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__main__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__main__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__main__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/__main__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/checker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/checker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/checker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/checker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/messages.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/messages.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/messages.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/messages.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/reporter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/reporter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/reporter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/reporter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/pyflakes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/pyflakes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/pyflakes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyflakes/pyflakes/scripts/pyflakes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__main__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__main__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__main__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/__main__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/build_main.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/build_main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/build_main.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/build_main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/datastruct.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/datastruct.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/datastruct.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/datastruct.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/splash.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/splash.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/splash.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/building/splash.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/analysis.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/analysis.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/analysis.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/analysis.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/imphookapi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/imphookapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/imphookapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/depend/imphookapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/_parent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/_parent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/_parent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/isolated/_parent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/modulegraph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/modulegraph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/modulegraph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/lib/modulegraph/modulegraph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/conda.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/conda.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/conda.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/conda.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/hooks/tcl_tk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/win32/versioninfo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/win32/versioninfo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/win32/versioninfo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/PyInstaller/utils/win32/versioninfo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/pyi_splash/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/pyi_splash/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyinstaller/pyi_splash/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyinstaller/pyi_splash/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/bks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/bks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/bks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/bks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/jks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/jks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/jks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/jks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/rfc2898.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/rfc2898.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/rfc2898.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/rfc2898.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/rfc7292.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/rfc7292.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/rfc7292.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/rfc7292.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/sun_crypto.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/sun_crypto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/sun_crypto.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/sun_crypto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyjks/jks/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyjks/jks/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyluach/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyluach/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyluach/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyluach/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/dates.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/dates.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/dates.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/dates.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/hebrewcal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/hebrewcal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/hebrewcal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/hebrewcal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/parshios.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/parshios.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/parshios.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/parshios.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyluach/pyluach/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyluach/pyluach/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/_info.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/_info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/_info.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/_info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_dummy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_dummy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_dummy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/keyboard/_dummy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/mouse/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/mouse/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/mouse/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/mouse/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_dummy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_dummy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_dummy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pynput/pynput/mouse/_dummy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyperclip/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyperclip/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyperclip/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyperclip/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyperclip/pyperclip/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyperclip/pyperclip/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyperclip/pyperclip/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyperclip/pyperclip/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyphen/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyphen/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyphen/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyphen/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyphen/pyphen/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyphen/pyphen/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyphen/pyphen/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyphen/pyphen/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/__main__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/__main__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/__main__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/__main__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/rfc2217.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/rfc2217.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/rfc2217.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/rfc2217.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/rs485.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/rs485.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/rs485.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/rs485.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialcli.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialcli.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialcli.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialcli.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialjava.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialjava.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialjava.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialjava.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialposix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialposix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialposix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialposix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialwin32.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialwin32.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/serialwin32.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/serialwin32.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/threaded/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/threaded/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/threaded/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/threaded/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/hexlify_codec.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/hexlify_codec.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/hexlify_codec.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/hexlify_codec.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_linux.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_linux.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_linux.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_linux.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_osx.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_osx.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_osx.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_osx.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_posix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_posix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_posix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_posix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_windows.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_windows.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_windows.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/list_ports_windows.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/miniterm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/miniterm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/tools/miniterm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/tools/miniterm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_alt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_alt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_alt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_alt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_cp2110.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_cp2110.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_cp2110.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_cp2110.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_hwgrep.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_hwgrep.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_hwgrep.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_hwgrep.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_loop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_loop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_loop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_loop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_rfc2217.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_rfc2217.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_rfc2217.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_rfc2217.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_socket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_socket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_socket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_socket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_spy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_spy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_spy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/urlhandler/protocol_spy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/win32.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/win32.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyserial/serial/win32.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyserial/serial/win32.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytest-lazy-fixture/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pytest-lazy-fixture/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytest-lazy-fixture/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pytest-lazy-fixture/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytest-lazy-fixture/pytest_lazyfixture.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pytest-lazy-fixture/pytest_lazyfixture.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytest-lazy-fixture/pytest_lazyfixture.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pytest-lazy-fixture/pytest_lazyfixture.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-crontab/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-crontab/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-crontab/cronlog.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/cronlog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-crontab/cronlog.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/cronlog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-crontab/crontab.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/crontab.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-crontab/crontab.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/crontab.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-crontab/crontabs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/crontabs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-crontab/crontabs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-crontab/crontabs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/_version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/easter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/easter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/easter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/easter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/isoparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/isoparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/isoparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/parser/isoparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/relativedelta.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/relativedelta.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/relativedelta.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/relativedelta.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/rrule.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/rrule.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/rrule.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/rrule.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/_common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/_common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/_common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/_common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/tz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/tz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/tz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/tz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/win.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/win.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/win.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tz/win.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tzwin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tzwin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tzwin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/tzwin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/rebuild.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/rebuild.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/rebuild.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-dateutil/dateutil/zoneinfo/rebuild.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-http-client/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-http-client/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-http-client/python_http_client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/python_http_client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-http-client/python_http_client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/python_http_client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-http-client/python_http_client/client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/python_http_client/client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-http-client/python_http_client/client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/python_http_client/client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-http-client/python_http_client/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/python_http_client/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-http-client/python_http_client/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-http-client/python_http_client/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/jenkins/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/jenkins/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/jenkins/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/jenkins/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/jenkins/plugins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/jenkins/plugins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/jenkins/plugins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/jenkins/plugins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/jenkins/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/jenkins/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jenkins/jenkins/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jenkins/jenkins/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/_asn1.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/_asn1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/_asn1.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/_asn1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/cryptography_backend.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/cryptography_backend.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/cryptography_backend.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/cryptography_backend.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/ecdsa_backend.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/ecdsa_backend.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/ecdsa_backend.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/ecdsa_backend.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/native.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/native.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/native.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/native.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/rsa_backend.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/rsa_backend.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/backends/rsa_backend.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/backends/rsa_backend.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jwe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jwe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jwe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jwe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jwk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jwk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jwk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jwk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jws.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jws.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jws.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jws.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jwt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jwt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/jwt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/jwt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-jose/jose/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-jose/jose/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-nmap/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/python-nmap/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-nmap/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/python-nmap/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-nmap/nmap/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-nmap/nmap/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-nmap/nmap/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-nmap/nmap/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-nmap/nmap/nmap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-nmap/nmap/nmap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-nmap/nmap/nmap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-nmap/nmap/nmap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/X.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/X.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/X.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/X.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/XK.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/XK.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/XK.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/XK.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xatom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xatom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xatom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xatom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xcursorfont.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xcursorfont.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xcursorfont.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xcursorfont.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/Xutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/_typing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/_typing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/_typing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/_typing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/display.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/display.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/display.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/display.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/composite.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/composite.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/composite.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/composite.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/damage.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/damage.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/damage.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/damage.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/dpms.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/dpms.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/dpms.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/dpms.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/ge.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/ge.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/ge.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/ge.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/nvcontrol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/nvcontrol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/nvcontrol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/nvcontrol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/randr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/randr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/randr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/randr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/record.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/record.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/record.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/record.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/res.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/res.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/res.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/res.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/screensaver.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/screensaver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/screensaver.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/screensaver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/security.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/security.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/security.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/security.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/shape.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/shape.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/shape.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/shape.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xfixes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xfixes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xfixes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xfixes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinerama.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinerama.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinerama.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinerama.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinput.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinput.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinput.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xinput.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xtest.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xtest.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xtest.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/ext/xtest.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/apl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/apl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/apl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/apl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/arabic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/arabic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/arabic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/arabic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/cyrillic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/cyrillic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/cyrillic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/cyrillic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/greek.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/greek.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/greek.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/greek.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/hebrew.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/hebrew.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/hebrew.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/hebrew.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/katakana.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/katakana.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/katakana.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/katakana.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/korean.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/korean.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/korean.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/korean.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin1.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin1.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin1.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin1.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin3.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin3.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin3.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin3.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin4.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin4.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin4.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/latin4.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/miscellany.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/miscellany.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/miscellany.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/miscellany.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/publishing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/publishing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/publishing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/publishing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/special.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/special.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/special.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/special.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/technical.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/technical.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/technical.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/technical.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/thai.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/thai.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/thai.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/thai.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xf86.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xf86.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xf86.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xf86.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xk3270.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xk3270.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xk3270.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xk3270.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xkb.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xkb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xkb.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/keysymdef/xkb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/display.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/display.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/display.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/display.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/rq.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/rq.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/rq.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/rq.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/structs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/structs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/structs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/protocol/structs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/rdb.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/rdb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/rdb.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/rdb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/connect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/connect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/connect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/connect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/lock.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/lock.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/lock.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/lock.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/unix_connect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/unix_connect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/unix_connect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/unix_connect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/vms_connect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/vms_connect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/vms_connect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/support/vms_connect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/threaded.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/threaded.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/threaded.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/threaded.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xauth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xauth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xauth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xauth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/colormap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/colormap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/colormap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/colormap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/cursor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/cursor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/cursor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/cursor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/drawable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/drawable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/drawable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/drawable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/fontable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/fontable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/fontable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/fontable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/icccm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/icccm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/icccm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/icccm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/python-xlib/Xlib/xobject/resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytz/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pytz/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytz/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pytz/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/lazy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/lazy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/lazy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/lazy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/reference.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/reference.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/reference.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/reference.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/tzfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/tzfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/tzfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/tzfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/tzinfo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/tzinfo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pytz/pytz/tzinfo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pytz/pytz/tzinfo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/_win32typing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/_win32typing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/_win32typing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/_win32typing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/commctrl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/commctrl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/commctrl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/commctrl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/dde.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/dde.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/dde.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/dde.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/install.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/install.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/install.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/install.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/isapicon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/isapicon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/isapicon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/isapicon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/simple.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/simple.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/simple.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/simple.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/threaded_extension.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/threaded_extension.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/isapi/threaded_extension.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/isapi/threaded_extension.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/mmapfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/mmapfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/mmapfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/mmapfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/mmsystem.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/mmsystem.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/mmsystem.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/mmsystem.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/ntsecuritycon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/ntsecuritycon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/ntsecuritycon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/ntsecuritycon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/odbc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/odbc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/odbc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/odbc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/perfmon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/perfmon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/perfmon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/perfmon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythoncom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythoncom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythoncom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythoncom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/dde.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/dde.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/dde.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/dde.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32ui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32ui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32ui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32ui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32uiole.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32uiole.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32uiole.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pythonwin/win32uiole.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/pywintypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pywintypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/pywintypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/pywintypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/regutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/regutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/regutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/regutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/servicemanager.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/servicemanager.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/servicemanager.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/servicemanager.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/sspicon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/sspicon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/sspicon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/sspicon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/timer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/timer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/timer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/timer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win2kras.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win2kras.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win2kras.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win2kras.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/gen_py/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/gen_py/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/commctrl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/commctrl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/commctrl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/commctrl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/mmsystem.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/mmsystem.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/mmsystem.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/mmsystem.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/ntsecuritycon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/ntsecuritycon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/ntsecuritycon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/ntsecuritycon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/pywintypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/pywintypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/pywintypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/pywintypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/regutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/regutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/regutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/regutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/sspicon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/sspicon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/sspicon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/sspicon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win2kras.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win2kras.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win2kras.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win2kras.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32con.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32con.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32con.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32con.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32cryptcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32cryptcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32cryptcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32cryptcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32evtlogutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32evtlogutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32evtlogutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32evtlogutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32gui_struct.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32gui_struct.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32gui_struct.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32gui_struct.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32inetcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32inetcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32inetcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32inetcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32netcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32netcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32netcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32netcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32pdhquery.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32pdhquery.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32pdhquery.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32pdhquery.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32serviceutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32serviceutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32serviceutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32serviceutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32timezone.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32timezone.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32timezone.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32timezone.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32verstamp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32verstamp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32verstamp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/win32verstamp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winerror.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winerror.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winerror.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winerror.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winioctlcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winioctlcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winioctlcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winioctlcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winnt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winnt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winnt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winnt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winperf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winperf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winperf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winperf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winxptheme.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winxptheme.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/lib/winxptheme.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/lib/winxptheme.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/mmapfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/mmapfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/mmapfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/mmapfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/odbc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/odbc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/odbc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/odbc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/perfmon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/perfmon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/perfmon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/perfmon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/servicemanager.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/servicemanager.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/servicemanager.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/servicemanager.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/timer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/timer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/timer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/timer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32clipboard.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32clipboard.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32clipboard.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32clipboard.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32console.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32console.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32console.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32console.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32cred.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32cred.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32cred.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32cred.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32crypt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32crypt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32crypt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32crypt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32evtlog.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32evtlog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32evtlog.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32evtlog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32file.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32file.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32file.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32file.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32gui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32gui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32gui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32gui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32help.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32help.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32help.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32help.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32inet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32inet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32inet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32inet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32job.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32job.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32job.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32job.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32lz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32lz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32lz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32lz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32net.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32net.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32net.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32net.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32pdh.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32pdh.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32pdh.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32pdh.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32pipe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32pipe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32pipe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32pipe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32print.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32print.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32print.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32print.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32process.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32process.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32process.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32process.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32profile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32profile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32profile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32profile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32ras.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32ras.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32ras.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32ras.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32security.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32security.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32security.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32security.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32service.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32service.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32service.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32service.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32trace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32trace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32trace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32trace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32transaction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32transaction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32transaction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32transaction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32ts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32ts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32ts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32ts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32wnet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32wnet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/win32wnet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/win32wnet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/winxpgui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/winxpgui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32/winxpgui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32/winxpgui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32clipboard.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32clipboard.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32clipboard.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32clipboard.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsicon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsicon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsicon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/adsi/adsicon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/authorization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/authorization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/authorization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/authorization/authorization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/axcontrol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/axcontrol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/axcontrol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axcontrol/axcontrol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/adb.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/adb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/adb.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/adb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/axdebug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/axdebug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/axdebug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/axdebug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/codecontainer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/codecontainer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/codecontainer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/codecontainer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/contexts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/contexts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/contexts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/contexts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/debugger.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/debugger.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/debugger.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/debugger.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/documents.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/documents.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/documents.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/documents.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/expressions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/expressions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/expressions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/expressions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/gateways.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/gateways.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/gateways.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/gateways.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/stackframe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/stackframe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/stackframe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/stackframe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axdebug/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/asputil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/asputil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/asputil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/asputil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/axscript.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/axscript.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/axscript.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/axscript.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/debug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/debug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/debug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/debug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/framework.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/framework.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/framework.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/client/framework.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/axsite.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/axsite.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/axsite.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/axscript/server/axsite.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/bits/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/bits/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/bits/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/bits/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/bits/bits.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/bits/bits.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/bits/bits.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/bits/bits.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/build.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/dynamic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/dynamic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/dynamic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/dynamic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/gencache.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/gencache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/client/gencache.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/client/gencache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/directsound.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/directsound.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/directsound.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/directsound/directsound.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/gen_py/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/gen_py/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifilter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifilter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifilter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifilter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifiltercon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifiltercon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifiltercon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/ifilter/ifiltercon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/internet/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/internet/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/internet/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/internet/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/internet/inetcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/internet/inetcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/internet/inetcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/internet/inetcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/internet/internet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/internet/internet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/internet/internet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/internet/internet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/emsabtags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/emsabtags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/emsabtags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/emsabtags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/exchange.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/exchange.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/exchange.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/exchange.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapitags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapitags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapitags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapitags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapiutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapiutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapiutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/mapi/mapiutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/olectl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/olectl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/olectl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/olectl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/propsys.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/propsys.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/propsys.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/propsys.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/pscon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/pscon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/pscon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/propsys/pscon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/connect.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/connect.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/connect.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/connect.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/dispatcher.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/dispatcher.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/dispatcher.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/dispatcher.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/exception.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/exception.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/exception.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/exception.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/factory.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/factory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/factory.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/factory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/localserver.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/localserver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/localserver.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/localserver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/policy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/policy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/policy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/policy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/register.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/register.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/register.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/register.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/server/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/server/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/shell/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/shell/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/shell/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/shell/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shell.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shell.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shell.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shell.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shellcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shellcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shellcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/shell/shellcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/storagecon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/storagecon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/storagecon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/storagecon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/taskscheduler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/taskscheduler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/taskscheduler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/taskscheduler/taskscheduler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/universal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/universal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/universal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/universal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32com/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32com/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsicon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsicon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsicon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/adsi/adsicon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/authorization.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/authorization.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/authorization.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/authorization/authorization.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/axcontrol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/axcontrol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/axcontrol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axcontrol/axcontrol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/adb.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/adb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/adb.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/adb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/axdebug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/axdebug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/axdebug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/axdebug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/codecontainer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/codecontainer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/codecontainer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/codecontainer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/contexts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/contexts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/contexts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/contexts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/debugger.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/debugger.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/debugger.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/debugger.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/documents.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/documents.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/documents.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/documents.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/expressions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/expressions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/expressions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/expressions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/gateways.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/gateways.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/gateways.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/gateways.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/stackframe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/stackframe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/stackframe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/stackframe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axdebug/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/asputil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/asputil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/asputil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/asputil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/axscript.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/axscript.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/axscript.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/axscript.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/debug.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/debug.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/debug.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/debug.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/framework.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/framework.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/framework.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/client/framework.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/axsite.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/axsite.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/axsite.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/axscript/server/axsite.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/bits.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/bits.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/bits.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/bits/bits.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/directsound.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/directsound.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/directsound.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/directsound/directsound.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifilter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifilter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifilter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifilter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifiltercon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifiltercon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifiltercon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/ifilter/ifiltercon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/inetcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/inetcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/inetcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/inetcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/internet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/internet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/internet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/internet/internet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/emsabtags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/emsabtags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/emsabtags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/emsabtags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/exchange.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/exchange.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/exchange.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/exchange.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapitags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapitags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapitags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapitags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapiutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapiutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapiutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/mapi/mapiutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/propsys.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/propsys.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/propsys.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/propsys.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/pscon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/pscon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/pscon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/propsys/pscon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shell.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shell.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shell.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shell.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shellcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shellcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shellcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/shell/shellcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/taskscheduler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/taskscheduler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/taskscheduler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32comext/taskscheduler/taskscheduler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32con.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32con.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32con.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32con.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32console.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32console.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32console.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32console.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32cred.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32cred.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32cred.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32cred.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32crypt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32crypt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32crypt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32crypt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32cryptcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32cryptcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32cryptcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32cryptcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32event.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32event.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32event.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32event.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32evtlog.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32evtlog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32evtlog.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32evtlog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32evtlogutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32evtlogutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32evtlogutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32evtlogutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32file.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32file.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32file.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32file.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32gui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32gui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32gui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32gui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32gui_struct.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32gui_struct.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32gui_struct.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32gui_struct.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32help.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32help.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32help.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32help.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32inet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32inet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32inet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32inet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32inetcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32inetcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32inetcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32inetcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32job.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32job.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32job.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32job.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32lz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32lz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32lz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32lz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32net.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32net.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32net.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32net.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32netcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32netcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32netcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32netcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32pdh.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32pdh.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32pdh.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32pdh.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32pdhquery.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32pdhquery.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32pdhquery.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32pdhquery.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32pipe.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32pipe.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32pipe.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32pipe.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32print.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32print.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32print.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32print.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32process.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32process.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32process.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32process.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32profile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32profile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32profile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32profile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32ras.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32ras.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32ras.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32ras.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32security.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32security.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32security.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32security.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32service.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32service.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32service.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32service.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32serviceutil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32serviceutil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32serviceutil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32serviceutil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32timezone.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32timezone.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32timezone.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32timezone.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32trace.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32trace.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32trace.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32trace.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32transaction.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32transaction.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32transaction.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32transaction.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32ts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32ts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32ts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32ts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32ui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32ui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32ui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32ui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32uiole.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32uiole.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32uiole.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32uiole.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32verstamp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32verstamp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32verstamp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32verstamp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32wnet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32wnet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/win32wnet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/win32wnet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/winerror.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winerror.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/winerror.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winerror.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/winioctlcon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winioctlcon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/winioctlcon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winioctlcon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/winnt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winnt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/winnt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winnt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/winperf.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winperf.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/winperf.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winperf.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/winxpgui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winxpgui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/winxpgui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winxpgui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pywin32/winxptheme.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winxptheme.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pywin32/winxptheme.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pywin32/winxptheme.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/BaseDirectory.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/BaseDirectory.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/BaseDirectory.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/BaseDirectory.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/DesktopEntry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/DesktopEntry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/DesktopEntry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/DesktopEntry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/IconTheme.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/IconTheme.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/IconTheme.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/IconTheme.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/IniFile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/IniFile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/IniFile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/IniFile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Locale.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Locale.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Locale.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Locale.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Menu.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Menu.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Menu.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Menu.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/MenuEditor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/MenuEditor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/MenuEditor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/MenuEditor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Mime.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Mime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/Mime.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/Mime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/RecentFiles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/RecentFiles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/RecentFiles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/RecentFiles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/pyxdg/xdg/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/pyxdg/xdg/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrbill/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/qrbill/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrbill/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/qrbill/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrbill/qrbill/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrbill/qrbill/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrbill/qrbill/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrbill/qrbill/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrbill/qrbill/bill.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrbill/qrbill/bill.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrbill/qrbill/bill.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrbill/qrbill/bill.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/LUT.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/LUT.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/LUT.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/LUT.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/_types.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/_types.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/_types.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/_types.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/console_scripts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/console_scripts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/console_scripts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/console_scripts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/fourstate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/fourstate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pure.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pure.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pure.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/pure.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styledpil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styledpil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styledpil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styledpil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/colormasks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/colormasks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/colormasks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/colormasks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/pil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/pil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/pil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/pil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/svg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/svg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/svg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/styles/moduledrawers/svg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/svg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/svg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/image/svg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/image/svg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/main.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/main.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/release.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/release.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/release.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/release.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/qrcode/qrcode/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/qrcode/qrcode/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ratelimit/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ratelimit/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ratelimit/ratelimit/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/ratelimit/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ratelimit/ratelimit/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/ratelimit/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ratelimit/ratelimit/decorators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/ratelimit/decorators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ratelimit/ratelimit/decorators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/ratelimit/decorators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ratelimit/ratelimit/exception.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/ratelimit/exception.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ratelimit/ratelimit/exception.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ratelimit/ratelimit/exception.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/regex/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/regex/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/regex/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/regex/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/regex/regex/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/regex/regex/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/regex/regex/_main.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/_main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/regex/regex/_main.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/_main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/regex/regex/_regex.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/_regex.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/regex/regex/_regex.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/_regex.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/regex/regex/_regex_core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/_regex_core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/regex/regex/_regex_core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/regex/regex/_regex_core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code128.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code128.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code128.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code128.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code39.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code39.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code39.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code39.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code93.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code93.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code93.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/code93.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/dmtx.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/dmtx.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/dmtx.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/dmtx.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/eanbc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/eanbc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/eanbc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/eanbc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/ecc200datamatrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/fourstate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/fourstate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/lto.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/lto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/lto.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/lto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qrencoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qrencoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qrencoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/qrencoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps4s.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps4s.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps4s.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/usps4s.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/widgets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/widgets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/widgets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/barcode/widgets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/areas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/areas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/areas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/areas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/axes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/axes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/axes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/axes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/barcharts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/barcharts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/barcharts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/barcharts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/dotbox.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/dotbox.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/dotbox.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/dotbox.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/doughnut.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/doughnut.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/doughnut.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/doughnut.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/legends.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/legends.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/legends.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/legends.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/linecharts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/linecharts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/linecharts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/linecharts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/lineplots.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/lineplots.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/lineplots.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/lineplots.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/markers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/markers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/markers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/markers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/piecharts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/piecharts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/piecharts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/piecharts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/slidebox.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/slidebox.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/slidebox.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/slidebox.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/spider.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/spider.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/spider.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/spider.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/textlabels.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/textlabels.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/textlabels.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/textlabels.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils3d.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils3d.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils3d.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/charts/utils3d.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPDF.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPDF.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPDF.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPDF.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPM.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPM.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPM.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPM.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPS.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPS.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPS.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderPS.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderSVG.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderSVG.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderSVG.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderSVG.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderbase.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderbase.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderbase.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/renderbase.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/bubble.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/bubble.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/bubble.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/bubble.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_bar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_bar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_bar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_bar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_column.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_column.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_column.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/clustered_column.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/excelcolors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/excelcolors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/excelcolors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/excelcolors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/exploded_pie.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/exploded_pie.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/exploded_pie.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/exploded_pie.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/filled_radar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/filled_radar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/filled_radar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/filled_radar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/line_chart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/line_chart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/line_chart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/line_chart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/linechart_with_markers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/linechart_with_markers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/linechart_with_markers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/linechart_with_markers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/radar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/radar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/radar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/radar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/runall.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/runall.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/runall.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/runall.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines_markers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines_markers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines_markers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/scatter_lines_markers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/simple_pie.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/simple_pie.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/simple_pie.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/simple_pie.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_bar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_bar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_bar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_bar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_column.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_column.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_column.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/samples/stacked_column.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/shapes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/shapes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/shapes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/shapes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/svgpath.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/svgpath.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/svgpath.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/svgpath.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/transform.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/transform.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/transform.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/transform.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgetbase.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgetbase.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgetbase.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgetbase.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/adjustableArrow.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/adjustableArrow.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/adjustableArrow.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/adjustableArrow.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/eventcal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/eventcal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/eventcal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/eventcal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/flags.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/flags.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/flags.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/flags.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/grids.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/grids.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/grids.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/grids.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/markers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/markers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/markers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/markers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/signsandsymbols.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/signsandsymbols.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/signsandsymbols.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/signsandsymbols.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/table.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/table.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/table.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/graphics/widgets/table.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/PyFontify.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/PyFontify.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/PyFontify.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/PyFontify.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/abag.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/abag.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/abag.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/abag.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/arciv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/arciv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/arciv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/arciv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/attrmap.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/attrmap.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/attrmap.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/attrmap.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/boxstuff.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/boxstuff.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/boxstuff.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/boxstuff.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/codecharts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/codecharts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/codecharts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/codecharts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/colors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/colors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/colors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/colors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/corp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/corp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/corp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/corp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/enums.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/enums.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/enums.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/enums.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/extformat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/extformat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/extformat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/extformat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fontfinder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fontfinder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fontfinder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fontfinder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fonts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fonts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fonts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/fonts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/formatters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/formatters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/formatters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/formatters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/geomutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/geomutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/geomutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/geomutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/logger.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/logger.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/logger.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/logger.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/normalDate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/normalDate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/normalDate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/normalDate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pagesizes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pagesizes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pagesizes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pagesizes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pdfencrypt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pdfencrypt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pdfencrypt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pdfencrypt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pygments2xpre.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pygments2xpre.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pygments2xpre.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/pygments2xpre.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/randomtext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/randomtext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/randomtext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/randomtext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_accel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_accel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_accel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_accel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_safe_eval.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rl_safe_eval.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rltempfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rltempfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rltempfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rltempfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rparsexml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rparsexml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rparsexml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/rparsexml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/sequencer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/sequencer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/sequencer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/sequencer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/styles.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/styles.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/styles.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/styles.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/testutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/testutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/testutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/testutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/textsplit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/textsplit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/textsplit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/textsplit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/units.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/units.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/units.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/units.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/validators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/validators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/validators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/validators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/yaml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/yaml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/yaml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/lib/yaml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/acroform.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/acroform.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/acroform.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/acroform.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/cidfonts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/cidfonts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/cidfonts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/cidfonts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfdoc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfdoc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfdoc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfdoc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfform.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfform.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfform.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfform.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfmetrics.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfmetrics.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfmetrics.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfmetrics.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfpattern.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfpattern.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfpattern.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfpattern.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfutils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfutils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfutils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/pdfutils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/rl_codecs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/rl_codecs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/rl_codecs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/rl_codecs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/ttfonts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/ttfonts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/ttfonts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfbase/ttfonts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/canvas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/canvas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/canvas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/canvas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pathobject.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pathobject.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pathobject.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pathobject.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfgeom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfgeom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfgeom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfgeom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfimages.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfimages.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfimages.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/pdfimages.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/textobject.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/textobject.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/textobject.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/pdfgen/textobject.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/doctemplate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/doctemplate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/doctemplate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/doctemplate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/figures.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/figures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/figures.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/figures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/flowables.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/flowables.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/flowables.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/flowables.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/frames.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/frames.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/frames.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/frames.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/multicol.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/multicol.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/multicol.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/multicol.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/para.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/para.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/para.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/para.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paragraph.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paragraph.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paragraph.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paragraph.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paraparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paraparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paraparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/paraparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tableofcontents.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tableofcontents.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tableofcontents.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tableofcontents.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tables.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tables.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tables.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/tables.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/xpreformatted.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/xpreformatted.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/xpreformatted.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/platypus/xpreformatted.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_config.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_config.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_config.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_config.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_settings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_settings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_settings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/reportlab/reportlab/rl_settings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/douban.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/douban.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/douban.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/douban.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/ebay.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/ebay.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/ebay.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/ebay.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/facebook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/facebook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/facebook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/facebook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/fitbit.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/fitbit.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/fitbit.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/fitbit.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/instagram.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/instagram.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/instagram.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/instagram.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/mailchimp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/mailchimp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/mailchimp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/mailchimp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/plentymarkets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/plentymarkets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/plentymarkets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/plentymarkets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/slack.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/slack.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/slack.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/slack.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/weibo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/weibo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/weibo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/compliance_fixes/weibo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_session.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_session.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_session.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_session.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth2_session.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/requests/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/__version__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/__version__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/__version__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/__version__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/adapters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/adapters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/adapters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/adapters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/auth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/auth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/auth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/auth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/certs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/certs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/certs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/certs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/cookies.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/cookies.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/cookies.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/cookies.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/help.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/help.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/help.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/help.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/hooks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/hooks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/hooks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/hooks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/packages.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/packages.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/packages.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/packages.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/sessions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/sessions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/sessions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/sessions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/status_codes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/status_codes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/status_codes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/status_codes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/structures.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/structures.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/structures.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/structures.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/requests/requests/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/requests/requests/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/requests/requests/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/resampy/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/resampy/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/resampy/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/resampy/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/filters.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/filters.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/filters.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/filters.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/resampy/resampy/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/resampy/resampy/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/retry/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/retry/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/retry/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/retry/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/retry/retry/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/retry/retry/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/retry/retry/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/retry/retry/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/retry/retry/api.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/retry/retry/api.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/retry/retry/api.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/retry/retry/api.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/rfc3339-validator/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/rfc3339-validator/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/rfc3339-validator/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/rfc3339-validator/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/rfc3339-validator/rfc3339_validator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/rfc3339-validator/rfc3339_validator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/rfc3339-validator/rfc3339_validator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/rfc3339-validator/rfc3339_validator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/build.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/common_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/common_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/common_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/common_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/data_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/data_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/data_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/data_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/debug_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/debug_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/debug_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/debug_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/error_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/error_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/error_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/error_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/query_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/query_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/query_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/query_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/raw_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/raw_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/raw_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/raw_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/sc2api_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/sc2api_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/sc2api_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/sc2api_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/score_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/score_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/score_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/score_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/spatial_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/spatial_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/spatial_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/spatial_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/ui_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/ui_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/ui_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/s2clientprotocol/s2clientprotocol/ui_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/scp/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/scp/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/scp/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/scp/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/scp/scp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/scp/scp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/scp/scp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/scp/scp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/groupby.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/groupby.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/groupby.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/groupby.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/moves.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/moves.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/moves.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/moves.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/plot.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/plot.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/plot.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/plot.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/properties.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/properties.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/properties.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/properties.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/rules.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/rules.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/rules.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/rules.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/scales.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/scales.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/scales.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/scales.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/subplots.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/subplots.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/subplots.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/subplots.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/typing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/typing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/typing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_core/typing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/area.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/area.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/area.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/area.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/bar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/bar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/bar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/bar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/dot.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/dot.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/dot.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/dot.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/line.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/line.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/line.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/line.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_marks/text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/aggregation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/aggregation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/aggregation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/aggregation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/counting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/counting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/counting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/counting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/density.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/density.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/density.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/density.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/order.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/order.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/order.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/order.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/regression.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/regression.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/regression.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/_stats/regression.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/algorithms.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/algorithms.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/algorithms.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/algorithms.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/axisgrid.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/axisgrid.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/axisgrid.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/axisgrid.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/categorical.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/categorical.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/categorical.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/categorical.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/cm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/cm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/cm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/cm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/crayons.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/crayons.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/crayons.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/crayons.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/xkcd_rgb.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/xkcd_rgb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/xkcd_rgb.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/colors/xkcd_rgb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/distributions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/distributions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/distributions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/distributions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/appdirs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/appdirs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/appdirs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/appdirs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/docscrape.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/docscrape.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/docscrape.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/docscrape.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/husl.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/husl.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/husl.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/husl.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/kde.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/kde.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/kde.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/kde.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/external/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/external/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/matrix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/matrix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/matrix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/matrix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/miscplot.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/miscplot.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/miscplot.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/miscplot.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/objects.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/objects.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/objects.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/objects.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/palettes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/palettes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/palettes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/palettes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/rcmod.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/rcmod.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/rcmod.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/rcmod.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/regression.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/regression.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/regression.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/regression.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/relational.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/relational.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/relational.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/relational.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/widgets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/widgets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/seaborn/seaborn/widgets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/seaborn/seaborn/widgets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/_modified.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/_modified.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/_modified.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/_modified.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/_msvccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/_msvccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/_msvccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/_msvccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/archive_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/archive_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/archive_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/archive_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/ccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/ccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/ccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/ccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/cmd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/cmd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/cmd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/cmd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist_rpm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist_rpm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist_rpm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/bdist_rpm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_clib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_clib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_clib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_clib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_ext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_ext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_ext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_ext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_py.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_py.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_py.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/build_py.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_lib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_lib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_lib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_lib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_scripts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_scripts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_scripts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/install_scripts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/sdist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/sdist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/command/sdist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/command/sdist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compat/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compat/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compat/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compat/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/cygwin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/cygwin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/cygwin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/cygwin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/msvc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/msvc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/msvc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/msvc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/unix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/unix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/unix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/unix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/zos.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/zos.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/zos.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/compilers/C/zos.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/cygwinccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/cygwinccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/cygwinccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/cygwinccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/dep_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/dep_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/dep_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/dep_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/dist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/dist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/dist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/dist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/extension.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/extension.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/extension.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/extension.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/filelist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/filelist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/filelist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/filelist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/spawn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/spawn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/spawn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/spawn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/sysconfig.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/sysconfig.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/sysconfig.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/sysconfig.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/unixccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/unixccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/unixccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/unixccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/zosccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/zosccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/distutils/zosccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/distutils/zosccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_modified.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_modified.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_modified.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_modified.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_msvccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_msvccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_msvccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/_msvccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/archive_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/archive_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/archive_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/archive_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/ccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cmd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cmd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cmd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cmd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist_rpm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist_rpm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist_rpm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist_rpm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_clib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_clib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_clib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_clib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_ext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_ext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_ext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_ext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_py.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_py.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_py.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/build_py.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_data.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_data.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_data.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_data.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_lib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_lib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_lib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_lib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_scripts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_scripts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_scripts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_scripts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/sdist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/sdist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/sdist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/sdist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compat/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compat/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compat/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compat/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/cygwin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/msvc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/unix.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/unix.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/unix.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/unix.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/zos.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/zos.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/zos.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/compilers/C/zos.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cygwinccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cygwinccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cygwinccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cygwinccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dep_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dep_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dep_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dep_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/extension.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/extension.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/extension.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/extension.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/filelist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/filelist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/filelist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/filelist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/spawn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/spawn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/spawn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/spawn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/sysconfig.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/sysconfig.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/sysconfig.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/sysconfig.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/unixccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/unixccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/unixccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/unixccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/zosccompiler.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/zosccompiler.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/zosccompiler.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/_distutils/zosccompiler.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/archive_util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/archive_util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/archive_util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/archive_util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/build_meta.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/build_meta.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/build_meta.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/build_meta.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/alias.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/alias.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/alias.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/alias.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_egg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_egg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_egg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_egg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_rpm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_rpm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_rpm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_rpm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_wheel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_wheel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_wheel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/bdist_wheel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_clib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_clib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_clib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_clib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_ext.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_ext.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_ext.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_ext.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_py.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_py.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_py.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/build_py.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/develop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/develop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/develop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/develop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/dist_info.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/dist_info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/dist_info.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/dist_info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/easy_install.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/easy_install.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/easy_install.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/easy_install.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/editable_wheel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/editable_wheel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/editable_wheel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/editable_wheel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/egg_info.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/egg_info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/egg_info.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/egg_info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_egg_info.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_egg_info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_egg_info.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_egg_info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_lib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_lib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_lib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_lib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_scripts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_scripts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_scripts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/install_scripts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/rotate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/rotate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/rotate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/rotate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/saveopts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/saveopts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/saveopts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/saveopts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/sdist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/sdist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/sdist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/sdist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/setopt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/setopt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/setopt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/setopt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/test.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/test.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/command/test.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/command/test.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/expand.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/expand.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/expand.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/expand.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/pyprojecttoml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/pyprojecttoml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/pyprojecttoml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/pyprojecttoml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/setupcfg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/setupcfg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/config/setupcfg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/config/setupcfg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/depends.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/depends.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/depends.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/depends.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/discovery.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/discovery.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/discovery.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/discovery.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/dist.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/dist.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/dist.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/dist.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/extension.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/extension.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/extension.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/extension.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/glob.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/glob.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/glob.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/glob.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/installer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/installer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/installer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/installer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/launch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/launch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/launch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/launch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/logging.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/logging.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/logging.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/logging.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/modified.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/modified.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/modified.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/modified.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/monkey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/monkey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/monkey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/monkey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/msvc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/msvc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/msvc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/msvc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/namespaces.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/namespaces.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/namespaces.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/namespaces.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/unicode_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/unicode_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/unicode_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/unicode_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/warnings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/warnings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/warnings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/warnings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/wheel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/wheel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/wheel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/wheel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/windows_support.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/windows_support.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/setuptools/setuptools/windows_support.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/setuptools/setuptools/windows_support.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_coverage.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_coverage.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_coverage.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_coverage.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_enum.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_enum.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_enum.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_enum.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_geometry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_geometry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_geometry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_geometry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_ragged_array.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_ragged_array.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_ragged_array.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_ragged_array.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_typing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_typing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_typing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_typing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/_version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/_version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/affinity.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/affinity.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/affinity.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/affinity.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/cga.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/cga.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/cga.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/cga.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/polylabel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/polylabel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/polylabel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/algorithms/polylabel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/constructive.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/constructive.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/constructive.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/constructive.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/coordinates.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/coordinates.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/coordinates.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/coordinates.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/coords.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/coords.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/coords.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/coords.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/creation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/creation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/creation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/creation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/decorators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/decorators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/decorators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/decorators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/collection.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/collection.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/collection.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/collection.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/geo.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/geo.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/geo.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/geo.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/linestring.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/linestring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/linestring.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/linestring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multilinestring.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multilinestring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multilinestring.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multilinestring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipoint.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipoint.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipoint.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipoint.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipolygon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipolygon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipolygon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/multipolygon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/point.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/point.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/point.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/point.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/polygon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/polygon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geometry/polygon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geometry/polygon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geos.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geos.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/geos.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/geos.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/io.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/io.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/io.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/io.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/lib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/lib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/lib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/lib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/linear.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/linear.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/linear.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/linear.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/measurement.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/measurement.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/measurement.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/measurement.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/ops.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/ops.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/ops.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/ops.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/plotting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/plotting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/plotting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/plotting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/predicates.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/predicates.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/predicates.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/predicates.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/prepared.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/prepared.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/prepared.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/prepared.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/set_operations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/set_operations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/set_operations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/set_operations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/speedups.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/speedups.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/speedups.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/speedups.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/strtree.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/strtree.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/strtree.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/strtree.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/testing.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/testing.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/testing.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/testing.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/validation.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/validation.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/validation.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/validation.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/vectorized/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/vectorized/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/vectorized/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/vectorized/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/wkb.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/wkb.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/wkb.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/wkb.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/wkt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/wkt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/shapely/shapely/wkt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/shapely/shapely/wkt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/aiows.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/aiows.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/aiows.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/aiows.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/asgi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/asgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/asgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/asgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/ws.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/ws.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/ws.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simple-websocket/simple_websocket/ws.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simplejson/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/simplejson/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simplejson/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/simplejson/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/raw_json.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/raw_json.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/raw_json.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/raw_json.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/scanner.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/scanner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/simplejson/simplejson/scanner.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/simplejson/simplejson/scanner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/singledispatch/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/singledispatch/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/singledispatch/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/singledispatch/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/singledispatch/singledispatch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/singledispatch/singledispatch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/singledispatch/singledispatch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/singledispatch/singledispatch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/six/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/six/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/BaseHTTPServer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/BaseHTTPServer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/BaseHTTPServer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/BaseHTTPServer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/CGIHTTPServer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/CGIHTTPServer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/CGIHTTPServer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/CGIHTTPServer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/SimpleHTTPServer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/SimpleHTTPServer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/SimpleHTTPServer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/SimpleHTTPServer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/_dummy_thread.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/_dummy_thread.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/_dummy_thread.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/_dummy_thread.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/_thread.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/_thread.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/_thread.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/_thread.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/builtins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/builtins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/builtins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/builtins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/cPickle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/cPickle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/cPickle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/cPickle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/collections_abc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/collections_abc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/collections_abc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/collections_abc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/configparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/configparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/configparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/configparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/copyreg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/copyreg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/copyreg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/copyreg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_multipart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_multipart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_multipart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_multipart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_nonmultipart.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_nonmultipart.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_nonmultipart.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_nonmultipart.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_text.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_text.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/email_mime_text.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/email_mime_text.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/html_entities.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/html_entities.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/html_entities.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/html_entities.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/html_parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/html_parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/html_parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/html_parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/http_client.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/http_client.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/http_client.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/http_client.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/http_cookiejar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/http_cookiejar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/http_cookiejar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/http_cookiejar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/http_cookies.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/http_cookies.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/http_cookies.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/http_cookies.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/queue.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/queue.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/queue.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/queue.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/reprlib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/reprlib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/reprlib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/reprlib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/socketserver.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/socketserver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/socketserver.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/socketserver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_commondialog.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_commondialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_commondialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_commondialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_dialog.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_dialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_dialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_dialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_filedialog.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_filedialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_filedialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_filedialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_tkfiledialog.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_tkfiledialog.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_tkfiledialog.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_tkfiledialog.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_ttk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_ttk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/tkinter_ttk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/tkinter_ttk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/parse.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/parse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/parse.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/parse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/response.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/response.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/response.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/response.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/robotparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/robotparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib/robotparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib/robotparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_error.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_error.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_error.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_error.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_parse.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_parse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_parse.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_parse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_request.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_request.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_request.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_request.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_response.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_response.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_response.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_response.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_robotparser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_robotparser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/six/six/moves/urllib_robotparser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/six/six/moves/urllib_robotparser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/slumber/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/slumber/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/slumber/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/slumber/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/serialize.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/serialize.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/serialize.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/serialize.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/slumber/slumber/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/slumber/slumber/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/str2bool/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/str2bool/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/str2bool/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/str2bool/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/str2bool/str2bool/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/str2bool/str2bool/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/str2bool/str2bool/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/str2bool/str2bool/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tabulate/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/tabulate/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tabulate/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/tabulate/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tabulate/tabulate/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tabulate/tabulate/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tabulate/tabulate/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tabulate/tabulate/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/_aliases.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/_aliases.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/_aliases.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/_aliases.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/audio.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/audio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/audio.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/audio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autodiff.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autodiff.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autodiff.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autodiff.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/experimental.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/experimental.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/experimental.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/autograph/experimental.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/bitwise.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/bitwise.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/bitwise.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/bitwise.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_profile_printer_data_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_profile_printer_data_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_profile_printer_data_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/hlo_profile_printer_data_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/metrics_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/metrics_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/metrics_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/metrics_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/test_compilation_environment_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/test_compilation_environment_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/test_compilation_environment_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/test_compilation_environment_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/xla_compile_result_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/xla_compile_result_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/xla_compile_result_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/service/xla_compile_result_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/bfc_memory_map_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/bfc_memory_map_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/bfc_memory_map_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/bfc_memory_map_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/test_log_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/test_log_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/test_log_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/tsl/protobuf/test_log_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_data_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_data_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_data_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_data_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/compiler/xla/xla_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/experimental.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/experimental.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/experimental.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/config/experimental.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_parser_configuration_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_parser_configuration_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_parser_configuration_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_parser_configuration_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/example_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/feature_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/feature_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/feature_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/example/feature_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/allocation_description_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/allocation_description_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/allocation_description_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/allocation_description_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/api_def_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/api_def_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/api_def_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/api_def_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/attr_value_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/attr_value_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/attr_value_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/attr_value_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cost_graph_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cost_graph_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cost_graph_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cost_graph_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cpp_shape_inference_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cpp_shape_inference_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cpp_shape_inference_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/cpp_shape_inference_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_metadata_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_metadata_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_metadata_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_metadata_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_options_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_options_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_options_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_options_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/dataset_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/device_attributes_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/device_attributes_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/device_attributes_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/device_attributes_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/full_type_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/full_type_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/full_type_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/full_type_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/function_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/function_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/function_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/function_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_debug_info_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_transfer_info_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_transfer_info_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_transfer_info_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/graph_transfer_info_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/kernel_def_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/kernel_def_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/kernel_def_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/kernel_def_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/log_memory_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/log_memory_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/log_memory_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/log_memory_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/model_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/model_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/model_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/model_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/node_def_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/node_def_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/node_def_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/node_def_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/op_def_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/op_def_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/op_def_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/op_def_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/optimized_function_graph_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/optimized_function_graph_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/optimized_function_graph_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/optimized_function_graph_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/reader_base_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/reader_base_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/reader_base_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/reader_base_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/resource_handle_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/resource_handle_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/resource_handle_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/resource_handle_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/step_stats_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/step_stats_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/step_stats_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/step_stats_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/summary_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/summary_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/summary_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/summary_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_description_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_description_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_description_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_description_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_shape_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_shape_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_shape_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_shape_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_slice_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_slice_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_slice_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/tensor_slice_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/types_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/types_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/types_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/types_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/variable_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/variable_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/variable_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/variable_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/versions_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/versions_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/versions_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/framework/versions_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/bfc_memory_map_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/bfc_memory_map_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/bfc_memory_map_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/bfc_memory_map_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/cluster_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/cluster_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/cluster_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/cluster_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/composite_tensor_variant_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/composite_tensor_variant_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/composite_tensor_variant_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/composite_tensor_variant_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/config_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/config_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/config_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/config_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/control_flow_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/control_flow_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/control_flow_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/control_flow_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/core_platform_payloads_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/core_platform_payloads_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/core_platform_payloads_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/core_platform_payloads_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/data_service_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/data_service_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/data_service_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/data_service_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_event_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_event_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_event_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_event_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/debug_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_filters_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_filters_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_filters_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_filters_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_properties_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_properties_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_properties_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/device_properties_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/error_codes_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/error_codes_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/error_codes_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/error_codes_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/fingerprint_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/fingerprint_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/fingerprint_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/fingerprint_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/meta_graph_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/meta_graph_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/meta_graph_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/meta_graph_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/named_tensor_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/named_tensor_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/named_tensor_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/named_tensor_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/queue_runner_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/queue_runner_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/queue_runner_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/queue_runner_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/remote_tensor_handle_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/remote_tensor_handle_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/remote_tensor_handle_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/remote_tensor_handle_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rewriter_config_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rewriter_config_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rewriter_config_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rewriter_config_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rpc_options_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rpc_options_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rpc_options_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/rpc_options_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_model_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_model_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_model_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_model_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_object_graph_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_object_graph_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_object_graph_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saved_object_graph_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saver_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saver_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saver_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/saver_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/service_config_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/service_config_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/service_config_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/service_config_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/snapshot_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/snapshot_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/snapshot_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/snapshot_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/status_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/status_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/status_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/status_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/struct_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/struct_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/struct_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/struct_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensor_bundle_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensor_bundle_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensor_bundle_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensor_bundle_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensorflow_server_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensorflow_server_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensorflow_server_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tensorflow_server_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/compilation_result_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/compilation_result_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/compilation_result_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/compilation_result_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/dynamic_padding_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/dynamic_padding_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/dynamic_padding_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/dynamic_padding_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/optimization_parameters_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/optimization_parameters_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/optimization_parameters_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/optimization_parameters_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/topology_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/topology_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/topology_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/topology_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/tpu_embedding_configuration_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/tpu_embedding_configuration_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/tpu_embedding_configuration_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/tpu/tpu_embedding_configuration_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/trackable_object_graph_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/trackable_object_graph_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/trackable_object_graph_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/trackable_object_graph_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/transport_options_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/transport_options_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/transport_options_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/transport_options_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/verifier_config_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/verifier_config_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/verifier_config_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/protobuf/verifier_config_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/event_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/event_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/event_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/event_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/memmapped_file_system_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/memmapped_file_system_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/memmapped_file_system_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/memmapped_file_system_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/saved_tensor_slice_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/saved_tensor_slice_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/saved_tensor_slice_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/saved_tensor_slice_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/test_log_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/test_log_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/test_log_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/core/util/test_log_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/experimental.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/experimental.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/experimental.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/data/experimental.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/coordinator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/coordinator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/coordinator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/coordinator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/experimental/coordinator.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/experimental/coordinator.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/experimental/coordinator.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/distribute/experimental/coordinator.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/dtypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/dtypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/dtypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/dtypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/dtensor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/dtensor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/dtensor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/experimental/dtensor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/feature_column/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/feature_column/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/feature_column/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/feature_column/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/initializers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/initializers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/initializers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/initializers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/gfile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/gfile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/gfile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/io/gfile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/activations.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/activations.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/activations.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/activations.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/callbacks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/callbacks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/callbacks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/callbacks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/constraints.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/constraints.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/constraints.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/constraints.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/initializers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/initializers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/initializers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/initializers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/layers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/layers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/layers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/layers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/losses.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/losses.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/losses.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/losses.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/metrics.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/metrics.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/metrics.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/metrics.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/models.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/models.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/models.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/models.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/legacy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/legacy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/legacy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/legacy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/schedules.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/schedules.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/schedules.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/optimizers/schedules.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/regularizers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/regularizers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/regularizers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/keras/regularizers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/linalg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/linalg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/linalg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/linalg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/math.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/math.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/math.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/math.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/nn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/nn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/nn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/nn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/distribute/distribute_lib.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/distribute/distribute_lib.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/distribute/distribute_lib.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/distribute/distribute_lib.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/feature_column_v2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/feature_column_v2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/feature_column_v2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/feature_column_v2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/sequence_feature_column.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/sequence_feature_column.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/sequence_feature_column.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/feature_column/sequence_feature_column.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/framework/dtypes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/framework/dtypes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/framework/dtypes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/framework/dtypes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/projector_config_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/projector_config_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/projector_config_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/projector_config_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/saved_metadata_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/saved_metadata_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/saved_metadata_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/saved_metadata_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/versions_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/versions_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/versions_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/keras/protobuf/versions_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/autotrackable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/autotrackable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/autotrackable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/autotrackable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/resource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/resource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/resource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/resource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/ressource.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/ressource.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/ressource.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/trackable/ressource.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/training/tracking/autotrackable.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/training/tracking/autotrackable.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/training/tracking/autotrackable.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/python/training/tracking/autotrackable.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/random.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/random.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/random.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/random.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/raw_ops.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/raw_ops.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/raw_ops.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/raw_ops.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/experimental.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/experimental.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/experimental.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/saved_model/experimental.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/signal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/signal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/signal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/signal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/sparse.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/sparse.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/sparse.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/sparse.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/strings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/strings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/strings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/strings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/summary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/summary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/summary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/summary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/experimental.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/experimental.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/experimental.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/train/experimental.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_config_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_config_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_config_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_config_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_service_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_service_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_service_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/coordination_service_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/distributed_runtime_payloads_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/distributed_runtime_payloads_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/distributed_runtime_payloads_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/distributed_runtime_payloads_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/dnn_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/dnn_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/dnn_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/dnn_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/error_codes_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/error_codes_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/error_codes_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/error_codes_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/histogram_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/histogram_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/histogram_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/histogram_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/rpc_options_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/rpc_options_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/rpc_options_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/rpc_options_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/status_pb2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/status_pb2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/status_pb2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/tsl/protobuf/status_pb2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/experimental.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/experimental.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/experimental.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tensorflow/tensorflow/types/experimental.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/ast.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/ast.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/ast.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/ast.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/bytes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/bytes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/bytes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/bytes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color3.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color3.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color3.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color3.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color4.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color4.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color4.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color4.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color5.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color5.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color5.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/color5.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/nth.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/nth.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/nth.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/nth.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/serializer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/serializer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/serializer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/serializer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/tokenizer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/tokenizer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tinycss2/tinycss2/tokenizer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tinycss2/tinycss2/tokenizer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toml/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/toml/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toml/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/toml/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toml/toml/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toml/toml/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toml/toml/decoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/decoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toml/toml/decoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/decoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toml/toml/encoder.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/encoder.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toml/toml/encoder.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/encoder.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toml/toml/ordered.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/ordered.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toml/toml/ordered.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/ordered.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toml/toml/tz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/tz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toml/toml/tz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/toml/toml/tz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toposort/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/toposort/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toposort/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/toposort/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/toposort/toposort.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/toposort/toposort.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/toposort/toposort.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/toposort/toposort.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_main.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_main.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_monitor.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_monitor.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_monitor.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_monitor.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_gui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_gui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_gui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_gui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_notebook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_notebook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_notebook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_notebook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_pandas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_pandas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_pandas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_tqdm_pandas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/asyncio.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/asyncio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/asyncio.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/asyncio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/auto.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/auto.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/auto.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/auto.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/autonotebook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/autonotebook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/autonotebook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/autonotebook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/cli.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/cli.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/cli.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/cli.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/bells.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/bells.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/bells.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/bells.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/concurrent.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/concurrent.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/concurrent.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/concurrent.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/discord.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/discord.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/discord.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/discord.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/itertools.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/itertools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/itertools.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/itertools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/logging.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/logging.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/logging.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/logging.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/slack.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/slack.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/slack.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/slack.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/telegram.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/telegram.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/telegram.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/telegram.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/utils_worker.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/utils_worker.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/utils_worker.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/contrib/utils_worker.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/dask.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/dask.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/dask.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/dask.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/gui.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/gui.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/gui.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/gui.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/keras.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/keras.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/keras.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/keras.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/notebook.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/notebook.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/notebook.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/notebook.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/rich.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/rich.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/rich.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/rich.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/std.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/std.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/std.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/std.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/tk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/tk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/tk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/tk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tqdm/tqdm/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tqdm/tqdm/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/translationstring/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/translationstring/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/translationstring/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/translationstring/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/translationstring/translationstring/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/translationstring/translationstring/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/translationstring/translationstring/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/translationstring/translationstring/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_imgops.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_imgops.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_imgops.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_imgops.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_widget.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_widget.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_widget.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/_widget.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_style.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_style.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_style.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_style.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_tk.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_tk.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_tk.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/ttkthemes/ttkthemes/themed_tk.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tzdata/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/tzdata/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tzdata/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/tzdata/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/tzdata/tzdata/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/tzdata/tzdata/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/tzdata/tzdata/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/tzdata/tzdata/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/uWSGI/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/uWSGI/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/uWSGI/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/uWSGI/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/uWSGI/uwsgi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/uWSGI/uwsgi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/uWSGI/uwsgi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/uWSGI/uwsgi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/uWSGI/uwsgidecorators.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/uWSGI/uwsgidecorators.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/uWSGI/uwsgidecorators.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/uWSGI/uwsgidecorators.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/unidiff/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/unidiff/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/unidiff/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/unidiff/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/__version__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/__version__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/__version__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/__version__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/constants.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/constants.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/constants.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/constants.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/errors.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/errors.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/errors.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/errors.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/unidiff/unidiff/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/unidiff/unidiff/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/untangle/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/untangle/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/untangle/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/untangle/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/untangle/untangle.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/untangle/untangle.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/untangle/untangle.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/untangle/untangle.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/usersettings/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/usersettings/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/usersettings/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/usersettings/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/usersettings/usersettings.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/usersettings/usersettings.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/usersettings/usersettings.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/usersettings/usersettings.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/base.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/base.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/base.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/base.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/behavior.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/behavior.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/behavior.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/behavior.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/change_tz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/change_tz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/change_tz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/change_tz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/hcalendar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/hcalendar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/hcalendar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/hcalendar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/icalendar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/icalendar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/icalendar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/icalendar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/ics_diff.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/ics_diff.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/ics_diff.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/ics_diff.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/vcard.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/vcard.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/vcard.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/vcard.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/win32tz.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/win32tz.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/vobject/vobject/win32tz.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/vobject/vobject/win32tz.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/adjustments.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/adjustments.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/adjustments.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/adjustments.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/buffers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/buffers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/buffers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/buffers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/channel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/channel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/channel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/channel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/compat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/compat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/compat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/compat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/parser.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/parser.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/parser.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/parser.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/proxy_headers.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/proxy_headers.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/proxy_headers.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/proxy_headers.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/receiver.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/receiver.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/receiver.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/receiver.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/rfc7230.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/rfc7230.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/rfc7230.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/rfc7230.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/runner.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/runner.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/runner.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/runner.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/server.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/server.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/server.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/server.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/task.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/task.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/task.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/task.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/trigger.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/trigger.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/trigger.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/trigger.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/utilities.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/utilities.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/utilities.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/utilities.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/wasyncore.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/wasyncore.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/waitress/waitress/wasyncore.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/waitress/waitress/wasyncore.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/watchpoints/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/watchpoints/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/ast_monkey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/ast_monkey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/ast_monkey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/ast_monkey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/util.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/util.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/util.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/util.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_element.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_element.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_element.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_element.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_print.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_print.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_print.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/watchpoints/watchpoints/watch_print.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/webencodings/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/webencodings/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/webencodings/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/webencodings/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/labels.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/labels.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/labels.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/labels.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/mklabels.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/mklabels.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/mklabels.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/mklabels.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/x_user_defined.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/x_user_defined.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/webencodings/webencodings/x_user_defined.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/webencodings/webencodings/x_user_defined.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/apply.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/apply.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/apply.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/apply.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/snippets.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/snippets.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/snippets.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/whatthepatch/whatthepatch/snippets.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/algeria.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/algeria.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/algeria.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/algeria.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/angola.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/angola.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/angola.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/angola.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/benin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/benin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/benin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/benin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/ivory_coast.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/ivory_coast.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/ivory_coast.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/ivory_coast.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/kenya.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/kenya.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/kenya.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/kenya.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/madagascar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/madagascar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/madagascar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/madagascar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/mozambique.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/mozambique.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/mozambique.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/mozambique.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/nigeria.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/nigeria.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/nigeria.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/nigeria.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/sao_tome.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/sao_tome.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/sao_tome.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/sao_tome.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/south_africa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/south_africa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/south_africa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/south_africa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/tunisia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/tunisia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/tunisia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/africa/tunisia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/argentina.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/argentina.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/argentina.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/argentina.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/barbados.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/barbados.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/barbados.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/barbados.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/brazil.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/brazil.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/brazil.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/brazil.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/canada.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/canada.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/canada.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/canada.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/chile.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/chile.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/chile.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/chile.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/colombia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/colombia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/colombia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/colombia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/el_salvador.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/el_salvador.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/el_salvador.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/el_salvador.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/mexico.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/mexico.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/mexico.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/mexico.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/panama.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/panama.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/panama.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/panama.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/paraguay.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/paraguay.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/america/paraguay.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/america/paraguay.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/china.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/china.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/china.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/china.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/hong_kong.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/hong_kong.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/hong_kong.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/hong_kong.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/israel.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/israel.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/israel.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/israel.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/japan.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/japan.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/japan.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/japan.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/kazakhstan.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/kazakhstan.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/kazakhstan.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/kazakhstan.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/malaysia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/malaysia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/malaysia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/malaysia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/philippines.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/philippines.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/philippines.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/philippines.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/qatar.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/qatar.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/qatar.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/qatar.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/singapore.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/singapore.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/singapore.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/singapore.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/south_korea.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/south_korea.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/south_korea.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/south_korea.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/taiwan.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/taiwan.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/taiwan.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/asia/taiwan.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/astronomy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/astronomy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/astronomy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/astronomy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/austria.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/austria.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/austria.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/austria.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belarus.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belarus.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belarus.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belarus.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belgium.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belgium.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belgium.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/belgium.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/bulgaria.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/bulgaria.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/bulgaria.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/bulgaria.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cayman_islands.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cayman_islands.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cayman_islands.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cayman_islands.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/croatia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/croatia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/croatia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/croatia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cyprus.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cyprus.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cyprus.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/cyprus.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/czech_republic.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/czech_republic.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/czech_republic.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/czech_republic.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/denmark.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/denmark.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/denmark.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/denmark.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/estonia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/estonia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/estonia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/estonia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/european_central_bank.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/european_central_bank.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/european_central_bank.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/european_central_bank.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/finland.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/finland.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/finland.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/finland.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/france.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/france.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/france.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/france.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/georgia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/georgia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/georgia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/georgia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/germany.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/germany.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/germany.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/germany.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/greece.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/greece.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/greece.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/greece.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/guernsey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/guernsey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/guernsey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/guernsey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/hungary.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/hungary.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/hungary.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/hungary.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/iceland.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/iceland.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/iceland.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/iceland.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ireland.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ireland.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ireland.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ireland.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/italy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/italy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/italy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/italy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/latvia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/latvia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/latvia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/latvia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/lithuania.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/lithuania.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/lithuania.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/lithuania.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/luxembourg.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/luxembourg.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/luxembourg.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/luxembourg.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/malta.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/malta.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/malta.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/malta.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/monaco.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/monaco.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/monaco.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/monaco.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/netherlands.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/netherlands.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/netherlands.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/netherlands.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/norway.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/norway.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/norway.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/norway.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/poland.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/poland.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/poland.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/poland.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/portugal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/portugal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/portugal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/portugal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/romania.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/romania.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/romania.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/romania.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/russia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/russia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/russia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/russia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/autumn_holiday.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/autumn_holiday.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/autumn_holiday.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/autumn_holiday.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/fair_holiday.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/fair_holiday.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/fair_holiday.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/fair_holiday.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/spring_holiday.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/spring_holiday.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/spring_holiday.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/spring_holiday.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/victoria_day.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/victoria_day.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/victoria_day.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/scotland/mixins/victoria_day.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/serbia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/serbia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/serbia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/serbia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovakia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovakia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovakia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovakia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovenia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovenia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovenia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/slovenia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/spain.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/spain.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/spain.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/spain.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/sweden.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/sweden.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/sweden.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/sweden.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/switzerland.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/switzerland.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/switzerland.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/switzerland.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/turkey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/turkey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/turkey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/turkey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ukraine.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ukraine.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ukraine.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/ukraine.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/united_kingdom.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/united_kingdom.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/united_kingdom.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/europe/united_kingdom.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/australia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/australia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/australia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/australia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/marshall_islands.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/marshall_islands.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/marshall_islands.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/marshall_islands.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/new_zealand.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/new_zealand.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/new_zealand.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/oceania/new_zealand.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/precomputed_astronomy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/precomputed_astronomy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/precomputed_astronomy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/precomputed_astronomy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/registry.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/registry.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/registry.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/registry.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/registry_tools.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/registry_tools.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/registry_tools.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/registry_tools.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/skyfield_astronomy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/skyfield_astronomy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/skyfield_astronomy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/skyfield_astronomy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alabama.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alabama.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alabama.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alabama.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alaska.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alaska.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alaska.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/alaska.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/american_samoa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/american_samoa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/american_samoa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/american_samoa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arizona.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arizona.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arizona.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arizona.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arkansas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arkansas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arkansas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/arkansas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/california.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/california.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/california.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/california.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/colorado.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/colorado.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/colorado.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/colorado.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/connecticut.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/connecticut.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/connecticut.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/connecticut.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/core.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/core.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/core.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/core.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/delaware.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/delaware.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/delaware.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/delaware.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/district_columbia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/district_columbia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/district_columbia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/district_columbia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/florida.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/florida.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/florida.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/florida.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/georgia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/georgia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/georgia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/georgia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/guam.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/guam.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/guam.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/guam.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/hawaii.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/hawaii.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/hawaii.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/hawaii.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/idaho.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/idaho.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/idaho.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/idaho.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/illinois.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/illinois.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/illinois.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/illinois.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/indiana.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/indiana.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/indiana.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/indiana.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/iowa.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/iowa.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/iowa.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/iowa.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kansas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kansas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kansas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kansas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kentucky.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kentucky.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kentucky.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/kentucky.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/louisiana.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/louisiana.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/louisiana.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/louisiana.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maine.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maine.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maine.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maine.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maryland.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maryland.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maryland.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/maryland.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/massachusetts.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/massachusetts.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/massachusetts.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/massachusetts.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/michigan.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/michigan.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/michigan.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/michigan.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/minnesota.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/minnesota.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/minnesota.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/minnesota.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/mississippi.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/mississippi.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/mississippi.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/mississippi.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/missouri.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/missouri.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/missouri.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/missouri.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/montana.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/montana.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/montana.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/montana.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nebraska.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nebraska.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nebraska.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nebraska.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nevada.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nevada.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nevada.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/nevada.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_hampshire.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_hampshire.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_hampshire.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_hampshire.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_jersey.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_jersey.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_jersey.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_jersey.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_mexico.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_mexico.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_mexico.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_mexico.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_york.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_york.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_york.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/new_york.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_carolina.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_carolina.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_carolina.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_carolina.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_dakota.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_dakota.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_dakota.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/north_dakota.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/ohio.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/ohio.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/ohio.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/ohio.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oklahoma.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oklahoma.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oklahoma.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oklahoma.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oregon.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oregon.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oregon.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/oregon.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/pennsylvania.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/pennsylvania.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/pennsylvania.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/pennsylvania.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/rhode_island.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/rhode_island.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/rhode_island.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/rhode_island.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_carolina.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_carolina.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_carolina.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_carolina.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_dakota.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_dakota.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_dakota.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/south_dakota.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/tennessee.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/tennessee.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/tennessee.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/tennessee.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/texas.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/texas.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/texas.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/texas.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/utah.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/utah.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/utah.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/utah.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/vermont.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/vermont.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/vermont.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/vermont.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/virginia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/virginia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/virginia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/virginia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/washington.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/washington.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/washington.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/washington.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/west_virginia.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/west_virginia.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/west_virginia.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/west_virginia.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wisconsin.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wisconsin.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wisconsin.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wisconsin.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wyoming.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wyoming.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wyoming.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/workalendar/workalendar/usa/wyoming.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/wurlitzer/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/wurlitzer/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/wurlitzer/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/wurlitzer/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/wurlitzer/wurlitzer.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/wurlitzer/wurlitzer.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/wurlitzer/wurlitzer.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/wurlitzer/wurlitzer.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/www-authenticate/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/www-authenticate/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/www-authenticate/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/www-authenticate/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/www-authenticate/www_authenticate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/www-authenticate/www_authenticate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/www-authenticate/www_authenticate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/www-authenticate/www_authenticate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/_defaults.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/_defaults.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/_defaults.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/_defaults.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/xdgenv.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/xdgenv.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/xdgenv.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xdgenvpy/xdgenvpy/xdgenv.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/biffh.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/biffh.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/biffh.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/biffh.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/book.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/book.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/book.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/book.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/compdoc.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/compdoc.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/compdoc.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/compdoc.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/formatting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/formatting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/formatting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/formatting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/formula.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/formula.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/formula.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/formula.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/info.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/info.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/info.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/info.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/sheet.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/sheet.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/sheet.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/sheet.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/timemachine.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/timemachine.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/timemachine.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/timemachine.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/xldate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/xldate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xlrd/xlrd/xldate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xlrd/xlrd/xldate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/METADATA.toml diff --git a/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/__init__.vpi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/__init__.vpi new file mode 100644 index 0000000..e69de29 diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/actions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/actions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/actions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/actions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff_match_patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff_match_patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff_match_patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/diff_match_patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/formatting.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/formatting.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/formatting.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/formatting.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/main.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/main.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/main.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/main.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/patch.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/patch.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/patch.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/patch.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmldiff/xmldiff/utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmldiff/xmldiff/utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmltodict/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/xmltodict/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmltodict/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/xmltodict/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/xmltodict/xmltodict.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/xmltodict/xmltodict.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/xmltodict/xmltodict.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/xmltodict/xmltodict.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/YoutubeDL.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/YoutubeDL.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/YoutubeDL.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/YoutubeDL.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/aes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/aes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/aes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/aes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cache.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cache.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cache.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cache.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/compat_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/compat_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/compat_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/compat_utils.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/imghdr.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/imghdr.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/imghdr.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/compat/imghdr.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cookies.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cookies.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cookies.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/cookies.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/bunnycdn.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/bunnycdn.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/bunnycdn.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/bunnycdn.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/dash.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/dash.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/dash.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/dash.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/external.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/external.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/external.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/external.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/f4m.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/f4m.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/f4m.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/f4m.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fc2.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fc2.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fc2.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fc2.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fragment.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fragment.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fragment.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/fragment.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/hls.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/hls.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/hls.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/hls.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/http.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/http.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/http.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/http.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/ism.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/ism.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/ism.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/ism.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/mhtml.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/mhtml.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/mhtml.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/mhtml.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/niconico.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/niconico.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/niconico.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/niconico.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtmp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtmp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtmp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtmp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtsp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtsp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtsp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/rtsp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/soop.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/soop.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/soop.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/soop.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/websocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/websocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/websocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/websocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/youtube_live_chat.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/youtube_live_chat.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/youtube_live_chat.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/downloader/youtube_live_chat.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonmistakes.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonmistakes.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonmistakes.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonmistakes.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonprotocols.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonprotocols.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonprotocols.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/extractor/commonprotocols.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/globals.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/globals.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/globals.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/globals.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/jsinterp.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/jsinterp.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/jsinterp.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/jsinterp.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/minicurses.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/minicurses.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/minicurses.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/minicurses.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/_helper.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/_helper.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/_helper.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/_helper.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/exceptions.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/exceptions.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/exceptions.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/exceptions.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/impersonate.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/impersonate.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/impersonate.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/impersonate.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/websocket.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/websocket.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/websocket.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/networking/websocket.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/options.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/options.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/options.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/options.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/plugins.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/plugins.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/plugins.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/plugins.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/common.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/common.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/common.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/postprocessor/common.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/socks.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/socks.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/socks.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/socks.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/update.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/update.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/update.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/update.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_deprecated.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_deprecated.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_deprecated.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_deprecated.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_jsruntime.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_jsruntime.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_jsruntime.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_jsruntime.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_legacy.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_legacy.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_legacy.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_legacy.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_utils.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_utils.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_utils.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/_utils.vpi diff --git a/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/__init__.vpi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/__init__.vpi new file mode 100644 index 0000000..e69de29 diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/devalue.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/devalue.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/devalue.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/jslib/devalue.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/networking.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/networking.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/networking.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/networking.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/progress.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/progress.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/progress.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/progress.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/traversal.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/traversal.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/traversal.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/utils/traversal.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/version.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/version.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/version.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/version.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/webvtt.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/webvtt.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/webvtt.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/yt-dlp/yt_dlp/webvtt.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zstd/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/zstd/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zstd/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/zstd/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zstd/zstd.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zstd/zstd.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zstd/zstd.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zstd/zstd.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/METADATA.toml b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/METADATA.toml similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/METADATA.toml rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/METADATA.toml diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/__init__.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/__init__.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/__init__.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/__init__.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/adjacency_graphs.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/adjacency_graphs.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/adjacency_graphs.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/adjacency_graphs.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/feedback.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/feedback.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/feedback.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/feedback.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/frequency_lists.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/frequency_lists.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/frequency_lists.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/frequency_lists.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/matching.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/matching.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/matching.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/matching.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/scoring.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/scoring.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/scoring.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/scoring.vpi diff --git a/packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/time_estimates.pyi b/packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/time_estimates.vpi similarity index 100% rename from packages/pyright-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/time_estimates.pyi rename to packages/vipeye-internal/typeshed-fallback/stubs/zxcvbn/zxcvbn/time_estimates.vpi diff --git a/packages/pyright-internal/typings/promise.d.ts b/packages/vipeye-internal/typings/promise.d.ts similarity index 100% rename from packages/pyright-internal/typings/promise.d.ts rename to packages/vipeye-internal/typings/promise.d.ts diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/_typeshed/__init__.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/_typeshed/__init__.vpi new file mode 100644 index 0000000..e4ffa10 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/_typeshed/__init__.vpi @@ -0,0 +1 @@ +# _typeshed 占位。 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/argparse.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/argparse.vpi new file mode 100644 index 0000000..8c1c5bc --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/argparse.vpi @@ -0,0 +1,206 @@ +# Viper 命令行参数解析库 argparse 存根。 +# Python argparse 风格的 C 实现,依赖 memhub 和 hashtable。 +# 姑息策略: +# - 类型/动作常量映射为 int +# - _mbuddy 为模块级全局 MemBuddy 指针(int) +# - Argument/ParsedArgs/ArgumentParser 内部指针字段映射为 int + +import t +import string +import stdio +import memhub +import hashtable + + +# ============================================================ +# 类型常量 +# ============================================================ +STRING: int = 0 # 字符串类型 +INT: int = 1 # 整数类型 +BOOL: int = 2 # 布尔类型 + +# 动作常量 +STORE: int = 0 # 存储值(默认) +STORE_TRUE: int = 1 # 出现时存 True +STORE_FALSE: int = 2 # 出现时存 False +COUNT: int = 3 # 计数出现次数 + +# 限制 +MAX_ARGS: int = 32 # 单个 parser 最大参数数 + + +# 模块级 mbuddy 指针(由用户在 main 中赋值) +_mbuddy: int # memhub.MemBuddy | t.CPtr + + +# ============================================================ +# Argument - 参数定义结构体 +# ============================================================ +class Argument: + """命令行参数定义。""" + name: str # "--input" 或 "output"(位置参数) + short_name: str # "-i" 或 None + help_text: str # 帮助文本 + arg_type: int # STRING, INT, BOOL + action: int # STORE, STORE_TRUE, STORE_FALSE, COUNT + default_int: int # INT 类型默认值 + default_str: str # STRING 类型默认值 + required: bool # 是否必须 + is_positional: bool # 是否位置参数 + dest: str # 查找键名("--input" → "input") + + +# ============================================================ +# ParsedArgs - 解析结果 +# ============================================================ +class ParsedArgs: + """参数解析结果,内部用 HashTable 存储。""" + _ht: int # hashtable.HashTable 指针 + __mbuddy__: int # memhub.MemBuddy 指针 + + def __new__(self, mb: int) -> int: + """堆分配 ParsedArgs 对象。""" + return 0 + + def __init__(self, mb: int) -> None: + """初始化解析结果。 + + Args: + mb: MemBuddy 指针(int) + """ + ... + + def get_str(self, name: str) -> str: + """获取字符串值。 + + Args: + name: 键名(dest) + Returns: + 字符串值,键不存在返回 None + """ + return "" + + def get_int(self, name: str) -> int: + """获取整数值。 + + Args: + name: 键名(dest) + Returns: + 整数值,键不存在返回 0 + """ + return 0 + + def get_bool(self, name: str) -> int: + """获取布尔值(返回 1 或 0)。 + + Args: + name: 键名(dest) + Returns: + 1 或 0,键不存在返回 0 + """ + return 0 + + def has(self, name: str) -> bool: + """检查键是否存在。""" + return False + + def _set_str(self, name: str, val: str) -> None: ... + def _set_int(self, name: str, val: int) -> None: ... + def _set_bool(self, name: str, val: bool) -> None: ... + + +# ============================================================ +# ArgumentParser - 命令行参数解析器 +# ============================================================ +class ArgumentParser: + """命令行参数解析器。 + + 用法: + argparse._mbuddy = mb + parser = ArgumentParser("myprog", "A test", pool=mb) + parser.add_argument("--input", "-i", arg_type=argparse.STRING, + required=True, help="input file") + parser.add_argument("--count", "-c", arg_type=argparse.INT, + default=0, help="repeat count") + parser.add_argument("--verbose", "-v", action=argparse.STORE_TRUE, + help="verbose mode") + parser.add_argument("output", arg_type=argparse.STRING, + help="output path") + args = parser.parse_args(argc, argv) + if args is not None: + inp: str = args.get_str("input") + cnt: int = args.get_int("count") + verb: int = args.get_bool("verbose") + out: str = args.get_str("output") + argparse.release(args) + """ + _prog: str + _description: str + _args: int # Argument 数组基址(指针) + _arg_count: int + __mbuddy__: int # memhub.MemBuddy 指针 + + def __new__(self, prog: str = "", description: str = "", + pool: int = 0) -> int: + """堆分配 ArgumentParser 对象。""" + return 0 + + def __init__(self, prog: str = "", description: str = "", + pool: int = 0) -> None: + """初始化解析器。 + + Args: + prog: 程序名 + description: 描述文本 + pool: MemBuddy 指针(int),为 0 时使用模块级 _mbuddy + """ + ... + + def add_argument(self, name: str = "", short: str = "", + arg_type: int = 0, default: int = 0, + default_str: str = "", required: bool = False, + action: int = 0, help: str = "") -> None: + """注册一个命令行参数。 + + Args: + name: 参数名("--input" 或 "output") + short: 短选项("-i"),可选 + arg_type: 类型(STRING/INT/BOOL) + default: INT 默认值 + default_str: STRING 默认值 + required: 是否必须 + action: 动作(STORE/STORE_TRUE/STORE_FALSE/COUNT) + help: 帮助文本 + """ + ... + + def parse_args(self, argc: int, argv: int) -> int: + """解析命令行参数。 + + Args: + argc: 参数个数 + argv: 参数数组(char**,指针,int),argv[0] 为程序名 + Returns: + ParsedArgs 指针(int),失败返回 0(None) + """ + return 0 + + def print_help(self) -> None: + """打印帮助信息到 stdout。""" + ... + + def print_usage(self) -> None: + """打印用法简述到 stdout。""" + ... + + +# ============================================================ +# release - 释放 ParsedArgs 及其内部资源 +# ============================================================ +def release(args: int) -> None: + """释放 ParsedArgs 对象及其内部 HashTable。 + + Args: + args: ParsedArgs 指针(int),为 0(None)无操作 + """ + ... diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/c.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/c.vpi new file mode 100644 index 0000000..895793e --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/c.vpi @@ -0,0 +1,81 @@ +# Viper C 互操作模块 c 的存根。 +# 所有函数返回值类型姑息映射为 Python 类型。 + +from typing import Any, TypeVar + +T = TypeVar('T') + + +def Addr(x: T) -> int: + """取地址 &x,返回指针(int)。""" + return 0 + +def Deref(ptr: int) -> T: + """解引用 *ptr。""" + ... + +def Load(dst: int, src: int) -> None: + """内存拷贝 *dst = *src。""" + ... + +def DerefAs(ptr: int, value: T) -> None: + """解引用赋值 *ptr = value。""" + ... + +def Set(target: Any, value: T) -> None: + """target = value。""" + ... + +def Asm(asm: str, *args: Any, op: Any = None) -> Any: + """内联汇编。op 为破坏描述符列表。""" + ... + +def LLVMIR(ir: str, *args: Any, op: Any = None) -> Any: + """LLVM IR 内联。op 为破坏描述符列表。""" + ... + +def LInp(expr: Any, constraint: Any = None) -> Any: + """LLVM IR 输入操作数标记。""" + ... + +def LOut(expr: Any, constraint: Any = None) -> Any: + """LLVM IR 输出操作数标记。""" + ... + +def AsmInp(expr: Any, constraint: Any = None) -> Any: + """asm 输入操作数标记。constraint 为寄存器约束(如 t.ASM_DESCR.REG_ANY)。""" + ... + +def AsmOut(expr: Any, constraint: Any = None) -> Any: + """asm 输出操作数标记。constraint 为寄存器约束(如 t.ASM_DESCR.OUTPUT_REG)。""" + ... + +# 预处理指令 +def CDefine(name: str, value: Any) -> None: ... +def CIfdef(name: str) -> bool: ... +def CIfndef(name: str) -> bool: ... +def CIf(cond: bool) -> bool: + """编译期 if。""" + ... +def CElif(cond: bool) -> bool: ... +def CElse() -> None: ... +def CEndif() -> None: ... +def Undef(name: str) -> None: ... +def CError(msg: str) -> None: ... + +# 装饰器 +def Attribute(*args: Any) -> Any: + """GCC __attribute__ 装饰器。""" + ... + +def CReturn(*types: Any) -> Any: + """多返回值装饰器。""" + ... + +def NoBreak() -> None: + """match case fallthrough 标记。""" + ... + +def Break() -> None: + """match case 提前 break 标记。""" + ... diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/ctraits.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/ctraits.vpi new file mode 100644 index 0000000..06079b1 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/ctraits.vpi @@ -0,0 +1,58 @@ +# Viper 编译时类型特征库 ctraits 存根。 +# 所有函数仅在编译时求值,可与 c.CIf 等编译时条件配合使用。 + +import t + + +def isptr(x: t.CType) -> bool: + """编译时判断 x 的类型是否为指针类型。 + + 返回 True 如果 x 是指针(ptr_count > 0),否则返回 False。 + 可与 c.CIf 配合使用实现条件编译。 + + 示例: + if c.CIf(ctraits.isptr(my_var)): + # 仅当 my_var 是指针类型时编译此分支 + ... + """ + return False + + +def isint(x: t.CType) -> bool: + """编译时判断 x 的类型是否为整数类型。""" + return False + + +def isfloat(x: t.CType) -> bool: + """编译时判断 x 的类型是否为浮点类型。""" + return False + + +def isstruct(x: t.CType) -> bool: + """编译时判断 x 的类型是否为结构体类型。""" + return False + + +def isarray(x: t.CType) -> bool: + """编译时判断 x 的类型是否为数组类型。""" + return False + + +def issigned(x: t.CType) -> bool: + """编译时判断 x 的类型是否为有符号整数。""" + return False + + +def isunsigned(x: t.CType) -> bool: + """编译时判断 x 的类型是否为无符号整数。""" + return False + + +def sizeof(x: t.CType) -> int: + """编译时获取类型 x 的字节大小(等价 sizeof(x))。""" + return 0 + + +def alignof(x: t.CType) -> int: + """编译时获取类型 x 的对齐要求(等价 _Alignof(x))。""" + return 0 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/hashtable.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/hashtable.vpi new file mode 100644 index 0000000..c236570 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/hashtable.vpi @@ -0,0 +1,140 @@ +# Viper 开放寻址哈希表库 hashtable 存根。 +# 使用线性探测处理冲突,支持自动扩容和墓碑删除。 +# 键类型固定为 str (i8*),值类型为 void* (通用指针)。 +# 姑息策略: +# - __slots__ 等指针字段映射为 int(指针整数) +# - __mbuddy__ 为 MemBuddy 指针(int) +# - 值指针映射为 int +# - 键存在性/删除返回 int(0/1) + +import t +import string +import memhub + + +# 槽大小: hash(8) + key(8) + value(8) = 24 字节 +_HT_SLOT_SIZE: int = 24 +# FNV-1a 64-bit 常量 +_FNV_OFFSET: int = 0xcbf29ce484222325 +_FNV_PRIME: int = 0x100000001b3 + + +def _fnv1a_hash(key: str) -> int: + """FNV-1a 64-bit 哈希函数。 + + 保证返回值 >= 2(避开空槽 0 和墓碑 1)。 + """ + return 0 + + +class HashTable: + """开放寻址哈希表,使用线性探测处理冲突。 + + 键类型固定为 str (i8*),值类型为 void* (通用指针)。 + 使用 mbuddy 分配器管理内存。负载因子超过 0.75 时自动扩容。 + + 用法: + mb: memhub.MemBuddy = memhub.MemBuddy(arena, arena_size) + ht: HashTable = HashTable(mb) + ht.set_int("x", 42) + p: int = ht["x"] + v: int = c.Deref(p) + """ + __slots__: int # 槽位数组基址(指针) + __count__: int # 已用条目数 + __capacity__: int # 槽位总数(2 的幂) + __tombstones__: int # 墓碑数 + __mbuddy__: int # memhub.MemBuddy 指针 + __iter_index__: int # 迭代游标 + + def __new__(self, mb: int) -> int: + """堆分配 HashTable 对象。 + + Args: + mb: MemBuddy 指针(int) + Returns: + 对象指针(int) + """ + return 0 + + def __init__(self, mb: int) -> None: + """初始化哈希表。 + + Args: + mb: MemBuddy 指针(int) + """ + ... + + def __setitem__(self, key: str, val: int) -> None: + """插入或更新键值对。 + + Args: + key: 键字符串 + val: 值指针(int),自动取地址 + """ + ... + + def __getitem__(self, key: str) -> int: + """查找 key,返回值指针。 + + Returns: + 值指针(int),不存在返回 0(None) + """ + return 0 + + def __contains__(self, key: str) -> int: + """检查 key 是否存在。 + + Returns: + 存在返回 1,不存在返回 0 + """ + return 0 + + def __delitem__(self, key: str) -> int: + """删除 key。 + + Returns: + 成功返回 1,key 不存在返回 0 + """ + return 0 + + def __len__(self) -> int: + """返回已用条目数。""" + return 0 + + def __iter__(self) -> 'HashTable': + """初始化迭代器,返回 self。""" + return self + + def __next__(self) -> str: + """返回下一个键。迭代结束抛出 StopIteration。""" + raise StopIteration + + def get(self, key: str, default: int) -> int: + """返回值指针,不存在则返回 default。 + + Args: + key: 键字符串 + default: 默认值指针(int) + Returns: + 值指针(int) + """ + return 0 + + def set_int(self, key: str, val: int) -> None: + """存储 int 值。值复制到 mbuddy 持久存储。 + + Args: + key: 键字符串 + val: 整数值 + """ + ... + + def set_str(self, key: str, val: str) -> None: + """存储 str 值。直接存储字符串指针。 + + Args: + key: 键字符串 + val: 值字符串 + """ + ... diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/linkedlist.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/linkedlist.vpi new file mode 100644 index 0000000..f5cab8f --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/linkedlist.vpi @@ -0,0 +1,210 @@ +# Viper 链表数据结构库 linkedlist 存根。 +# 提供 LinkedNode/SListNode/GSListNode/GSList/GTreeNode 等节点类型。 +# 姑息策略: +# - 节点指针字段映射为节点类型本身(含 None 表示空指针) +# - 计数字段映射为 int +# - 返回节点指针映射为节点类型或 None + +from typing import Generic, TypeVar, Optional + +T = TypeVar('T') + + +# ============================================================ +# LinkedNode: 非多态继承基类(@t.NoVTable) +# 子类继承此类即"启用"标准链表/树形结构能力: +# - 双向兄弟链表(next/prev)→ O(1) 删除 +# - 父子树结构(child/last_child/parent)→ O(1) 追加子节点 +# - 子节点计数(child_count) +# ============================================================ +class LinkedNode: + """双向兄弟链表 + 父子树节点基类。 + + 字段展平嵌入子类,无 vtable 开销(对应 C++ 非多态继承)。 + 用法: + class MyNode(LinkedNode): + value: int + root: MyNode = MyNode() + child: MyNode = MyNode() + root.append(child) + child.detach() + """ + next: Optional['LinkedNode'] # 下一个兄弟节点 + prev: Optional['LinkedNode'] # 上一个兄弟节点(双向链表,O(1) 删除) + child: Optional['LinkedNode'] # 第一个子节点 + last_child: Optional['LinkedNode'] # 最后一个子节点(O(1) 追加) + parent: Optional['LinkedNode'] # 父节点 + child_count: int # 子节点数 + + def append(self, node: 'LinkedNode') -> None: + """将 node 追加为 self 的最后一个子节点(O(1))。 + + 若 node 已在某链表中,调用方应先 node.detach() 再 append。 + """ + ... + + def prepend(self, node: 'LinkedNode') -> None: + """将 node 插入为 self 的第一个子节点(O(1))。""" + ... + + def insert_before(self, node: 'LinkedNode', new_node: 'LinkedNode') -> None: + """在 node 之前插入 new_node(node 必须是 self 的子节点,O(1))。""" + ... + + def insert_after(self, node: 'LinkedNode', new_node: 'LinkedNode') -> None: + """在 node 之后插入 new_node(node 必须是 self 的子节点,O(1))。""" + ... + + def remove_child(self, node: 'LinkedNode') -> None: + """从 self 的子链表中摘除 node(O(1))。node 必须是 self 的直接子节点。""" + ... + + def detach(self) -> None: + """将 self 从其所在兄弟链表中摘除(O(1))。 + + 调用后 self 的 next/prev/parent 被清空,child 链不受影响。 + """ + ... + + def unlink(self) -> None: + """断开 self 的所有连接(兄弟 + 父子),不递归处理子节点。""" + ... + + def has_children(self) -> int: + """返回 1 若有子节点,否则 0。""" + return 0 + + def child_at(self, index: int) -> Optional['LinkedNode']: + """返回第 index 个子节点(O(n),从 0 开始),越界返回 None。""" + return None + + def count_children(self) -> int: + """遍历计算子节点数(O(n)),用于校验 child_count。""" + return 0 + + def first_sibling(self) -> Optional['LinkedNode']: + """返回兄弟链表的头节点(沿 prev 回溯)。""" + return None + + def last_sibling(self) -> Optional['LinkedNode']: + """返回兄弟链表的尾节点(沿 next 前进)。""" + return None + + +# ============================================================ +# SListNode: 单向链表节点(@t.NoVTable) +# 轻量级单向链表,仅 Next 指针,无 prev/parent/child +# ============================================================ +class SListNode: + """单向链表节点。""" + Next: Optional['SListNode'] # 下一个节点 + + def append(self, node: 'SListNode') -> 'SListNode': + """将 node 追加到链表末尾(O(n)),返回 self(head)。""" + return self + + def append_after(self, node: 'SListNode') -> 'SListNode': + """将 node 追加到 self 之后(O(1)),返回新的 tail(即 node)。""" + return node + + def count(self) -> int: + """遍历计算链表长度(O(n))。""" + return 0 + + def at(self, index: int) -> Optional['SListNode']: + """返回第 index 个节点(O(n),从 0 开始),越界返回 None。""" + return None + + def remove(self, node: 'SListNode') -> 'SListNode': + """从链表中移除 node(O(n)),返回新的 head(self)。""" + return self + + +# ============================================================ +# GSListNode[T]: 泛型单向链表节点(@t.NoVTable + PEP 695 泛型) +# 递归泛型用法:class GNode(GSListNode[GNode]): +# ============================================================ +class GSListNode(Generic[T]): + """泛型单向链表节点。 + + 相比 SListNode,Next 字段类型为 T,特化后无需向下转型。 + """ + Next: Optional[T] + + +# ============================================================ +# GSList[T]: 泛型单向链表容器(@t.NoVTable + PEP 695 泛型) +# 持有 Head/Tail/Count,提供 O(1) append 和 O(n) at +# ============================================================ +class GSList(Generic[T]): + """泛型单向链表容器。 + + 节点类型 T 必须继承 GSListNode[T](以获得 Next 字段)。 + 用法: + lst: GSList[GNode] = GSList[GNode]() + lst.append(node) + """ + Head: Optional[T] + Tail: Optional[T] + Count: int + + def __init__(self) -> None: + """初始化空链表。""" + ... + + def append(self, node: T) -> None: + """将 node 追加到链表末尾(O(1))。""" + ... + + def count(self) -> int: + """返回节点数(O(1))。""" + return 0 + + def at(self, index: int) -> Optional[T]: + """返回第 index 个节点(O(n),从 0 开始),越界返回 None。""" + return None + + +# ============================================================ +# GTreeNode[T]: 泛型树节点(@t.NoVTable + PEP 695 泛型) +# 强类型版本的 LinkedNode,所有指针字段类型为 T +# 递归泛型用法:class AST(GTreeNode[AST]): +# ============================================================ +class GTreeNode(Generic[T]): + """泛型树节点。 + + 强类型版本的 LinkedNode,提供: + - 双向兄弟链表(Next/Prev)→ O(1) 删除 + - 父子树结构(Child/LastChild/Parent)→ O(1) 追加子节点 + - 子节点计数(Count) + """ + Next: Optional[T] # 下一个兄弟节点 + Prev: Optional[T] # 上一个兄弟节点(双向链表,O(1) 删除) + Child: Optional[T] # 第一个子节点 + LastChild: Optional[T] # 最后一个子节点(O(1) 追加) + Parent: Optional[T] # 父节点 + Count: int # 子节点数 + + def append(self, node: T) -> None: + """将 node 追加为 self 的最后一个子节点(O(1))。""" + ... + + def prepend(self, node: T) -> None: + """将 node 插入为 self 的第一个子节点(O(1))。""" + ... + + def detach(self) -> None: + """将 self 从其所在兄弟链表中摘除(O(1))。""" + ... + + def has_children(self) -> int: + """返回 1 若有子节点,否则 0。""" + return 0 + + def child_at(self, index: int) -> Optional[T]: + """返回第 index 个子节点(O(n),从 0 开始),越界返回 None。""" + return None + + def count_children(self) -> int: + """遍历计算子节点数(O(n)),用于校验 Count。""" + return 0 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/memhub.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/memhub.vpi new file mode 100644 index 0000000..f83fc61 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/memhub.vpi @@ -0,0 +1,243 @@ +# Viper 统一内存管理库 memhub 存根。 +# 提供 MemManager 多态基类及 MemPool/MemSlab/MemBuddy 三个子类。 +# 姑息策略: +# - 指针字段映射为 int(指针整数) +# - 大小/计数映射为 int +# - 返回指针映射为 int(NULL=0 表示失败) + +import t +import string +import stdio + + +# ============================================================ +# 常量 +# ============================================================ +MEMHUB_ALIGN: int = 8 # 对齐粒度 +MEMSLAB_MIN_BLOCK: int = 16 # MemSlab 最小块大小 +MEMSLAB_BITMAP_BYTES: int = 256 # MemSlab 位图字节数 +MEMBUDDY_MIN_BLOCK: int = 32 # MemBuddy 最小块大小 +MEMBUDDY_MAX_ORDERS: int = 32 # MemBuddy 最大阶数 +MEMBUDDY_HEADER_SIZE: int = 8 # MemBuddy 块头大小 + + +def _align_up(val: int, align: int) -> int: + """向上对齐到 align 的倍数。""" + return 0 + + +def _largest_pow2_le(val: int) -> int: + """返回不超过 val 的最大 2 的幂。""" + return 0 + + +def _block_size_at_order(order: int) -> int: + """返回指定阶数的块大小。""" + return 0 + + +# ============================================================ +# MemManager - 多态基类(@t.CVTable) +# 子类通过 vtable 覆盖 alloc/free/reset,支持多态调用 +# ============================================================ +class MemManager: + """内存管理器多态基类。 + + 子类: + MemPool - arena bump 分配器(不支持单个 free) + MemSlab - 定长块池(位图跟踪) + MemBuddy - 伙伴系统(支持合并) + """ + __provides__: list # ['__memmgr__'] + base: int # 内存区起始地址(指针) + size: int # 内存区总大小 + + def __init__(self, base: int, size: int) -> None: + """初始化内存管理器。 + + Args: + base: 内存区起始地址(指针,int) + size: 内存区总大小(字节) + """ + ... + + # === 虚函数(子类覆盖) === + def alloc(self, size: int) -> int: + """分配 size 字节内存。 + + Returns: + 成功返回指针(int),失败返回 0(NULL) + """ + return 0 + + def free(self, ptr: int) -> int: + """释放内存。 + + Returns: + 成功返回 1,失败返回 0 + """ + return 0 + + def reset(self) -> int: + """重置内存区(回收全部)。 + + Returns: + 成功返回 1 + """ + return 0 + + # === 具体方法(自动多态分派) === + def calloc(self, count: int, size: int) -> int: + """分配 count*size 字节并清零。""" + return 0 + + def realloc(self, ptr: int, new_size: int) -> int: + """重新调整分配大小。""" + return 0 + + def __enter__(self) -> 'MemManager': + """进入 with 上下文,返回 self。""" + ... + + def __exit__(self) -> None: + """退出 with 上下文,调用 reset。""" + ... + + def alloc_buf(self, capacity: int) -> int: + """分配一个 viperio.Buf 及其数据区。 + + Args: + capacity: 数据区容量 + Returns: + Buf 指针(int),失败返回 0 + """ + return 0 + + +# ============================================================ +# MemPool - arena bump 分配器 +# 不支持单个 free,reset 一次性回收全部 +# ============================================================ +class MemPool(MemManager): + """Arena bump 分配器。""" + offset: int # bump 游标 + high_water: int # 峰值水位 + + def __init__(self, base: int, size: int) -> None: ... + + def alloc(self, size: int) -> int: ... + def free(self, ptr: int) -> int: ... + def reset(self) -> int: ... + + +# ============================================================ +# MemSlab - 定长块池 +# arena 开头存位图,后续区域按 block_size 切分,空闲链管理 +# ============================================================ +class MemSlab(MemManager): + """定长块池分配器。""" + block_size: int # 每块大小(对齐后) + block_count: int # 总块数 + used_count: int # 已用块数 + free_list: int # 空闲链头(指针) + alloc_map: int # 分配位图基址(指针) + alloc_map_size: int # 位图字节数 + usable: int # 可用块区起始(指针) + usable_size: int # 可用块区大小 + + def __init__(self, base: int, size: int, block_size: int) -> None: + """初始化定长块池。 + + Args: + base: 内存区起始地址 + size: 内存区总大小 + block_size: 每块大小 + """ + ... + + def alloc(self, size: int) -> int: ... + def free(self, ptr: int) -> int: ... + def reset(self) -> int: ... + + +# ============================================================ +# MemBuddy - 伙伴系统分配器 +# 线程安全(自旋锁),支持合并 +# ============================================================ +class MemBuddy(MemManager): + """伙伴系统分配器。 + + __provides__ 同时提供 '__mbuddy__' 和 '__memmgr__', + 使 with MemBuddy(...) 上下文内的 __requires__=['__mbuddy__'] 类能注入。 + """ + __provides__: list # ['__mbuddy__', '__memmgr__'] + max_order: int # 最大阶数 + free_lists: int # 空闲链头数组基址(指针) + lock_val: int # 自旋锁 + usable: int # 可用区起始(指针) + usable_size: int # 可用区大小(2 的幂) + + def __init__(self, base: int, size: int) -> None: + """初始化伙伴系统。 + + Args: + base: 内存区起始地址 + size: 内存区总大小 + """ + ... + + def alloc(self, size: int) -> int: + """分配内存(线程安全)。 + + 失败时打印内存使用情况到 stderr。 + """ + return 0 + + def free(self, ptr: int) -> int: + """释放内存(线程安全,自动合并伙伴块)。""" + return 0 + + def reset(self) -> int: + """重置(回收全部)。""" + return 0 + + def realloc(self, ptr: int, new_size: int) -> int: + """重新调整大小(从块头读取旧阶数,无需 old_size)。""" + return 0 + + @property + def mem_size(self) -> int: + """可用区总大小(2 的幂)。""" + return 0 + + def stats(self) -> int: + """返回可用区总大小。""" + return 0 + + def free_count(self) -> int: + """统计所有阶数空闲链中的块总数。""" + return 0 + + def free_bytes(self) -> int: + """统计所有空闲块的总字节数。""" + return 0 + + def used_bytes(self) -> int: + """已使用字节数 = 可用区总大小 - 空闲字节数。""" + return 0 + + def dump_stats(self, label: int) -> None: + """打印内存使用统计到 stdout。 + + Args: + label: 标签字符串指针(int) + """ + ... + + def self_check(self) -> int: + """验证伙伴分配器内部一致性。 + + Returns: + 0=OK,非 0=损坏 + """ + return 0 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/os/__init__.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/os/__init__.vpi new file mode 100644 index 0000000..58fb5b0 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/os/__init__.vpi @@ -0,0 +1,143 @@ +# Viper os 包入口存根。 +# 根据 platmacro.IS_WINDOWS 分派到 _win32 或 _posix 后端。 +# os.path 为跨平台纯字符串操作,直接可用。 +# 姑息策略: +# - _mbuddy 为模块级全局 MemBuddy 指针(int) +# - 路径参数映射为 str +# - 文件大小返回 int(int64) +# - 列举目录的 out_names 为 int(char** 指针) + +import t +import memhub +from stdint import * + + +# 模块级全局 MBuddy 指针(由用户在 main 中赋值初始化) +_mbuddy: int # memhub.MemBuddy | t.CPtr + + +# ============================================================================= +# 文件/目录属性查询 +# ============================================================================= +def exists(path: str) -> bool: + """检查文件/目录是否存在。""" + return False + + +def isdir(path: str) -> bool: + """检查路径是否为目录。""" + return False + + +def isfile(path: str) -> bool: + """检查路径是否为普通文件。""" + return False + + +def getsize(path: str) -> int: + """返回文件大小(字节)。 + + Returns: + 文件大小,失败返回 -1 + """ + return 0 + + +# ============================================================================= +# 工作目录 +# ============================================================================= +def getcwd() -> str: + """返回当前工作目录(通过 _mbuddy 分配内存)。""" + return "" + + +def chdir(path: str) -> int: + """切换当前工作目录。 + + Returns: + 成功返回 0,失败返回 -1 + """ + return 0 + + +# ============================================================================= +# 文件/目录操作 +# ============================================================================= +def mkdir(path: str) -> int: + """创建目录。 + + Returns: + 成功返回 0,失败返回 -1 + """ + return 0 + + +def remove(path: str) -> int: + """删除文件。 + + Returns: + 成功返回 0,失败返回 -1 + """ + return 0 + + +def rmdir(path: str) -> int: + """删除空目录。 + + Returns: + 成功返回 0,失败返回 -1 + """ + return 0 + + +def rename(old_path: str, new_path: str) -> int: + """重命名/移动文件或目录。 + + Returns: + 成功返回 0,失败返回 -1 + """ + return 0 + + +def chmod(path: str, mode: int) -> int: + """修改文件权限。 + + Windows 上只处理只读位(S_IWUSR);POSIX 上使用完整权限位。 + + Returns: + 成功返回 0,失败返回 -1 + """ + return 0 + + +# ============================================================================= +# 目录列举 +# ============================================================================= +def listdir(path: str, out_names: int, max_count: int) -> int: + """列举目录下的文件/子目录名。 + + Args: + path: 目录路径 + out_names: 调用者提供的字符串指针数组(char**),每个元素指向一个文件名。 + 文件名通过 _mbuddy 分配内存。 + max_count: out_names 数组最大容量 + Returns: + 实际列举的条目数,失败返回 0 + """ + return 0 + + +# ============================================================================= +# 命令执行 +# ============================================================================= +def system(cmd: str) -> int: + """执行命令行命令(通过 C 运行时 system())。 + + 命令输出直接到终端(继承父进程 stdout/stderr)。 + + Args: + cmd: 命令字符串 + Returns: + 命令的退出码(0 表示成功) + """ + return 0 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/stdint.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/stdint.vpi new file mode 100644 index 0000000..4168532 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/stdint.vpi @@ -0,0 +1,138 @@ +# Viper C stdint.h 类型别名存根。 +# 姑息策略:所有整数/指针别名映射为 Python int,浮点映射为 float。 +# 与 t.vpi 配合,提供 Win32/TransPyC 风格的大写别名及 C 标准小写 _t 别名。 + +from t import * + +# ============================================================================= +# 大写别名(Win32/TransPyC 风格) +# 注意:INTPTR/UINTPTR 在此模块中是 int*/unsigned int* 指针类型(历史命名)。 +# 它们与 C 标准的 intptr_t/uintptr_t 整数类型不同,后者见下方小写 _t 区域。 +# ============================================================================= +INT: int # = t.CInt +INTPTR: int # = t.CInt | t.CPtr(int 指针) + +BOOL: int # = t.CInt +UINT: int # = t.CUnsignedInt +UINTPTR: int # = UINT | t.CPtr +BYTE: int # = t.CUnsignedChar +BYTEPTR: int # = BYTE | t.CPtr +WORD: int # = t.CUInt16T +DWORD: int # = t.CUInt32T +QWORD: int # = t.CUInt64T +TCHAR: int # = t.CChar +CHARLIST: int # = str | t.CPtr +VOID: int # = t.CVoid + +SHORT: int # = t.CShort +SHORTPTR: int # = t.CShort | t.CPtr +USHORT: int # = t.CUnsignedShort +USHORTPTR: int # = t.CUnsignedShort | t.CPtr + +LONGLONG: int # = t.CLongLong +ULONGLONG: int # = t.CUnsignedLongLong +LONG: int # = t.CLong +ULONG: int # = t.CUnsignedLong + +WCHAR: int # = WORD +WCHARPTR: int # = WORD | t.CPtr +CHARPTR: int # = t.CChar | t.CPtr +FSIZE_t: int # = DWORD +LBA_t: int # = DWORD + +VOIDPTR: int # = t.CVoid | t.CPtr +FLOAT: float # = t.CFloat +DOUBLE: float # = t.CDouble + +FLOAT8: float # = t.CFloat8T +FLOAT16: float # = t.CFloat16T +FLOAT32: float # = t.CFloat32T +FLOAT64: float # = t.CFloat64T +FLOAT128: float # = t.CFloat128T + +# ============================================================================= +# 定长整数大写别名 +# ============================================================================= +INT8: int # = t.CInt8T +INT16: int # = t.CInt16T +INT32: int # = t.CInt32T +INT64: int # = t.CInt64T + +UINT8: int # = t.CUInt8T +UINT16: int # = t.CUInt16T +UINT32: int # = t.CUInt32T +UINT64: int # = t.CUInt64T + +INT8PTR: int # = t.CInt8T | t.CPtr +INT16PTR: int # = t.CInt16T | t.CPtr +INT32PTR: int # = t.CInt32T | t.CPtr +INT64PTR: int # = t.CInt64T | t.CPtr + +UINT8PTR: int # = t.CUInt8T | t.CPtr +UINT16PTR: int # = t.CUInt16T | t.CPtr +UINT32PTR: int # = t.CUInt32T | t.CPtr +UINT64PTR: int # = t.CUInt64T | t.CPtr + +CHAR8: int # = t.CChar8T +CHAR16: int # = t.CChar16T +CHAR32: int # = t.CChar32T +CHAR8PTR: int # = t.CChar8T | t.CPtr +CHAR16PTR: int # = t.CChar16T | t.CPtr +CHAR32PTR: int # = t.CChar32T | t.CPtr + +i8: int # = t.CInt8T +i16: int # = t.CInt16T +i32: int # = t.CInt32T +i64: int # = t.CInt64T + +u8: int # = t.CUInt8T +u16: int # = t.CUInt16T +u32: int # = t.CUInt32T +u64: int # = t.CUInt64T + +SIZE_T: int # = t.CSizeT +SSIZE_T: int # = t.CPtrDiffT +PTRDIFF_T: int # = t.CPtrDiffT + +# ============================================================================= +# C 标准库 类型名(小写 _t 后缀) +# 用户 `from stdint import *` 后即可直接使用 int8_t / size_t 等。 +# ============================================================================= +int8_t: int # = t.CInt8T +int16_t: int # = t.CInt16T +int32_t: int # = t.CInt32T +int64_t: int # = t.CInt64T + +uint8_t: int # = t.CUInt8T +uint16_t: int # = t.CUInt16T +uint32_t: int # = t.CUInt32T +uint64_t: int # = t.CUInt64T + +size_t: int # = t.CSizeT +ssize_t: int # = t.CPtrDiffT +ptrdiff_t: int # = t.CPtrDiffT + +# intptr_t/uintptr_t 是足以容纳指针的整数类型(不是指针!) +# 与上方的 INTPTR/UINTPTR(int 指针)语义不同。 +intptr_t: int # = t.CIntPtrT +uintptr_t: int # = t.CUIntPtrT + +# 宽字符 / 字符类型 +wchar_t: int # = t.CWCharT +char8_t: int # = t.CChar8T +char16_t: int # = t.CChar16T +char32_t: int # = t.CChar32T + +# 浮点特化类型 +float8_t: float # = t.CFloat8T +float16_t: float # = t.CFloat16T +float32_t: float # = t.CFloat32T +float64_t: float # = t.CFloat64T +float128_t: float # = t.CFloat128T + +_Bool: int # = t.CBool + + +def __getattr__(name: str) -> int: + """兜底:未声明的 stdint 别名返回 int。""" + return 0 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/stdio.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/stdio.vpi new file mode 100644 index 0000000..6a77bf3 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/stdio.vpi @@ -0,0 +1,113 @@ +# Viper C stdio.h 函数存根。 +# 姑息策略: +# - 流指针(FILE*)映射为 bytes(姑息用 bytes 表示缓冲区指针) +# - 字符串格式参数映射为 str +# - 缓冲区参数映射为 bytes(可变缓冲) +# - 返回 t.CInt 映射为 int,t.State 映射为 None + +from typing import Any + + +def printf(fmt: str, *args: Any) -> int: + """格式化输出到 stdout。 + + Args: + fmt: 格式字符串(C 风格 %d/%s/%x/%f 等) + *args: 格式参数 + Returns: + 写入字符数(t.CInt),失败返回负值 + """ + return 0 + + +def fprintf(stream: bytes, fmt: str, *args: Any) -> int: + """格式化输出到指定流。 + + Args: + stream: FILE* 指针(姑息用 bytes) + fmt: 格式字符串 + *args: 格式参数 + Returns: + 写入字符数 + """ + return 0 + + +def sprintf(buf: bytes, fmt: str, *args: Any) -> int: + """格式化写入到缓冲区(不检查边界,慎用)。 + + Args: + buf: 目标缓冲区(bytes,可变) + fmt: 格式字符串 + *args: 格式参数 + Returns: + 写入字符数 + """ + return 0 + + +def snprintf(buf: bytes, size: int, fmt: str, *args: Any) -> int: + """格式化写入到缓冲区(带大小限制)。 + + Args: + buf: 目标缓冲区 + size: 缓冲区最大容量 + fmt: 格式字符串 + *args: 格式参数 + Returns: + 本应写入的字符数(可能 >= size) + """ + return 0 + + +def puts(s: str) -> int: + """输出字符串到 stdout 并追加换行。 + + Args: + s: 要输出的字符串 + Returns: + 成功返回非负值,失败返回 EOF + """ + return 0 + + +def fputs(s: str, stream: bytes) -> int: + """输出字符串到指定流(不追加换行)。 + + Args: + s: 要输出的字符串 + stream: FILE* 指针 + Returns: + 成功返回非负值,失败返回 EOF + """ + return 0 + + +def fgets(buf: bytes, size: int, stream: bytes) -> bytes: + """从流读取一行。 + + Args: + buf: 目标缓冲区 + size: 缓冲区最大容量 + stream: FILE* 指针 + Returns: + 成功返回 buf 指针,失败或 EOF 返回 None + """ + ... + + +def fflush(stream: bytes) -> int: + """刷新流缓冲区。 + + Args: + stream: FILE* 指针,传 0(NULL)刷新所有输出流 + Returns: + 成功返回 0,失败返回 EOF + """ + return 0 + + +# 标准流指针(全局变量,仅声明供 printf 等函数使用) +stdin: bytes = 0 # 标准输入流 +stdout: bytes = 0 # 标准输出流 +stderr: bytes = 0 # 标准错误流 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/stdlib.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/stdlib.vpi new file mode 100644 index 0000000..fb8747e --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/stdlib.vpi @@ -0,0 +1,121 @@ +# Viper C stdlib.h 函数存根。 +# 姑息策略: +# - malloc/calloc/realloc 返回 int(指针整数,NULL=0 表示失败) +# - free 接受 int(指针) +# - system 返回 int(命令退出码) + +from stdint import * + + +def malloc(size: int) -> int: + """分配 size 字节的内存。 + + Args: + size: 要分配的字节数 + Returns: + 成功返回指向分配内存的指针(int),失败返回 0(NULL) + """ + return 0 + + +def calloc(nmemb: int, size: int) -> int: + """分配 nmemb 个 size 字节的内存并清零。 + + Args: + nmemb: 元素个数 + size: 每个元素的字节数 + Returns: + 成功返回指针(int),失败返回 0 + """ + return 0 + + +def realloc(p: int, size: int) -> int: + """重新调整已分配内存的大小。 + + Args: + p: 原指针(int),可为 0(NULL)表示新分配 + size: 新大小 + Returns: + 成功返回新指针(int),失败返回 0(原内存不变) + """ + return 0 + + +def free(p: int) -> None: + """释放已分配的内存。 + + Args: + p: malloc/calloc/realloc 返回的指针,传 0(NULL)无操作 + """ + ... + + +def system(cmd: str) -> int: + """执行系统命令。 + + Args: + cmd: 命令字符串(C 风格 const char*) + Returns: + 命令退出码(平台相关),cmd 为 None 时返回非 0 表示 shell 可用 + """ + return 0 + + +def exit(status: int) -> None: + """终止进程。 + + Args: + status: 退出码(0 表示成功) + """ + ... + + +def abort() -> None: + """异常终止进程(触发 SIGABRT)。""" + ... + + +def atof(s: str) -> float: + """字符串转 double。 + + Args: + s: 数字字符串 + Returns: + 解析得到的浮点数 + """ + return 0.0 + + +def atoi(s: str) -> int: + """字符串转 int。 + + Args: + s: 数字字符串 + Returns: + 解析得到的整数 + """ + return 0 + + +def atol(s: str) -> int: + """字符串转 long。 + + Args: + s: 数字字符串 + Returns: + 解析得到的整数 + """ + return 0 + + +def qsort(base: int, nmemb: int, size: int, compar: int) -> None: + """快速排序。 + + Args: + base: 数组基址指针(int) + nmemb: 元素个数 + size: 每个元素字节数 + compar: 比较函数指针(int),签名 int (*)(const void*, const void*) + """ + ... diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/string.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/string.vpi new file mode 100644 index 0000000..6acdf18 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/string.vpi @@ -0,0 +1,218 @@ +# Viper C string.h 函数存根。 +# 姑息策略: +# - 字符串参数映射为 str +# - 内存缓冲区指针映射为 int(指针整数) +# - 内存函数返回指针(int) +# - 长度/比较返回 int + +from typing import Any + + +# ============================================================================= +# 字符串复制 +# ============================================================================= +def strcpy(dest: str, src: str) -> str: + """复制 src 到 dest(含终止符)。 + + Returns: + dest 指针 + """ + ... + + +def strncpy(dest: str, src: str, n: int) -> str: + """复制 src 前 n 个字符到 dest。 + + 不足 n 时用 \\0 填充,超过 n 不追加终止符。 + + Args: + n: 最大复制字节数 + Returns: + dest 指针 + """ + ... + + +# ============================================================================= +# 字符串拼接 +# ============================================================================= +def strcat(dest: str, src: str) -> str: + """将 src 追加到 dest 末尾。 + + Returns: + dest 指针 + """ + ... + + +def strncat(dest: str, src: str, n: int) -> str: + """将 src 前 n 个字符追加到 dest 末尾。""" + ... + + +# ============================================================================= +# 字符串比较 +# ============================================================================= +def strcmp(str1: str, str2: str) -> int: + """比较两个字符串。 + + Returns: + < 0 表示 str1 < str2,= 0 表示相等,> 0 表示 str1 > str2 + """ + return 0 + + +def strncmp(str1: str, str2: str, n: int) -> int: + """比较两个字符串前 n 个字符。""" + return 0 + + +def samestr(str1: str, str2: str) -> bool: + """Viper 扩展:直接 == 比较。""" + return False + + +# ============================================================================= +# 字符串长度 +# ============================================================================= +def strlen(src: str) -> int: + """返回字符串长度(不含终止符)。""" + return 0 + + +# ============================================================================= +# 字符查找 +# ============================================================================= +def strchr(s: str, cr: int) -> str: + """在 s 中查找字符 cr 第一次出现的位置。 + + Args: + cr: 字符的 ASCII 码(int) + Returns: + 指向该字符的指针,未找到返回 None + """ + ... + + +def strrchr(s: str, cr: int) -> str: + """在 s 中查找字符 cr 最后一次出现的位置。 + + Returns: + 指向该字符的指针,未找到返回 None + """ + ... + + +def strstr(s: str, needle: str) -> str: + """在 s 中查找子串 needle 第一次出现的位置。 + + Returns: + 指向子串起始的指针,未找到返回 None + """ + ... + + +def strspn(s: str, skip: str = " ") -> int: + """返回 s 开头连续属于 skip 的字符数。""" + return 0 + + +# ============================================================================= +# 内存操作 +# ============================================================================= +def memset(ptr: int, value: int, num: int) -> int: + """将 ptr 指向的 num 字节内存全部设置为 value。 + + Args: + ptr: 内存指针(int) + value: 填充值(取低 8 位) + num: 字节数 + Returns: + ptr 指针 + """ + return 0 + + +def memset32(ptr: int, value: int, count: int) -> int: + """将 ptr 指向的 count 个 32 位整数全部设置为 value。 + + Args: + ptr: 内存指针(int) + value: 32 位填充值 + count: 32 位整数个数 + Returns: + ptr 指针 + """ + return 0 + + +def memcpy(dest: int, src: int, num: int) -> int: + """从 src 复制 num 字节到 dest(不处理重叠)。 + + Returns: + dest 指针 + """ + return 0 + + +def memmove(dest: int, src: int, num: int) -> int: + """从 src 复制 num 字节到 dest(处理重叠)。 + + Returns: + dest 指针 + """ + return 0 + + +def memcmp(ptr1: int, ptr2: int, n: int) -> int: + """比较两块内存前 n 字节。 + + Returns: + < 0 表示 ptr1 < ptr2,= 0 表示相等,> 0 表示 ptr1 > ptr2 + """ + return 0 + + +# ============================================================================= +# 字符串转数字(Viper 实现放在 string.py 中) +# ============================================================================= +def atoi(src: str) -> int: + """字符串转 int(支持前导空白和符号)。""" + return 0 + + +def atoll(src: str) -> int: + """字符串转 long long。""" + return 0 + + +def atof(src: str) -> float: + """字符串转 double(支持整数/小数/指数部分)。""" + return 0.0 + + +def split(s: str, delim: str, result: list) -> int: + """Viper 扩展:按单字符分隔符切分字符串。 + + Args: + s: 待切分字符串 + delim: 单字符分隔符 + result: 结果数组(str 指针数组),调用方需保证容量 + Returns: + 切分得到的 token 数 + """ + return 0 + + +# ============================================================================= +# 字符集常量 +# ============================================================================= +ascii_lowercase: str = "abcdefghijklmnopqrstuvwxyz" +ascii_uppercase: str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +ascii_letters: str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + +digits: str = "0123456789" +hexdigits: str = "0123456789abcdefABCDEF" +octdigits: str = "01234567" +punctuation: str = "!\"#$%&'()*+,-./:;<=>?@[]^_`{|}~" +whitespace: str = " \t\n\r\f\v" diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/sys.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/sys.vpi new file mode 100644 index 0000000..9412fce --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/sys.vpi @@ -0,0 +1,101 @@ +# Viper sys 模块存根。 +# 提供 C 标准库 IO 声明、平台信息、进程信息、命令行参数访问。 +# 姑息策略: +# - _mbuddy 为模块级全局 MemBuddy 指针(int) +# - 命令行 argv 数组指针为 int(char**) +# - exit 终止进程返回 None + +import t +import memhub +from stdint import * + + +# 模块级全局 MBuddy 指针(由用户在 main 中赋值初始化) +_mbuddy: int # memhub.MemBuddy | t.CPtr + + +# ============================================================================= +# C 标准库 IO 声明(从 sys 模块转发) +# ============================================================================= +def fgets(buf: int, size: int, stream: int) -> int: + """从流读取一行(C stdio 声明)。 + + Args: + buf: 目标缓冲区指针(int) + size: 缓冲区最大容量 + stream: FILE* 指针(int) + Returns: + 成功返回 buf 指针,失败返回 0(NULL) + """ + return 0 + + +def fflush(stream: int) -> int: + """刷新流缓冲区(C stdio 声明)。 + + Args: + stream: FILE* 指针(int),传 0 刷新所有输出流 + Returns: + 成功返回 0,失败返回 EOF + """ + return 0 + + +def exit(status: int) -> None: + """终止进程(刷新缓冲区后终止,跨平台)。 + + Args: + status: 退出码(0 表示成功) + """ + ... + + +# ============================================================================= +# 平台信息 +# ============================================================================= +# 最大整数值(64 位平台 ssize_t 上限) +maxsize: int = 9223372036854775807 + + +def platform() -> str: + """返回平台标识字符串。 + + Returns: + 'win32' 或 'linux' + """ + return "" + + +# ============================================================================= +# 进程信息 +# ============================================================================= +def get_pid() -> int: + """返回当前进程 ID。""" + return 0 + + +# ============================================================================= +# 命令行参数(argv) +# ============================================================================= +# 全局 argv 状态(首次访问时初始化) +_argc: int = 0 +# _argv 是指针数组(char**),姑息映射为 int +_argv: int + + +def argc() -> int: + """返回命令行参数个数。首次调用时自动初始化。""" + return 0 + + +def argv(index: int) -> str: + """返回第 index 个命令行参数(index 从 0 开始)。 + + 首次调用时自动初始化。索引越界返回 None。 + + Args: + index: 参数索引(0 = 程序名) + Returns: + 参数字符串,越界返回 None + """ + return "" diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/t.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/t.vpi new file mode 100644 index 0000000..5dabb04 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/t.vpi @@ -0,0 +1,646 @@ +# Viper 类型系统模块 t 的存根。 +# +# 姑息策略(完善版): +# - 基本数值/字符类型使用 TypeAlias 别名(等价 Python 内置类型), +# 使 `k: t.CInt = 1` 合法(1 是 int,CInt 别名 int) +# - 指针/修饰符/命名类型作为独立 class 继承 CType, +# 保持"类型"语义(绿色高亮)和联合类型 `T | t.CPtr` 支持 +# - CPtr 支持泛型下标 `t.CPtr[t.CInt]` +# - CArray 支持下标 `t.CArray[t.CInt, 64]` +# +# 来源:D:\Users\TermiNexus\Desktop\TransPyC\lib\includes\t.py +# 仅保留核心语义,省略 CTypeRegistry/attr/ASM_DESCR 等运行时设施。 + +from typing import Any, Generic, Optional, Type, TypeAlias, TypeVar +from typing import Callable as CallableT + +T = TypeVar('T') + + +# ============================================================================= +# CType 基类 +# ============================================================================= +class CType: + """C 类型基类。""" + PREFIX: str + BASE: str + POINTER: str + ARRAY: str + NAMED: str + STORAGE_CLASS: str + TYPE_QUALIFIER: str + + Name: str + IsBasicType: bool + IsPointer: bool + IsSigned: Optional[bool] + Size: Optional[int] + + def __init__(self, value: Any = None, *types: Any) -> None: ... + def GetPositions(self) -> frozenset[str]: ... + def GetFullType(self, VarName: str = '', ArraySizeStr: str = '') -> str: ... + def __or__(self, other: Any) -> list[Any]: ... + def __set_default__(self, **kwargs: Any) -> 'CTypeDefault': ... + + # Viper 扩展:__sizeof__ 作为类方法,返回类型的大小(字节数)。 + # C 语义:sizeof(struct memory_block) -> memory_block.__sizeof__() + # 第一个参数是 cls(类本身),无需显式传递 self。 + @classmethod + def __sizeof__(cls) -> int: ... + + +class CTypeDefault(CType): + """C 类型默认值/初始化包装类。""" + BaseType: Any + defaults: dict[str, Any] + def __init__(self, BaseType: Any, **kwargs: Any) -> None: ... + + +# ============================================================================= +# 基本整数类型(TypeAlias 别名,等价 int) +# ============================================================================= +CChar: TypeAlias = int +CShort: TypeAlias = int +CInt: TypeAlias = int +CLong: TypeAlias = int +CLongLong: TypeAlias = int +CSignedChar: TypeAlias = int +CUnsignedChar: TypeAlias = int +CUnsignedShort: TypeAlias = int +CUnsignedInt: TypeAlias = int +CUnsignedLong: TypeAlias = int +CUnsignedLongLong: TypeAlias = int + +# 固定宽度整数 +CInt8T: TypeAlias = int +CInt16T: TypeAlias = int +CInt32T: TypeAlias = int +CInt64T: TypeAlias = int +CUInt8T: TypeAlias = int +CUInt16T: TypeAlias = int +CUInt32T: TypeAlias = int +CUInt64T: TypeAlias = int + +# 最小/最快宽度整数 +CIntLeast8T: TypeAlias = int +CIntLeast16T: TypeAlias = int +CIntLeast32T: TypeAlias = int +CIntLeast64T: TypeAlias = int +CIntFast8T: TypeAlias = int +CIntFast16T: TypeAlias = int +CIntFast32T: TypeAlias = int +CIntFast64T: TypeAlias = int +CUIntLeast8T: TypeAlias = int +CUIntLeast16T: TypeAlias = int +CUIntLeast32T: TypeAlias = int +CUIntLeast64T: TypeAlias = int +CUIntFast8T: TypeAlias = int +CUIntFast16T: TypeAlias = int +CUIntFast32T: TypeAlias = int +CUIntFast64T: TypeAlias = int + +# 最大宽度整数 +CIntMaxT: TypeAlias = int +CUIntMaxT: TypeAlias = int + +# 平台相关整数 +CSizeT: TypeAlias = int +CIntPtrT: TypeAlias = int +CUIntPtrT: TypeAlias = int +CPtrDiffT: TypeAlias = int + +# 布尔 +CBool: TypeAlias = int + +# 宽字符 +CWCharT: TypeAlias = int +CChar8T: TypeAlias = int +CChar16T: TypeAlias = int +CChar32T: TypeAlias = int + +# LLVM 简写(直接作为类型别名,等价于固定宽度整数) +i1: TypeAlias = int +i8: TypeAlias = int +i16: TypeAlias = int +i32: TypeAlias = int +i64: TypeAlias = int +u1: TypeAlias = int +u8: TypeAlias = int +u16: TypeAlias = int +u32: TypeAlias = int +u64: TypeAlias = int + + +# ============================================================================= +# 浮点类型(TypeAlias 别名,等价 float) +# ============================================================================= +CFloat: TypeAlias = float +CDouble: TypeAlias = float +CFloat8T: TypeAlias = float +CFloat16T: TypeAlias = float +CFloat32T: TypeAlias = float +CFloat64T: TypeAlias = float +CFloat128T: TypeAlias = float + + +# ============================================================================= +# void 类型 +# ============================================================================= +class CVoid(CType): + """void 类型。Size=0,IsSigned=None。""" + pass + + +# ============================================================================= +# 指针类型(支持泛型下标) +# ============================================================================= +class CPtr(CType, Generic[T]): + """指针类型。用法: t.CPtr[t.CInt] 表示 int*。""" + def __class_getitem__(cls, item: Any) -> type: ... + # 指针解引用:通过 __getattr__/__setattr__ 将属性访问转发到 T 的字段。 + # 模拟 C 语言的 ptr->field 语义。 + def __getattr__(self, name: str) -> T: ... + def __setattr__(self, name: str, value: T) -> None: ... + + +class CNeedPtr(CPtr): + """函数签名注解:自动取地址(仅对非指针值)。""" + pass + + +class CAutoPtr(CPtr): + """函数签名注解:无条件取地址。""" + pass + + +class CArrayPtr(CType): + """数组指针。""" + pass + + +# ============================================================================= +# 数组类型(支持下标) +# ============================================================================= +class CArray(CType): + """栈上固定数组类型注解。 + 用法: names: t.CArray[VOIDPTR, 32] # void*[32] + data: t.CArray[t.CInt, 64] # int[64] + """ + def __class_getitem__(cls, item: Any) -> type: ... + def __getitem__(self, index: int) -> Any: ... + def __setitem__(self, index: int, value: Any) -> None: ... + + +# ============================================================================= +# 修饰符类型(用于联合类型注解) +# ============================================================================= +class CConst(CType): + """const 类型限定符。""" + pass + + +class CVolatile(CType): + """volatile 类型限定符。""" + pass + + +class CStatic(CType): + """static 存储类。""" + pass + + +class CExtern(CType): + """extern 存储类。""" + pass + + +class CInline(CType): + """inline 存储类。""" + pass + + +class CExport(CType): + """导出符号存储类。""" + pass + + +class CRegister(CType): + """register 存储类。""" + pass + + +class CAuto(CType): + """auto 存储类。""" + pass + + +class CPass(CType): + """占位类型。""" + pass + + +class CUnsigned(CType): + """unsigned 修饰符。""" + pass + + +class State(CType): + """状态标记,等价 CExport | CExtern。仅声明不定义。""" + pass + + +# CDefine 是编译时元指令(非数据类型): +# - 单独使用(t.CDefine):类型检查时视为任意类型,可接受任何值,可传给任何参数 +# - 联合使用(t.CDefine | t.CInt):CDefine 被过滤,按 t.CInt 规则严格检查 +# - 右值位或运算(MAX_SIZE | PAGE_SIZE):结果仍为 CDefine,保持任意传参语义 +# - 代码生成时 t.CDefine 常量/函数会被完全内联展开,不生成 LLVM IR 声明 +# 注:严格联合语义由 typeEvaluator.combineTypes 中的特殊处理实现 +class CDefine(CType): + """编译期宏定义类型(编译时元指令)。""" + def __or__(self, other: Any) -> 'CDefine': + """位或运算结果保持 CDefine 类型(任意传参语义)。""" + ... + def __ror__(self, other: Any) -> 'CDefine': + """反向位或运算结果保持 CDefine 类型。""" + ... + + +# CTypedef 是 TypeAlias 的别名(用于 typedef 语义) +CTypedef: TypeAlias = TypeAlias + + +# ============================================================================= +# OOP 修饰符(函数形式,用作装饰器) +# Object/NoVTable 为类装饰器:接收 type 返回 type +# CVTable 为类装饰器:接收 type 返回 type +# TLS 为函数装饰器:接收 Callable 返回 Callable +# 使用 Type[T] -> Type[T] 保留被装饰类的类型信息 +# ============================================================================= +def Object(cls: Type[T]) -> Type[T]: + """Python 对象类型装饰器(类方法外联函数)。""" + ... + + +def CVTable(cls: Type[T]) -> Type[T]: + """启用多态 vtable 装饰器。""" + ... + + +def NoVTable(cls: Type[T]) -> Type[T]: + """标记类为非多态继承基类:子类继承时字段直接展平嵌入,不生成 vtable。""" + ... + + +def TLS(func: CallableT[..., Any]) -> CallableT[..., Any]: + """标记函数为 TLS 初始化函数。""" + ... + + +# ============================================================================= +# 命名类型基类(struct/union/enum) +# ============================================================================= +class CStruct(CType): + """struct 命名类型。""" + pass + + +class CUnion(CType): + """union 命名类型。""" + pass + + +class CEnum(CType): + """enum 命名类型。""" + pass + + +# Enum 是 CEnum 的别名 +Enum: TypeAlias = CEnum + + +class REnum(CType): + """运行时 enum 命名类型。""" + pass + + +class Anonymous(CType): + """匿名类型标记。""" + pass + + +# ============================================================================= +# 位域与字节序 +# ============================================================================= +class Bit: + """位域标记。""" + def __init__(self, i: Any) -> None: ... + + +class BigEndian(CType): + """大端序字节序标记类。""" + IsSigned: bool + Size: int + Align: int + + +class LittleEndian(CType): + """小端序字节序标记类。""" + IsSigned: bool + Size: int + Align: int + + +# ============================================================================= +# C 语言 __attribute__ 属性操作类型 +# ============================================================================= +class attr: + """C 语言 __attribute__ 属性操作类型。 + + 来源:D:\\Users\\TermiNexus\\Desktop\\TransPyC\\lib\\includes\\t.py + """ + @staticmethod + def noreturn() -> str: ... + @staticmethod + def format(printf: Any, arg1: Any, arg2: Any) -> str: ... + @staticmethod + def section(name: str) -> str: ... + @staticmethod + def aligned(bytes: int) -> str: ... + @staticmethod + def packed() -> str: ... + @staticmethod + def unused() -> str: ... + @staticmethod + def used() -> str: ... + @staticmethod + def weak() -> str: ... + @staticmethod + def alias(name: str) -> str: ... + @staticmethod + def visibility(type: str) -> str: ... + @staticmethod + def constructor() -> str: ... + @staticmethod + def destructor() -> str: ... + @staticmethod + def always_inline() -> str: ... + @staticmethod + def noinline() -> str: ... + @staticmethod + def pure() -> str: ... + @staticmethod + def const() -> str: ... + @staticmethod + def malloc() -> str: ... + @staticmethod + def alloc_size(n: int) -> str: ... + @staticmethod + def warn_unused_result() -> str: ... + @staticmethod + def deprecated(msg: Optional[str] = None) -> str: ... + @staticmethod + def fallthrough() -> str: ... + @staticmethod + def likely() -> str: ... + @staticmethod + def unlikely() -> str: ... + @staticmethod + def hot() -> str: ... + @staticmethod + def cold() -> str: ... + @staticmethod + def interrupt() -> str: ... + @staticmethod + def naked() -> str: ... + @staticmethod + def sentinel(n: int = 0) -> str: ... + @staticmethod + def nonnull(*args: Any) -> str: ... + @staticmethod + def returns_nonnull() -> str: ... + @staticmethod + def access(mode: Any, *args: Any) -> str: ... + @staticmethod + def cleanup(func: str) -> str: ... + @staticmethod + def transparent_union() -> str: ... + @staticmethod + def mode(mode_name: str) -> str: ... + @staticmethod + def vector_size(bytes: int) -> str: ... + @staticmethod + def target(string: str) -> str: ... + @staticmethod + def optimize(level: str) -> str: ... + @staticmethod + def no_instrument_function() -> str: ... + @staticmethod + def no_sanitize(type: str) -> str: ... + @staticmethod + def no_stack_protector() -> str: ... + @staticmethod + def stack_protector() -> str: ... + @staticmethod + def error(msg: str) -> str: ... + @staticmethod + def warning(msg: str) -> str: ... + + class llvm: + """LLVM 函数属性描述符。 + + 用于在返回类型注解中指定 LLVM 函数属性。 + 例如: def foo() -> t.CInt | t.attr.llvm.nobuiltin | t.attr.llvm.nounwind: + """ + + class nobuiltin: pass + class nounwind: pass + class noredzone: pass + class willreturn: pass + class mustprogress: pass + class optnone: pass + class noinline: pass + class alwaysinline: pass + class readnone: pass + class readonly: pass + class writeonly: pass + class inaccessiblememonly: pass + class inaccessiblemem_or_argmemonly: pass + + +# ASM 描述符 +# ============================================================================= +class ASM_DESCR: + """内嵌 ASM 破坏描述符类。 + + 定义所有可能的破坏描述符和约束字符,用于 GCC 内嵌汇编。 + 来源:D:\\Users\\TermiNexus\\Desktop\\TransPyC\\lib\\includes\\t.py + """ + # 操作数修饰符 + MODIFIER_OUTPUT: str + MODIFIER_READWRITE: str + MODIFIER_INPUT: str + MODIFIER_GLOBAL: str + + # 寄存器约束(32位命名) + REG_ANY: str + REG_EAX: str + REG_EBX: str + REG_ECX: str + REG_EDX: str + REG_ESI: str + REG_EDI: str + REG_STACK: str + REG_FLOAT: str + REG_MMX: str + REG_XMM: str + + # 寄存器约束(64位命名,GCC约束字符与32位相同) + REG_RAX: str + REG_RBX: str + REG_RCX: str + REG_RDX: str + REG_RSI: str + REG_RDI: str + REG_R8: str + REG_R9: str + REG_R10: str + REG_R11: str + REG_R12: str + REG_R13: str + REG_R14: str + REG_R15: str + REG_RBP: str + REG_RSP: str + + # 内存约束 + MEMORY: str + + # 立即数约束 + IMMEDIATE: str + IMMEDIATE_CONST: str + + # 综合约束 + ANY: str + MEMORY_OR_REG: str + + # 破坏描述符 - 32位寄存器 + CLOBBER_EAX: str + CLOBBER_EBX: str + CLOBBER_ECX: str + CLOBBER_EDX: str + CLOBBER_ESI: str + CLOBBER_EDI: str + CLOBBER_EBP: str + CLOBBER_ESP: str + + # 破坏描述符 - 8位寄存器 + CLOBBER_AL: str + CLOBBER_AH: str + CLOBBER_BL: str + CLOBBER_BH: str + CLOBBER_CL: str + CLOBBER_CH: str + CLOBBER_DL: str + CLOBBER_DH: str + + # 破坏描述符 - 特殊 + CLOBBER_CC: str + CLOBBER_MEMORY: str + + # 破坏描述符 - 16位寄存器 + CLOBBER_AX: str + CLOBBER_BX: str + CLOBBER_CX: str + CLOBBER_DX: str + CLOBBER_SI: str + CLOBBER_DI: str + CLOBBER_BP: str + + # 破坏描述符 - 64位寄存器 + CLOBBER_RAX: str + CLOBBER_RBX: str + CLOBBER_RCX: str + CLOBBER_RDX: str + CLOBBER_RSI: str + CLOBBER_RDI: str + CLOBBER_RBP: str + CLOBBER_RSP: str + CLOBBER_R8: str + CLOBBER_R9: str + CLOBBER_R10: str + CLOBBER_R11: str + CLOBBER_R12: str + CLOBBER_R13: str + CLOBBER_R14: str + CLOBBER_R15: str + + # 预定义组合约束 - 输出(32位命名) + OUTPUT_REG: str + OUTPUT_MEM: str + OUTPUT_EAX: str + OUTPUT_EBX: str + OUTPUT_ECX: str + OUTPUT_EDX: str + OUTPUT_ESI: str + OUTPUT_EDI: str + + # 预定义组合约束 - 输出(64位命名) + OUTPUT_RAX: str + OUTPUT_RBX: str + OUTPUT_RCX: str + OUTPUT_RDX: str + OUTPUT_RSI: str + OUTPUT_RDI: str + + # 预定义组合约束 - 输入(32位命名) + INPUT_REG: str + INPUT_MEM: str + INPUT_EAX: str + INPUT_EBX: str + INPUT_ECX: str + INPUT_EDX: str + INPUT_ESI: str + INPUT_EDI: str + INPUT_IMM: str + INPUT_ANY: str + + # 预定义组合约束 - 输入(64位命名) + INPUT_RAX: str + INPUT_RBX: str + INPUT_RCX: str + INPUT_RDX: str + INPUT_RSI: str + INPUT_RDI: str + + # 所有单独约束字符列表 + ALL_CONSTRAINTS: list[str] + + # 所有破坏描述符列表 + ALL_CLOBBERS: list[str] + + # 所有描述符列表 + ALL: list[str] + + +# ============================================================================= +# 函数指针 +# ============================================================================= +class Callable(CType): + """函数指针类型。""" + pass + + +# ============================================================================= +# 平台配置 +# ============================================================================= +def configure_platform(triple: Optional[str] = None) -> None: + """根据目标三元组配置平台相关类型大小。""" + ... + + +# ============================================================================= +# 兜底:未声明的 t.C* 类型通过 __getattr__ 返回 int 别名 +# ============================================================================= +def __getattr__(name: str) -> int: + """未声明的 t.C* 类型返回 int 别名。""" + return 0 diff --git a/packages/vipeye-internal/vipershed-fallback/stdlib/viperlib.vpi b/packages/vipeye-internal/vipershed-fallback/stdlib/viperlib.vpi new file mode 100644 index 0000000..3253a46 --- /dev/null +++ b/packages/vipeye-internal/vipershed-fallback/stdlib/viperlib.vpi @@ -0,0 +1,93 @@ +# Viper 标准库扩展 viperlib 存根。 +# 提供 snprintf/sprintf/vsnprintf 等 C 风格格式化函数的纯 Viper 实现。 +# 姑息策略: +# - 缓冲区指针映射为 int(指针整数) +# - 格式字符串映射为 str +# - va_list 参数列表映射为 int(指针整数) +# - 返回 t.CInt 映射为 int + +from typing import Any + + +# 临时缓冲区大小(vsnprintf 内部数字转换用) +TEMP_BUF_SIZE: int = 68 + + +def get_digit_count(num: int, base: int) -> int: + """计算 num 在指定进制下的位数。 + + Args: + num: 无符号整数 + base: 进制(2/8/10/16) + Returns: + 位数 + """ + return 0 + + +def sprintf(buf: int, rule: str, *args: Any) -> None: + """格式化写入到缓冲区(不检查边界)。 + + 内部调用 vsnprintf,size 设为 INT_MAX。 + + Args: + buf: 目标缓冲区指针(int) + rule: 格式字符串 + *args: 格式参数 + """ + ... + + +def vsprintf(buf: int, rule: str, *args: Any) -> int: + """可变参数版本的 sprintf。 + + Args: + buf: 目标缓冲区指针(int) + rule: 格式字符串 + *args: 格式参数 + Returns: + 写入字符数 + """ + return 0 + + +def snprintf(buf: int, size: int, fmt: str, *args: Any) -> int: + """格式化写入到缓冲区(带大小限制)。 + + Args: + buf: 目标缓冲区指针(int) + size: 缓冲区最大容量 + fmt: 格式字符串 + *args: 格式参数 + Returns: + 本应写入的字符数 + """ + return 0 + + +def vsnprintf(buf: int, size: int, fmt: str, ap: int) -> int: + """可变参数版本的 snprintf。 + + 支持的格式说明符:%c %s %d %i %u %x %X %o %b %p %f %F %e %E %g %G %a %A %n %% + 支持的修饰符:- 0 + 空格 # 宽度 .精度 h hh l ll z j t + + Args: + buf: 目标缓冲区指针(int) + size: 缓冲区最大容量 + fmt: 格式字符串 + ap: va_list 参数列表指针(int) + Returns: + 写入字符数 + """ + return 0 + + +def _check_special_float(fv: float) -> int: + """检测浮点特殊值(IEEE 754)。 + + Args: + fv: 待检测的 double 值 + Returns: + 0=normal, 1=+inf, 2=-inf, 3=nan + """ + return 0 diff --git a/packages/pyright-typeserver/.gitignore b/packages/vipeye-typeserver/.gitignore similarity index 100% rename from packages/pyright-typeserver/.gitignore rename to packages/vipeye-typeserver/.gitignore diff --git a/packages/pyright-typeserver/package-lock.json b/packages/vipeye-typeserver/package-lock.json similarity index 100% rename from packages/pyright-typeserver/package-lock.json rename to packages/vipeye-typeserver/package-lock.json diff --git a/packages/pyright-typeserver/package.json b/packages/vipeye-typeserver/package.json similarity index 93% rename from packages/pyright-typeserver/package.json rename to packages/vipeye-typeserver/package.json index aae9083..702873a 100644 --- a/packages/pyright-typeserver/package.json +++ b/packages/vipeye-typeserver/package.json @@ -40,9 +40,9 @@ "/dist", "LICENSE.txt" ], - "main": "pyright-typeserver.js", + "main": "vipeye-typeserver.js", "bin": { - "pyright-typeserver": "pyright-typeserver.js" + "vipeye-typeserver": "vipeye-typeserver.js" }, "overrides": { "tar": "7.5.11" diff --git a/packages/pyright-typeserver/pyright-typeserver.js b/packages/vipeye-typeserver/pyright-typeserver.js similarity index 100% rename from packages/pyright-typeserver/pyright-typeserver.js rename to packages/vipeye-typeserver/pyright-typeserver.js diff --git a/packages/pyright-typeserver/rspack.config.js b/packages/vipeye-typeserver/rspack.config.js similarity index 86% rename from packages/pyright-typeserver/rspack.config.js rename to packages/vipeye-typeserver/rspack.config.js index 88c981f..65f014e 100644 --- a/packages/pyright-typeserver/rspack.config.js +++ b/packages/vipeye-typeserver/rspack.config.js @@ -4,21 +4,21 @@ const { monorepoResourceNameMapper, tsconfigResolveAliases } = require('../../bu const rspack = createRequire(__filename)('@rspack/core'); const outPath = path.resolve(__dirname, 'dist'); -const typeshedFallback = path.resolve(__dirname, '..', 'pyright-internal', 'typeshed-fallback'); +const typeshedFallback = path.resolve(__dirname, '..', 'vipeye-internal', 'typeshed-fallback'); /** @type {(env: any, argv: { mode: 'production' | 'development' | 'none' }) => any} */ module.exports = (_, { mode }) => { return { context: __dirname, entry: { - 'pyright-typeserver': './src/node/nodeMain.ts', + 'vipeye-typeserver': './src/node/nodeMain.ts', }, target: 'node', output: { filename: '[name].js', path: outPath, devtoolModuleFilenameTemplate: - mode === 'development' ? '../[resource-path]' : monorepoResourceNameMapper('pyright-typeserver'), + mode === 'development' ? '../[resource-path]' : monorepoResourceNameMapper('vipeye-typeserver'), clean: true, }, devtool: mode === 'development' ? 'source-map' : 'nosources-source-map', @@ -65,10 +65,10 @@ module.exports = (_, { mode }) => { chunks: 'all', priority: -10, }, - pyright: { - name: 'pyright-internal', + vipeye: { + name: 'vipeye-internal', chunks: 'all', - test: /[\\/]pyright-internal[\\/]/, + test: /[\\/]vipeye-internal[\\/]/, priority: -20, }, }, diff --git a/packages/vipeye-typeserver/src/node/nodeMain.ts b/packages/vipeye-typeserver/src/node/nodeMain.ts new file mode 100644 index 0000000..c924a2d --- /dev/null +++ b/packages/vipeye-typeserver/src/node/nodeMain.ts @@ -0,0 +1,13 @@ +/* + * nodeMain.ts + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT license. + * + * Thin entry-point shim for the Pyright type server. All server logic lives in + * vipeye-internal so that vscode-languageserver resolves to a single copy (matching + * how the `pyright` package's entry points shim over vipeye-internal). + */ + +import { main } from 'vipeye-internal/typeServer/nodeMain'; + +void main(); diff --git a/packages/vipeye-typeserver/tsconfig.json b/packages/vipeye-typeserver/tsconfig.json new file mode 100644 index 0000000..eb8f35c --- /dev/null +++ b/packages/vipeye-typeserver/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./out", + "rootDir": "../..", + "paths": { + "vipeye-internal/*": ["../vipeye-internal/src/*"] + }, + "typeRoots": ["./node_modules/@types", "../vipeye-internal/typings"] + }, + "include": ["src/**/*", "**/*.js", "../vipeye-internal/typings/*.d.ts"], + "exclude": ["node_modules", "dist", "out", "vipeye-typeserver.js"] +} diff --git a/packages/pyright/.gitignore b/packages/vipeye/.gitignore similarity index 100% rename from packages/pyright/.gitignore rename to packages/vipeye/.gitignore diff --git a/packages/pyright/index.js b/packages/vipeye/index.js similarity index 100% rename from packages/pyright/index.js rename to packages/vipeye/index.js diff --git a/packages/pyright/langserver.index.js b/packages/vipeye/langserver.index.js similarity index 100% rename from packages/pyright/langserver.index.js rename to packages/vipeye/langserver.index.js diff --git a/packages/pyright/package-lock.json b/packages/vipeye/package-lock.json similarity index 100% rename from packages/pyright/package-lock.json rename to packages/vipeye/package-lock.json diff --git a/packages/pyright/package.json b/packages/vipeye/package.json similarity index 53% rename from packages/pyright/package.json rename to packages/vipeye/package.json index a9ae819..f6a57b7 100644 --- a/packages/pyright/package.json +++ b/packages/vipeye/package.json @@ -1,20 +1,20 @@ { - "name": "pyright", - "displayName": "Pyright", - "description": "Type checker for the Python language", + "name": "vipeye", + "displayName": "Vipeye", + "description": "Type checker for the Viper language", "version": "1.1.411", "license": "MIT", "author": { - "name": "Microsoft Corporation" + "name": "TermiNexus" }, - "publisher": "Microsoft Corporation", + "publisher": "terminexus", "engines": { "node": ">=14.0.0" }, "repository": { "type": "git", - "url": "https://github.com/Microsoft/pyright", - "directory": "packages/pyright" + "url": "https://github.com/TermiNexus/Viper_VSCode", + "directory": "packages/vipeye" }, "scripts": { "build": "rspack build -c rspack.config.js --mode production", @@ -42,8 +42,25 @@ ], "main": "index.js", "bin": { - "pyright": "index.js", - "pyright-langserver": "langserver.index.js" + "vipeye": "index.js", + "vipeye-langserver": "langserver.index.js" + }, + "contributes": { + "configuration": { + "title": "Vipeye", + "properties": { + "viper.analysis.dialect": { + "type": "string", + "enum": [ + "python", + "viper" + ], + "default": "viper", + "description": "Language dialect for analysis. 'viper' enables Viper-specific semantic short-circuits.", + "scope": "resource" + } + } + } }, "overrides": { "tar": "7.5.11" diff --git a/packages/pyright/rspack.config.js b/packages/vipeye/rspack.config.js similarity index 86% rename from packages/pyright/rspack.config.js rename to packages/vipeye/rspack.config.js index ce975c9..a9fd75f 100644 --- a/packages/pyright/rspack.config.js +++ b/packages/vipeye/rspack.config.js @@ -4,22 +4,22 @@ const { monorepoResourceNameMapper, tsconfigResolveAliases } = require('../../bu const rspack = createRequire(__filename)('@rspack/core'); const outPath = path.resolve(__dirname, 'dist'); -const typeshedFallback = path.resolve(__dirname, '..', 'pyright-internal', 'typeshed-fallback'); +const typeshedFallback = path.resolve(__dirname, '..', 'vipeye-internal', 'typeshed-fallback'); /** @type {(env: any, argv: { mode: 'production' | 'development' | 'none' }) => any} */ module.exports = (_, { mode }) => { return { context: __dirname, entry: { - pyright: './src/pyright.ts', - 'pyright-langserver': './src/langserver.ts', + vipeye: './src/pyright.ts', + 'vipeye-langserver': './src/langserver.ts', }, target: 'node', output: { filename: '[name].js', path: outPath, devtoolModuleFilenameTemplate: - mode === 'development' ? '../[resource-path]' : monorepoResourceNameMapper('pyright'), + mode === 'development' ? '../[resource-path]' : monorepoResourceNameMapper('vipeye'), clean: true, }, devtool: mode === 'development' ? 'source-map' : 'nosources-source-map', @@ -66,10 +66,10 @@ module.exports = (_, { mode }) => { chunks: 'all', priority: -10, }, - pyright: { - name: 'pyright-internal', + vipeye: { + name: 'vipeye-internal', chunks: 'all', - test: /[\\/]pyright-internal[\\/]/, + test: /[\\/]vipeye-internal[\\/]/, priority: -20, }, }, diff --git a/packages/pyright/src/langserver.ts b/packages/vipeye/src/langserver.ts similarity index 62% rename from packages/pyright/src/langserver.ts rename to packages/vipeye/src/langserver.ts index 823f562..0cab9d7 100644 --- a/packages/pyright/src/langserver.ts +++ b/packages/vipeye/src/langserver.ts @@ -1,4 +1,4 @@ -import { main } from 'pyright-internal/nodeMain'; +import { main } from 'vipeye-internal/nodeMain'; // Command line version doesn't use any worker threads. main(/* maxWorkers */ 0); diff --git a/packages/vipeye/src/pyright.ts b/packages/vipeye/src/pyright.ts new file mode 100644 index 0000000..64cf5f5 --- /dev/null +++ b/packages/vipeye/src/pyright.ts @@ -0,0 +1,3 @@ +import { main } from 'vipeye-internal/pyright'; + +main(); diff --git a/packages/pyright/tsconfig.json b/packages/vipeye/tsconfig.json similarity index 64% rename from packages/pyright/tsconfig.json rename to packages/vipeye/tsconfig.json index 2e2c508..5a718e6 100644 --- a/packages/pyright/tsconfig.json +++ b/packages/vipeye/tsconfig.json @@ -4,16 +4,16 @@ "outDir": "./out", "rootDir": "../..", "paths": { - "pyright-internal/*": [ - "../pyright-internal/src/*" + "vipeye-internal/*": [ + "../vipeye-internal/src/*" ], }, - "typeRoots": ["./node_modules/@types", "../pyright-internal/typings"] + "typeRoots": ["./node_modules/@types", "../vipeye-internal/typings"] }, "include": [ "src/**/*", "**/*.js", - "../pyright-internal/typings/*.d.ts" + "../vipeye-internal/typings/*.d.ts" ], "exclude": [ "node_modules", diff --git a/packages/vscode-pyright/.vscodeignore b/packages/vscode-vipeye/.vscodeignore similarity index 100% rename from packages/vscode-pyright/.vscodeignore rename to packages/vscode-vipeye/.vscodeignore diff --git a/packages/vscode-pyright/CHANGELOG.md b/packages/vscode-vipeye/CHANGELOG.md similarity index 100% rename from packages/vscode-pyright/CHANGELOG.md rename to packages/vscode-vipeye/CHANGELOG.md diff --git a/packages/vscode-pyright/LICENSE.txt b/packages/vscode-vipeye/LICENSE.txt similarity index 100% rename from packages/vscode-pyright/LICENSE.txt rename to packages/vscode-vipeye/LICENSE.txt diff --git a/packages/vscode-pyright/README.md b/packages/vscode-vipeye/README.md similarity index 100% rename from packages/vscode-pyright/README.md rename to packages/vscode-vipeye/README.md diff --git a/packages/vscode-pyright/build/checkPackage.js b/packages/vscode-vipeye/build/checkPackage.js similarity index 78% rename from packages/vscode-pyright/build/checkPackage.js rename to packages/vscode-vipeye/build/checkPackage.js index f31079f..d7e8d1d 100644 --- a/packages/vscode-pyright/build/checkPackage.js +++ b/packages/vscode-vipeye/build/checkPackage.js @@ -9,8 +9,8 @@ async function main() { const obj = JSON.parse(packageJson); const name = obj.name; - if (name !== 'pyright') { - console.error(chalk.red(`Extension name must be "pyright", but is currently set to "${name}".`)); + if (name !== 'vipeye') { + console.error(chalk.red(`Extension name must be "vipeye", but is currently set to "${name}".`)); console.error(chalk.red('Please package by running "npm run package" to ensure the name is set correctly.')); console.error(); process.exit(1); diff --git a/packages/vscode-pyright/build/renamePackage.js b/packages/vscode-vipeye/build/renamePackage.js similarity index 100% rename from packages/vscode-pyright/build/renamePackage.js rename to packages/vscode-vipeye/build/renamePackage.js diff --git a/packages/vscode-pyright/images/pyright-icon.png b/packages/vscode-vipeye/images/vipeye-icon.png similarity index 100% rename from packages/vscode-pyright/images/pyright-icon.png rename to packages/vscode-vipeye/images/vipeye-icon.png diff --git a/packages/vscode-vipeye/language-configuration.json b/packages/vscode-vipeye/language-configuration.json new file mode 100644 index 0000000..63c3162 --- /dev/null +++ b/packages/vscode-vipeye/language-configuration.json @@ -0,0 +1,51 @@ +{ + "comments": { + "lineComment": "#", + "blockComment": ["\"\"\"", "\"\"\""] + }, + "brackets": [ + ["{", "}"], + ["[", "]"], + ["(", ")"] + ], + "autoClosingPairs": [ + { "open": "{", "close": "}" }, + { "open": "[", "close": "]" }, + { "open": "(", "close": ")" }, + { "open": "\"", "close": "\"", "notIn": ["string"] }, + { "open": "'", "close": "'", "notIn": ["string", "comment"] }, + { "open": "\"\"\"", "close": "\"\"\"", "notIn": ["string"] }, + { "open": "'''", "close": "'''", "notIn": ["string", "comment"] } + ], + "surroundingPairs": [ + { "open": "{", "close": "}" }, + { "open": "[", "close": "]" }, + { "open": "(", "close": ")" }, + { "open": "\"", "close": "\"" }, + { "open": "'", "close": "'" }, + { "open": "\"\"\"", "close": "\"\"\"" }, + { "open": "'''", "close": "'''" } + ], + "onEnterRules": [ + { + "beforeText": "^\\s*(?:def|class|for|if|elif|else|while|try|finally|with|except|async).*?:\\s*$", + "action": { "indent": "indent" } + }, + { + "beforeText": "^\\s*(?:\"\"\"|''')", + "action": { "indent": "indent" } + } + ], + "folding": { + "offSide": true, + "markers": { + "start": "^\\s*#\\s*region\\b", + "end": "^\\s*#\\s*endregion\\b" + } + }, + "wordPattern": "(?x)\n \\b\\w*\\b \n | (?<=\\.)\\w+\n | (?<=@)\\w+\n | \\p{Lu}[\\p{Ll}_\\p{Lu}\\p{Nd}]*\n | [[:alpha:]_][[:alpha:]_\\p{Nd}]*\n | \\p{Lu}[\\p{Ll}_\\p{Lu}\\p{Nd}]*f?\\b", + "indentationRules": { + "increaseIndentPattern": "^\\s*(class|def|elif|else|except|finally|for|if|try|while|with|async\\s+def|async\\s+for|async\\s+with)\\b.*:\\s*$", + "decreaseIndentPattern": "^\\s*(elif|else|except|finally)\\b.*:\\s*$" + } +} diff --git a/packages/vscode-pyright/package-lock.json b/packages/vscode-vipeye/package-lock.json similarity index 100% rename from packages/vscode-pyright/package-lock.json rename to packages/vscode-vipeye/package-lock.json diff --git a/packages/vscode-pyright/package.json b/packages/vscode-vipeye/package.json similarity index 92% rename from packages/vscode-pyright/package.json rename to packages/vscode-vipeye/package.json index d84e651..746d2ff 100644 --- a/packages/vscode-pyright/package.json +++ b/packages/vscode-vipeye/package.json @@ -1,137 +1,150 @@ { - "name": "vscode-pyright", - "displayName": "Pyright", - "description": "VS Code static type checking for Python", + "name": "vscode-vipeye", + "displayName": "Vipeye", + "description": "VS Code language support for Viper (LSP client)", "version": "1.1.411", "private": true, "license": "MIT", "author": { - "name": "Microsoft Corporation" + "name": "TermiNexus" }, - "publisher": "ms-pyright", + "publisher": "terminexus", "repository": { "type": "git", - "url": "https://github.com/Microsoft/pyright" + "url": "https://github.com/TermiNexus/Viper_VSCode" }, "engines": { "vscode": "^1.101.0" }, "keywords": [ - "python" + "viper" ], "categories": [ "Programming Languages" ], "activationEvents": [ - "onLanguage:python", - "workspaceContains:pyrightconfig.json" + "onLanguage:viper", + "workspaceContains:**/*.vpj", + "workspaceContains:**/*.vp" ], - "icon": "images/pyright-icon.png", + "icon": "images/vipeye-icon.png", "main": "./dist/extension.js", "contributes": { "languages": [ { - "id": "python", + "id": "viper", "aliases": [ - "Python" + "Viper" ], "extensions": [ - ".py", - ".pyi" - ] + ".vp", + ".vpi" + ], + "configuration": "./language-configuration.json", + "icon": { + "light": "images/vipeye-icon.png", + "dark": "images/vipeye-icon.png" + } + } + ], + "grammars": [ + { + "language": "viper", + "scopeName": "source.viper", + "path": "./syntaxes/viper.tmLanguage.json" } ], "commands": [ { - "command": "pyright.organizeimports", + "command": "viper.organizeimports", "title": "Organize Imports", - "category": "Pyright" + "category": "Viper" }, { - "command": "pyright.restartserver", + "command": "viper.restartserver", "title": "Restart Server", - "category": "Pyright" + "category": "Viper" }, { - "command": "pyright.dumpTokens", + "command": "viper.dumpTokens", "title": "Dump token streams ...", - "category": "Pyright", - "enablement": "editorLangId == python && pyright.development" + "category": "Viper", + "enablement": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpNodes", + "command": "viper.dumpNodes", "title": "Dump parse tree ...", - "category": "Pyright", - "enablement": "editorLangId == python && pyright.development" + "category": "Viper", + "enablement": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpTypes", + "command": "viper.dumpTypes", "title": "Dump type info ...", - "category": "Pyright", - "enablement": "editorLangId == python && pyright.development" + "category": "Viper", + "enablement": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpCachedTypes", + "command": "viper.dumpCachedTypes", "title": "Dump cached type info ...", - "category": "Pyright", - "enablement": "editorLangId == python && pyright.development" + "category": "Viper", + "enablement": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpCodeFlowGraph", + "command": "viper.dumpCodeFlowGraph", "title": "Dump code flow graph for node ...", - "category": "Pyright", - "enablement": "editorLangId == python && pyright.development" + "category": "Viper", + "enablement": "editorLangId == viper && viper.development" } ], "menus": { "editor/context": [ { - "command": "pyright.organizeimports", - "title": "Pyright: Organize Imports", - "group": "Pyright", - "when": "editorLangId == python" + "command": "viper.organizeimports", + "title": "Viper: Organize Imports", + "group": "Viper", + "when": "editorLangId == viper" } ], "commandPalette": [ { - "command": "pyright.dumpTokens", - "when": "editorLangId == python && pyright.development" + "command": "viper.dumpTokens", + "when": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpNodes", - "when": "editorLangId == python && pyright.development" + "command": "viper.dumpNodes", + "when": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpTypes", - "when": "editorLangId == python && pyright.development" + "command": "viper.dumpTypes", + "when": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpCachedTypes", - "when": "editorLangId == python && pyright.development" + "command": "viper.dumpCachedTypes", + "when": "editorLangId == viper && viper.development" }, { - "command": "pyright.dumpCodeFlowGraph", - "when": "editorLangId == python && pyright.development" + "command": "viper.dumpCodeFlowGraph", + "when": "editorLangId == viper && viper.development" } ] }, "configuration": { "type": "object", - "title": "Pyright", + "title": "Vipeye", "properties": { - "python.analysis.autoImportCompletions": { + "viper.analysis.autoImportCompletions": { "type": "boolean", "default": true, "description": "Offer auto-import completions.", "scope": "resource" }, - "python.analysis.autoSearchPaths": { + "viper.analysis.autoSearchPaths": { "type": "boolean", "default": true, "description": "Automatically add common search paths like 'src'?", "scope": "resource" }, - "python.analysis.extraPaths": { + "viper.analysis.extraPaths": { "type": "array", "default": [], "items": { @@ -140,13 +153,13 @@ "description": "Additional import search resolution paths", "scope": "resource" }, - "python.analysis.stubPath": { + "viper.analysis.stubPath": { "type": "string", "default": "typings", "description": "Path to directory containing custom type stub files.", "scope": "resource" }, - "python.analysis.diagnosticMode": { + "viper.analysis.diagnosticMode": { "type": "string", "default": "openFilesOnly", "enum": [ @@ -159,36 +172,36 @@ ], "scope": "resource" }, - "python.analysis.include": { + "viper.analysis.include": { "type": "array", "default": [], "items": { "type": "string" }, - "description": "Paths of directories or files that should be included. If no paths are specified, pyright defaults to the workspace root directory. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character).", + "description": "Paths of directories or files that should be included. If no paths are specified, vipeye defaults to the workspace root directory. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character).", "scope": "resource" }, - "python.analysis.exclude": { + "viper.analysis.exclude": { "type": "array", "default": [], "items": { "type": "string" }, - "description": "Paths of directories or files that should not be included. These override the include directories, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no exclude paths are specified, pyright automatically excludes the following: `**/node_modules`, `**/__pycache__`, `.git` and any virtual environment directories.", + "description": "Paths of directories or files that should not be included. These override the include directories, allowing specific subdirectories to be excluded. Note that files in the exclude paths may still be included in the analysis if they are referenced (imported) by source files that are not excluded. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no exclude paths are specified, vipeye automatically excludes the following: `**/node_modules`, `**/__pycache__`, `.git` and any virtual environment directories.", "scope": "resource" }, - "python.analysis.ignore": { + "viper.analysis.ignore": { "type": "array", "default": [], "items": { "type": "string" }, - "description": "Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character). If no value is provided, the value of python.linting.ignorePatterns (if set) will be used.", + "description": "Paths of directories or files whose diagnostic output (errors and warnings) should be suppressed even if they are an included file or within the transitive closure of an included file. Paths may contain wildcard characters ** (a directory or multiple levels of directories), * (a sequence of zero or more characters), or ? (a single character).", "scope": "resource" }, - "python.analysis.diagnosticSeverityOverrides": { + "viper.analysis.diagnosticSeverityOverrides": { "type": "object", - "description": "Allows a user to override the severity levels for individual diagnostics. Use the rule name as a key and one of \"error\", \"warning\", \"information\", \"none\", `true` (alias for \"error\") or `false` (alias for \"none\") as value. The default value shown for each diagnostic is the default when \"python.analysis.typeCheckingMode\" is set to \"standard\". See [here](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#diagnostic-rule-defaults) for defaults for each type checking mode (\"off\", \"basic\", \"standard\", and \"strict\").", + "description": "Allows a user to override the severity levels for individual diagnostics. Use the rule name as a key and one of \"error\", \"warning\", \"information\", \"none\", `true` (alias for \"error\") or `false` (alias for \"none\") as value. The default value shown for each diagnostic is the default when \"viper.analysis.typeCheckingMode\" is set to \"standard\". See [here](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#diagnostic-rule-defaults) for defaults for each type checking mode (\"off\", \"basic\", \"standard\", and \"strict\").", "scope": "resource", "properties": { "reportGeneralTypeIssues": { @@ -244,7 +257,7 @@ "string", "boolean" ], - "description": "Diagnostics for imports that have no corresponding imported python file or type stub file.", + "description": "Diagnostics for imports that have no corresponding imported Viper file or type stub file.", "default": "error", "enum": [ "none", @@ -308,7 +321,7 @@ "string", "boolean" ], - "description": "Diagnostics for cyclical import chains. These are not errors in Python, but they do slow down type analysis and often hint at architectural layering issues. Generally, they should be avoided.", + "description": "Diagnostics for cyclical import chains. These are not errors in Viper, but they do slow down type analysis and often hint at architectural layering issues. Generally, they should be avoided.", "default": "none", "enum": [ "none", @@ -996,7 +1009,7 @@ "string", "boolean" ], - "description": "Diagnostics for invalid escape sequences used within string literals. The Python specification indicates that such sequences will generate a syntax error in future versions.", + "description": "Diagnostics for invalid escape sequences used within string literals. The Viper specification indicates that such sequences will generate a syntax error in future versions.", "default": "warning", "enum": [ "none", @@ -1489,7 +1502,7 @@ } } }, - "python.analysis.logLevel": { + "viper.analysis.logLevel": { "type": "string", "default": "Information", "description": "Specifies the level of logging for the Output panel", @@ -1500,7 +1513,7 @@ "Trace" ] }, - "python.analysis.typeCheckingMode": { + "viper.analysis.typeCheckingMode": { "type": "string", "default": "standard", "enum": [ @@ -1512,7 +1525,7 @@ "description": "Defines the default rule set for type checking.", "scope": "resource" }, - "python.analysis.typeshedPaths": { + "viper.analysis.typeshedPaths": { "type": "array", "default": [], "items": { @@ -1521,62 +1534,50 @@ "description": "Paths to look for typeshed modules.", "scope": "resource" }, - "python.analysis.useLibraryCodeForTypes": { + "viper.analysis.useLibraryCodeForTypes": { "type": "boolean", "default": true, "description": "Use library implementations to extract type information when type stub is not present.", "scope": "resource" }, - "pyright.disableLanguageServices": { + "vipeye.disableLanguageServices": { "type": "boolean", "default": false, "description": "Disables type completion, definitions, and references.", "scope": "resource" }, - "pyright.disableTaggedHints": { + "vipeye.disableTaggedHints": { "type": "boolean", "default": false, "description": "Disable hint diagnostics with special hints for grayed-out or strike-through text.", "scope": "resource" }, - "pyright.disableOrganizeImports": { + "vipeye.disableOrganizeImports": { "type": "boolean", "default": false, "description": "Disables the “Organize Imports” command.", "scope": "resource" }, - "pyright.disablePullDiagnostics": { + "vipeye.disablePullDiagnostics": { "type": "boolean", "default": false, "description": "Disables the use of pull diagnostics from VS Code.", "scope": "machine" - }, - "python.pythonPath": { - "type": "string", - "default": "python", - "description": "Path to Python, you can use a custom version of Python.", - "scope": "resource" - }, - "python.venvPath": { - "type": "string", - "default": "", - "description": "Path to folder with a list of Virtual Environments.", - "scope": "resource" } } }, "jsonValidation": [ { - "fileMatch": "pyrightconfig.json", - "url": "./schemas/pyrightconfig.schema.json" + "fileMatch": "vipeyeconfig.json", + "url": "./schemas/vipeyeconfig.schema.json" } ] }, "scripts": { "clean": "shx rm -rf ./dist ./out", - "prepackage": "node ./build/renamePackage.js pyright", + "prepackage": "node ./build/renamePackage.js vipeye", "package": "vsce package", - "postpackage": "node ./build/renamePackage.js vscode-pyright", + "postpackage": "node ./build/renamePackage.js vscode-vipeye", "vscode:prepublish": "node ./build/checkPackage.js && npm run clean && rspack build -c rspack.config.js --mode production", "webpack": "rspack build -c rspack.config.js --mode development", "webpack-dev": "npm run clean && rspack build -c rspack.config.js --mode development --watch" diff --git a/packages/vscode-pyright/packages.config b/packages/vscode-vipeye/packages.config similarity index 100% rename from packages/vscode-pyright/packages.config rename to packages/vscode-vipeye/packages.config diff --git a/packages/vscode-pyright/rspack.config.js b/packages/vscode-vipeye/rspack.config.js similarity index 76% rename from packages/vscode-pyright/rspack.config.js rename to packages/vscode-vipeye/rspack.config.js index 2e5005b..9faa849 100644 --- a/packages/vscode-pyright/rspack.config.js +++ b/packages/vscode-vipeye/rspack.config.js @@ -4,7 +4,8 @@ const { monorepoResourceNameMapper, tsconfigResolveAliases } = require('../../bu const rspack = createRequire(__filename)('@rspack/core'); const outPath = path.resolve(__dirname, 'dist'); -const typeshedFallback = path.resolve(__dirname, '..', 'pyright-internal', 'typeshed-fallback'); +const typeshedFallback = path.resolve(__dirname, '..', 'vipeye-internal', 'typeshed-fallback'); +const vipershedFallback = path.resolve(__dirname, '..', 'vipeye-internal', 'vipershed-fallback'); /** @type {(env: any, argv: { mode: 'production' | 'development' | 'none' }) => any} */ module.exports = (_, { mode }) => { @@ -22,7 +23,7 @@ module.exports = (_, { mode }) => { type: 'commonjs2', }, devtoolModuleFilenameTemplate: - mode === 'development' ? '../[resource-path]' : monorepoResourceNameMapper('vscode-pyright'), + mode === 'development' ? '../[resource-path]' : monorepoResourceNameMapper('vscode-vipeye'), clean: true, }, devtool: mode === 'development' ? 'source-map' : 'nosources-source-map', @@ -53,6 +54,13 @@ module.exports = (_, { mode }) => { }, ], }, - plugins: [new rspack.CopyRspackPlugin({ patterns: [{ from: typeshedFallback, to: 'typeshed-fallback' }] })], + plugins: [ + new rspack.CopyRspackPlugin({ + patterns: [ + { from: typeshedFallback, to: 'typeshed-fallback' }, + { from: vipershedFallback, to: 'vipershed-fallback' }, + ], + }), + ], }; }; diff --git a/packages/vscode-pyright/schemas/pyrightconfig.schema.json b/packages/vscode-vipeye/schemas/vipeyeconfig.schema.json similarity index 100% rename from packages/vscode-pyright/schemas/pyrightconfig.schema.json rename to packages/vscode-vipeye/schemas/vipeyeconfig.schema.json diff --git a/packages/vscode-pyright/sign.proj b/packages/vscode-vipeye/sign.proj similarity index 100% rename from packages/vscode-pyright/sign.proj rename to packages/vscode-vipeye/sign.proj diff --git a/packages/vscode-pyright/src/cancellationUtils.ts b/packages/vscode-vipeye/src/cancellationUtils.ts similarity index 97% rename from packages/vscode-pyright/src/cancellationUtils.ts rename to packages/vscode-vipeye/src/cancellationUtils.ts index 5ed0310..d1d35ba 100644 --- a/packages/vscode-pyright/src/cancellationUtils.ts +++ b/packages/vscode-vipeye/src/cancellationUtils.ts @@ -17,7 +17,7 @@ import { Disposable, } from 'vscode-languageserver'; -import { randomBytesHex } from 'pyright-internal/common/crypto'; +import { randomBytesHex } from 'vipeye-internal/common/crypto'; function getCancellationFolderPath(folderName: string) { return path.join(os.tmpdir(), 'python-languageserver-cancellation', folderName); diff --git a/packages/vscode-pyright/src/extension.ts b/packages/vscode-vipeye/src/extension.ts similarity index 61% rename from packages/vscode-pyright/src/extension.ts rename to packages/vscode-vipeye/src/extension.ts index 7094545..42a328e 100644 --- a/packages/vscode-pyright/src/extension.ts +++ b/packages/vscode-vipeye/src/extension.ts @@ -14,8 +14,6 @@ import { commands, ExtensionContext, ExtensionMode, - extensions, - OutputChannel, Position, Range, TextEditor, @@ -29,7 +27,6 @@ import { CancellationToken, ConfigurationParams, ConfigurationRequest, - DidChangeConfigurationNotification, LanguageClient, LanguageClientOptions, ResponseError, @@ -38,8 +35,8 @@ import { TransportKind, } from 'vscode-languageclient/node'; -import { Commands } from 'pyright-internal/commands/commands'; -import { isThenable } from 'pyright-internal/common/core'; +import { Commands } from 'vipeye-internal/commands/commands'; +import { isThenable } from 'vipeye-internal/common/core'; import { FileBasedCancellationStrategy } from './cancellationUtils'; @@ -47,28 +44,12 @@ let cancellationStrategy: FileBasedCancellationStrategy | undefined; let languageClient: LanguageClient | undefined; -const pythonPathChangedListenerMap = new Map(); - // Request a heap size of 3GB. This is reasonable for modern systems. const defaultHeapSize = 3072; export async function activate(context: ExtensionContext) { - const pythonSettings = workspace.getConfiguration('python'); - const langServer = pythonSettings.get('languageServer'); - - // See if Pylance is installed. If so, don't activate the Pyright extension. - // Doing so will generate "command already registered" errors and redundant - // hover text, etc.because the two extensions overlap in functionality. - const pylanceExtension = extensions.getExtension('ms-python.vscode-pylance'); - if (pylanceExtension && langServer !== 'None') { - window.showErrorMessage( - 'Pyright has detected that the Pylance extension is installed. ' + - 'Pylance includes the functionality of Pyright, and running both of ' + - 'these extensions can lead to problems. Pyright will disable itself. ' + - 'Uninstall or disable Pyright to avoid this message.' - ); - return; - } + // Pylance detection disabled for Viper — this extension handles .vp/.vpi files, + // which Pylance does not recognize, so there is no functional overlap. cancellationStrategy = new FileBasedCancellationStrategy(); @@ -97,20 +78,19 @@ export async function activate(context: ExtensionContext) { // Options to control the language client const clientOptions: LanguageClientOptions = { - // Register the server for python source files. + // Register the server for Viper source files. documentSelector: [ - { scheme: 'file', language: 'python' }, - { scheme: 'untitled', language: 'python' }, + { scheme: 'file', language: 'viper' }, + { scheme: 'untitled', language: 'viper' }, ], synchronize: { // Synchronize the setting section to the server. - configurationSection: ['python', 'pyright'], + configurationSection: ['viper', 'vipeye'], }, connectionOptions: { cancellationStrategy: cancellationStrategy }, middleware: { // Use the middleware hook to override the configuration call. This allows - // us to inject the proper "python.pythonPath" setting from the Python extension's - // private settings store. + // us to handle stubPath default-value suppression for the Viper analysis section. workspace: { configuration: async ( params: ConfigurationParams, @@ -126,7 +106,7 @@ export async function activate(context: ExtensionContext) { } for (const [i, item] of params.items.entries()) { - if (item.section === 'python.analysis') { + if (item.section === 'viper.analysis') { const analysisConfig = workspace.getConfiguration( item.section, item.scopeUri ? Uri.parse(item.scopeUri) : undefined @@ -141,48 +121,18 @@ export async function activate(context: ExtensionContext) { } } - // For backwards compatibility, set python.pythonPath to the configured - // value as though it were in the user's settings.json file. - const addPythonPath = (settings: any[]): Promise => { - const pythonPathPromises: Promise[] = params.items.map((item) => { - if (item.section === 'python') { - const uri = item.scopeUri ? Uri.parse(item.scopeUri) : undefined; - return getPythonPathFromPythonExtension(client.outputChannel, uri, () => { - // Posts a "workspace/didChangeConfiguration" message to the service - // so it re-queries the settings for all workspaces. - client.sendNotification(DidChangeConfigurationNotification.type, { - settings: null, - }); - }); - } - return Promise.resolve(undefined); - }); - - return Promise.all(pythonPathPromises).then((pythonPaths) => { - pythonPaths.forEach((pythonPath, i) => { - // If there is a pythonPath returned by the Python extension, - // always prefer this over the pythonPath that uses the old - // mechanism. - if (pythonPath !== undefined) { - settings[i].pythonPath = pythonPath; - } - }); - return settings; - }); - }; - - return addPythonPath(result); + return result; }, }, }, initializationOptions: { - diagnosticMode: workspace.getConfiguration('python.analysis').get('diagnosticMode'), - disablePullDiagnostics: workspace.getConfiguration('pyright').get('disablePullDiagnostics'), + diagnosticMode: workspace.getConfiguration('viper.analysis').get('diagnosticMode'), + disablePullDiagnostics: workspace.getConfiguration('vipeye').get('disablePullDiagnostics'), }, }; // Create the language client and start the client. - const client = new LanguageClient('python', 'Pyright', serverOptions, clientOptions); + const client = new LanguageClient('vipeye', 'Vipeye', serverOptions, clientOptions); languageClient = client; // Register our custom commands. @@ -229,7 +179,7 @@ export async function activate(context: ExtensionContext) { // Register the debug only commands when running under the debugger. if (context.extensionMode === ExtensionMode.Development) { // Create a 'when' context for development. - commands.executeCommand('setContext', 'pyright.development', true); + commands.executeCommand('setContext', 'viper.development', true); // Register the commands that only work when in development mode. context.subscriptions.push( @@ -316,79 +266,6 @@ export function deactivate() { return client?.stop(); } -// The VS Code Python extension manages its own internal store of configuration settings. -// The setting that was traditionally named "python.pythonPath" has been moved to the -// Python extension's internal store for reasons of security and because it differs per -// project and by user. -async function getPythonPathFromPythonExtension( - outputChannel: OutputChannel, - scopeUri: Uri | undefined, - postConfigChanged: () => void -): Promise { - try { - const extension = extensions.getExtension('ms-python.python'); - if (!extension) { - outputChannel.appendLine('Python extension not found'); - } else { - if (extension.packageJSON?.featureFlags?.usingNewInterpreterStorage) { - if (!extension.isActive) { - outputChannel.appendLine('Waiting for Python extension to load'); - await extension.activate(); - outputChannel.appendLine('Python extension loaded'); - } - - const execDetails = await extension.exports.settings.getExecutionDetails(scopeUri); - let result: string | undefined; - if (execDetails.execCommand && execDetails.execCommand.length > 0) { - result = execDetails.execCommand[0]; - } - - if (extension.exports.settings.onDidChangeExecutionDetails) { - installPythonPathChangedListener( - extension.exports.settings.onDidChangeExecutionDetails, - scopeUri, - postConfigChanged - ); - } - - if (!result) { - outputChannel.appendLine(`No pythonPath provided by Python extension`); - } else { - outputChannel.appendLine(`Received pythonPath from Python extension: ${result}`); - } - - return result; - } - } - } catch (error) { - outputChannel.appendLine( - `Exception occurred when attempting to read pythonPath from Python extension: ${JSON.stringify(error)}` - ); - } - - return undefined; -} - -function installPythonPathChangedListener( - onDidChangeExecutionDetails: (callback: () => void) => void, - scopeUri: Uri | undefined, - postConfigChanged: () => void -) { - const uriString = scopeUri ? scopeUri.toString() : ''; - - // No need to install another listener for this URI if - // it already exists. - if (pythonPathChangedListenerMap.has(uriString)) { - return; - } - - onDidChangeExecutionDetails(() => { - postConfigChanged(); - }); - - pythonPathChangedListenerMap.set(uriString, uriString); -} - function isConfigSettingSetByUser(configuration: WorkspaceConfiguration, setting: string): boolean { const inspect = configuration.inspect(setting); if (inspect === undefined) { diff --git a/packages/vscode-pyright/src/server.ts b/packages/vscode-vipeye/src/server.ts similarity index 70% rename from packages/vscode-pyright/src/server.ts rename to packages/vscode-vipeye/src/server.ts index 051fdad..7f290c3 100644 --- a/packages/vscode-pyright/src/server.ts +++ b/packages/vscode-vipeye/src/server.ts @@ -1,4 +1,4 @@ -import { main } from 'pyright-internal/nodeMain'; +import { main } from 'vipeye-internal/nodeMain'; Error.stackTraceLimit = 256; diff --git a/packages/vscode-vipeye/syntaxes/viper.tmLanguage.json b/packages/vscode-vipeye/syntaxes/viper.tmLanguage.json new file mode 100644 index 0000000..8e13c25 --- /dev/null +++ b/packages/vscode-vipeye/syntaxes/viper.tmLanguage.json @@ -0,0 +1,680 @@ +{ + "name": "Viper", + "scopeName": "source.viper", + "patterns": [ + { + "include": "#statement" + } + ], + "repository": { + "statement": { + "patterns": [ + { + "include": "#line-comment" + }, + { + "include": "#string-quoted-double-block" + }, + { + "include": "#string-quoted-single-block" + }, + { + "include": "#string-quoted-double" + }, + { + "include": "#string-quoted-single" + }, + { + "include": "#fstring-double-block" + }, + { + "include": "#fstring-single-block" + }, + { + "include": "#fstring-double" + }, + { + "include": "#fstring-single" + }, + { + "include": "#literal" + }, + { + "include": "#decorator" + }, + { + "include": "#function-declaration" + }, + { + "include": "#class-declaration" + }, + { + "include": "#import-statement" + }, + { + "include": "#reserved" + }, + { + "include": "#builtin-functions" + }, + { + "include": "#module-access" + }, + { + "include": "#class-call" + }, + { + "include": "#function-call" + }, + { + "include": "#builtin-types" + }, + { + "include": "#builtin-constants" + }, + { + "include": "#magic-names" + }, + { + "include": "#language-variable" + }, + { + "include": "#type-name" + }, + { + "include": "#variable" + }, + { + "include": "#illegal" + } + ] + }, + "line-comment": { + "name": "comment.line.number-sign.viper", + "match": "(\\#).*$", + "captures": { + "1": { + "name": "punctuation.definition.comment.viper" + } + } + }, + "string-quoted-double-block": { + "name": "string.quoted.double.block.viper", + "begin": "(\"\"\")", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(\"\"\")", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#escape-sequence-unicode" + }, + { + "include": "#escape-sequence" + }, + { + "include": "#string-formatting" + } + ] + }, + "string-quoted-single-block": { + "name": "string.quoted.single.block.viper", + "begin": "(''')", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(''')", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#escape-sequence-unicode" + }, + { + "include": "#escape-sequence" + }, + { + "include": "#string-formatting" + } + ] + }, + "string-quoted-double": { + "name": "string.quoted.double.viper", + "begin": "(\")", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(\")", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#escape-sequence-unicode" + }, + { + "include": "#escape-sequence" + }, + { + "include": "#string-formatting" + } + ] + }, + "string-quoted-single": { + "name": "string.quoted.single.viper", + "begin": "(')", + "beginCaptures": { + "1": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(')", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#escape-sequence-unicode" + }, + { + "include": "#escape-sequence" + }, + { + "include": "#string-formatting" + } + ] + }, + "fstring-double-block": { + "name": "string.quoted.double.block.viper meta.fstring.viper", + "begin": "([fFrR]b?|b[fFrR])(\"\"\")", + "beginCaptures": { + "1": { + "name": "storage.type.string.viper" + }, + "2": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(\"\"\")", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#fstring-content" + } + ] + }, + "fstring-single-block": { + "name": "string.quoted.single.block.viper meta.fstring.viper", + "begin": "([fFrR]b?|b[fFrR])(''')", + "beginCaptures": { + "1": { + "name": "storage.type.string.viper" + }, + "2": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(''')", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#fstring-content" + } + ] + }, + "fstring-double": { + "name": "string.quoted.double.viper meta.fstring.viper", + "begin": "([fFrR]b?|b[fFrR])(\")", + "beginCaptures": { + "1": { + "name": "storage.type.string.viper" + }, + "2": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(\")", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#fstring-content" + } + ] + }, + "fstring-single": { + "name": "string.quoted.single.viper meta.fstring.viper", + "begin": "([fFrR]b?|b[fFrR])(')", + "beginCaptures": { + "1": { + "name": "storage.type.string.viper" + }, + "2": { + "name": "punctuation.definition.string.begin.viper" + } + }, + "end": "(')", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.end.viper" + } + }, + "patterns": [ + { + "include": "#fstring-content" + } + ] + }, + "fstring-content": { + "patterns": [ + { + "include": "#escape-sequence-unicode" + }, + { + "include": "#escape-sequence" + }, + { + "name": "meta.interpolation.viper", + "begin": "(\\{)", + "beginCaptures": { + "1": { + "name": "keyword.control.decorator.viper" + } + }, + "end": "(\\})", + "endCaptures": { + "1": { + "name": "keyword.control.decorator.viper" + } + }, + "contentName": "meta.embedded", + "patterns": [ + { + "include": "#literal" + }, + { + "include": "#reserved" + }, + { + "include": "#builtin-functions" + }, + { + "include": "#builtin-types" + }, + { + "include": "#builtin-constants" + }, + { + "include": "#language-variable" + }, + { + "include": "#module-access" + }, + { + "include": "#class-call" + }, + { + "include": "#function-call" + }, + { + "include": "#fstring-interpolation-punctuation" + }, + { + "include": "#variable" + } + ] + } + ] + }, + "fstring-interpolation-punctuation": { + "patterns": [ + { + "name": "meta.brace.round.viper", + "match": "[()]" + }, + { + "name": "meta.brace.square.viper", + "match": "[\\[\\]]" + }, + { + "name": "punctuation.separator.arguments.viper", + "match": "," + }, + { + "name": "punctuation.accessor.viper", + "match": "\\." + }, + { + "name": "keyword.operator.assignment.viper", + "match": "=" + }, + { + "name": "keyword.operator.arithmetic.viper", + "match": "[+\\-*/%]" + }, + { + "name": "keyword.operator.comparison.viper", + "match": "[<>=!]=|[<>]" + } + ] + }, + "escape-sequence-unicode": { + "name": "constant.character.escape.viper", + "match": "\\\\([uU][0-9A-Fa-f]{4,8}|N\\{[^}]+\\})" + }, + "escape-sequence": { + "name": "constant.character.escape.viper", + "match": "\\\\(['\"\\\\\\n\\r\\t\\abfv0-7]|x[0-9A-Fa-f]{2})" + }, + "string-formatting": { + "name": "constant.other.placeholder.viper", + "match": "%(\\([^)]*\\))?[+#-]*(\\d+|\\*)?(?:\\.(\\d+|\\*))?[hlL]?[diouxXeEfFgGcrsa%]" + }, + "literal": { + "patterns": [ + { + "name": "constant.language.viper", + "match": "\\b(True|False|None|NotImplemented|Ellipsis|__debug__)\\b" + }, + { + "name": "constant.numeric.integer.hexadecimal.viper", + "match": "\\b0[xX][_0-9A-Fa-f]+\\b" + }, + { + "name": "constant.numeric.integer.octal.viper", + "match": "\\b0[oO][_0-7]+\\b" + }, + { + "name": "constant.numeric.integer.binary.viper", + "match": "\\b0[bB][_01]+\\b" + }, + { + "name": "constant.numeric.float.viper", + "match": "(?x)\n (?" + }, + { + "name": "punctuation.separator.parameters.viper", + "match": "," + } + ] + }, + "return-type": { + "patterns": [ + { + "name": "keyword.operator.arrow.viper", + "match": "->" + }, + { + "include": "#builtin-types" + } + ] + }, + "reserved": { + "patterns": [ + { + "name": "keyword.control.flow.viper", + "match": "\\b(elif|else|for|if|while|return|yield|with|try|finally|except|raise|break|continue|pass|match|case)\\b" + }, + { + "name": "keyword.control.import.viper", + "match": "\\b(import|from|as)\\b" + }, + { + "name": "keyword.control.flow.viper", + "match": "\\b(and|or|not|in|is)\\b" + }, + { + "name": "storage.type.function.viper", + "match": "\\b(def|lambda)\\b" + }, + { + "name": "storage.type.class.viper", + "match": "\\b(class)\\b" + }, + { + "name": "storage.modifier.async.viper", + "match": "\\b(async|await)\\b" + }, + { + "name": "storage.modifier.declaration.viper", + "match": "\\b(global|nonlocal|del|assert)\\b" + } + ] + }, + "builtin-functions": { + "name": "support.function.builtin.viper", + "match": "(?x)\n \\b(\n __import__|abs|aiter|all|anext|any|ascii|bin|bool|breakpoint|bytearray|\n bytes|callable|chr|classmethod|compile|complex|delattr|dict|dir|divmod|\n enumerate|eval|exec|exit|filter|float|format|frozenset|getattr|globals|\n hasattr|hash|help|hex|id|input|int|isinstance|issubclass|iter|len|\n list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|\n property|quit|range|repr|reversed|round|set|setattr|slice|sorted|\n staticmethod|str|sum|super|tuple|type|vars|zip\n )\\b(?=\\s*\\()" + }, + "function-call": { + "name": "meta.function-call.viper", + "match": "\\b([A-Za-z_][\\w]*)\\s*(?=\\()", + "captures": { + "1": { + "name": "entity.name.function.viper" + } + } + }, + "builtin-types": { + "name": "support.type.builtin.viper", + "match": "(?x)\n \\b(\n Any|Callable|ClassVar|Final|ForwardRef|Generic|Literal|NamedTuple|\n NewType|Optional|ParamSpec|Protocol|Tuple|Type|TypeAlias|TypeVar|\n TypeVarTuple|Union|Unpack|\n int|str|bytes|float|bool|list|dict|tuple|set|frozenset|object|type|\n complex|bytearray|memoryview|range|slice|None|True|False|Ellipsis\n )\\b" + }, + "builtin-constants": { + "name": "support.constant.builtin.viper", + "match": "(?x)\n \\b(\n ArithmeticError|AssertionError|AttributeError|BaseException|\n BaseExceptionGroup|BlockingIOError|BrokenPipeError|BufferError|\n BytesWarning|ChildProcessError|ConnectionAbortedError|\n ConnectionError|ConnectionRefusedError|ConnectionResetError|\n DeprecationWarning|EOFError|EncodingWarning|EnvironmentError|\n Exception|ExceptionGroup|FileExistsError|FileNotFoundError|\n FloatingPointError|FutureWarning|GeneratorExit|IOError|ImportError|\n ImportWarning|IndentationError|IndexError|InterruptedError|\n IsADirectoryError|KeyError|KeyboardInterrupt|LookupError|MemoryError|\n ModuleNotFoundError|NameError|NotADirectoryError|\n NotImplementedWarning|OSError|OverflowError|\n PendingDeprecationWarning|PermissionError|ProcessLookupError|\n RecursionError|ReferenceError|ResourceWarning|RuntimeError|\n RuntimeWarning|StopAsyncIteration|StopIteration|SyntaxError|\n SyntaxWarning|SystemError|SystemExit|TabError|TimeoutError|TypeError|\n UnboundLocalError|UnicodeDecodeError|UnicodeEncodeError|UnicodeError|\n UnicodeTranslateError|UnicodeWarning|UserWarning|ValueError|Warning|\n WindowsError|ZeroDivisionError\n )\\b" + }, + "magic-names": { + "name": "support.variable.magic.viper", + "match": "(?x)\n \\b(\n __all__|__bases__|__basicsize__|__builtins__|__class__|__dict__|\n __doc__|__file__|__flags__|__itemsize__|__members__|__module__|\n __mro__|__name__|__path__|__qualname__|__subclasses__|__version__|\n __abs__|__add__|__aenter__|__aexit__|__aiter__|__and__|__anext__|\n __await__|__bool__|__bytes__|__call__|__cmp__|__coerce__|__complex__|\n __contains__|__del__|__delattr__|__delete__|__delitem__|__delslice__|\n __dir__|__divmod__|__enter__|__eq__|__exit__|__float__|__floordiv__|\n __format__|__ge__|__get__|__getattr__|__getattribute__|__getitem__|\n __getnewargs__|__getslice__|__gt__|__hash__|__hex__|__iadd__|__iand__|\n __ifloordiv__|__ilshift__|__imatmul__|__imod__|__imul__|__index__|\n __init__|__init_subclass__|__int__|__invert__|__ior__|__ipow__|\n __irshift__|__isub__|__iter__|__itruediv__|__ixor__|__le__|__len__|\n __length_hint__|__lshift__|__lt__|__matmul__|__missing__|__mod__|\n __mro_entries__|__mul__|__ne__|__neg__|__new__|__next__|__nonzero__|\n __oct__|__or__|__pos__|__pow__|__radd__|__rand__|__rdivmod__|__repr__|\n __reversed__|__rfloordiv__|__rlshift__|__rmatmul__|__rmod__|__rmul__|\n __ror__|__round__|__rpow__|__rrshift__|__rshift__|__rsub__|\n __rtruediv__|__rxor__|__set__|__setattr__|__setitem__|__setslice__|\n __sizeof__|__str__|__sub__|__subclasshook__|__truediv__|__trunc__|\n __xor__\n )\\b" + }, + "language-variable": { + "name": "variable.language.viper", + "match": "\\b(self|cls)\\b" + }, + "variable": { + "name": "variable.other.viper", + "match": "\\b[A-Za-z_][\\w]*\\b" + }, + "import-statement": { + "patterns": [ + { + "name": "meta.import.viper", + "match": "(?x)\n ^[ \\t]*\n (from)\\s+\n ([A-Za-z_][\\w]*(?:\\.[A-Za-z_][\\w]*)*)\n \\s+(import)\\b", + "captures": { + "1": {"name": "keyword.control.import.viper"}, + "2": {"name": "entity.name.namespace.viper"}, + "3": {"name": "keyword.control.import.viper"} + } + }, + { + "name": "meta.import.viper", + "begin": "(?x)^[ \\t]*(import)\\b\\s*", + "beginCaptures": { + "1": {"name": "keyword.control.import.viper"} + }, + "end": "(?=#|$)", + "patterns": [ + { + "match": "\\b(as)\\b", + "name": "keyword.control.import.viper" + }, + { + "match": "\\b([A-Za-z_][\\w]*(?:\\.[A-Za-z_][\\w]*)*)\\b", + "name": "entity.name.namespace.viper" + }, + { + "match": ",", + "name": "punctuation.separator.import.viper" + } + ] + } + ] + }, + "class-call": { + "name": "meta.class-call.viper", + "match": "\\b([A-Z][\\w]*)\\s*(?=\\()", + "captures": { + "1": {"name": "entity.name.type.class.viper"} + } + }, + "module-access": { + "patterns": [ + { + "name": "meta.module-access.viper", + "match": "(?x)\n \\b(?!self\\b|cls\\b)([A-Za-z_][\\w]*)\n (\\.)\n ([A-Za-z_][\\w]*)\n \\s*(?=\\()", + "captures": { + "1": {"name": "entity.name.namespace.viper"}, + "2": {"name": "punctuation.separator.dot.viper"}, + "3": {"name": "entity.name.function.viper"} + } + }, + { + "name": "meta.module-access.viper", + "match": "(?x)\n \\b(?!self\\b|cls\\b)([A-Za-z_][\\w]*)\n (\\.)\n ([A-Za-z_][\\w]*)", + "captures": { + "1": {"name": "entity.name.namespace.viper"}, + "2": {"name": "punctuation.separator.dot.viper"}, + "3": {"name": "variable.other.property.viper"} + } + } + ] + }, + "type-name": { + "name": "entity.name.type.class.viper", + "match": "\\b[A-Z][\\w]*\\b" + }, + "illegal": { + "name": "invalid.illegal.viper", + "match": "\\b\\d+[^\\w\\s]" + } + } +} diff --git a/packages/vscode-pyright/tsconfig.json b/packages/vscode-vipeye/tsconfig.json similarity index 60% rename from packages/vscode-pyright/tsconfig.json rename to packages/vscode-vipeye/tsconfig.json index c65f075..3467601 100644 --- a/packages/vscode-pyright/tsconfig.json +++ b/packages/vscode-vipeye/tsconfig.json @@ -4,16 +4,16 @@ "outDir": "./out", "rootDir": "../..", "paths": { - "pyright-internal/*": [ - "../pyright-internal/src/*" + "vipeye-internal/*": [ + "../vipeye-internal/src/*" ] }, - "typeRoots": ["./node_modules/@types", "../pyright-internal/typings"] + "typeRoots": ["./node_modules/@types", "../vipeye-internal/typings"] }, "include": [ "src/**/*", "**/*.js", - "../pyright-internal/typings/**/*.d.ts" + "../vipeye-internal/typings/**/*.d.ts" ], "exclude": [ "node_modules", diff --git a/test-input.txt b/test-input.txt new file mode 100644 index 0000000..08622c1 --- /dev/null +++ b/test-input.txt @@ -0,0 +1,3 @@ +Content-Length: 153 + +{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":0,"rootUri":"file:///D%3A/Users/TermiNexus/Desktop/TransPyC/Test","capabilities":{}}} \ No newline at end of file