From 653c09001a7fb09324c101fd669c9568d047d82c Mon Sep 17 00:00:00 2001 From: Micha Reiser Date: Sat, 21 Sep 2024 18:31:42 +0200 Subject: [PATCH] Use an empty vendored file system in Ruff (#13436) ## Summary This PR changes removes the typeshed stubs from the vendored file system shipped with ruff and instead ships an empty "typeshed". Making the typeshed files optional required extracting the typshed files into a new `ruff_vendored` crate. I do like this even if all our builds always include typeshed because it means `red_knot_python_semantic` contains less code that needs compiling. This also allows us to use deflate because the compression algorithm doesn't matter for an archive containing a single, empty file. ## Test Plan `cargo test` I verified with ` cargo tree -f "{p} {f}" -p ` that: * red_knot_wasm: enables `deflate` compression * red_knot: enables `zstd` compression * `ruff`: uses stored I'm not quiet sure how to build the binary that maturin builds but comparing the release artifact size with `strip = true` shows a `1.5MB` size reduction --------- Co-authored-by: Charlie Marsh --- .github/workflows/sync_typeshed.yaml | 14 +-- .pre-commit-config.yaml | 2 +- Cargo.lock | 19 +++- Cargo.toml | 5 +- crates/red_knot/Cargo.toml | 3 +- crates/red_knot_python_semantic/Cargo.toml | 9 +- crates/red_knot_python_semantic/src/db.rs | 3 +- crates/red_knot_python_semantic/src/lib.rs | 4 +- .../src/module_resolver/mod.rs | 1 - .../{typeshed/versions.rs => typeshed.rs} | 3 +- .../src/module_resolver/typeshed/mod.rs | 8 -- crates/red_knot_python_semantic/src/types.rs | 9 +- crates/red_knot_wasm/Cargo.toml | 4 +- crates/red_knot_workspace/Cargo.toml | 6 + crates/red_knot_workspace/src/db.rs | 8 +- crates/ruff/Cargo.toml | 2 +- crates/ruff_db/Cargo.toml | 6 +- crates/ruff_db/src/files.rs | 5 +- crates/ruff_db/src/parsed.rs | 5 +- crates/ruff_db/src/vendored.rs | 105 ++++++++---------- crates/ruff_graph/Cargo.toml | 2 + crates/ruff_graph/src/db.rs | 17 ++- crates/ruff_vendored/Cargo.toml | 32 ++++++ .../build.rs | 6 +- .../vendored.rs => ruff_vendored/src/lib.rs} | 4 +- .../vendor/typeshed/LICENSE | 0 .../vendor/typeshed/README.md | 0 .../vendor/typeshed/source_commit.txt | 0 .../vendor/typeshed/stdlib/VERSIONS | 0 .../vendor/typeshed/stdlib/__future__.pyi | 0 .../vendor/typeshed/stdlib/__main__.pyi | 0 .../vendor/typeshed/stdlib/_ast.pyi | 0 .../vendor/typeshed/stdlib/_bisect.pyi | 0 .../vendor/typeshed/stdlib/_bootlocale.pyi | 0 .../vendor/typeshed/stdlib/_codecs.pyi | 0 .../typeshed/stdlib/_collections_abc.pyi | 0 .../vendor/typeshed/stdlib/_compat_pickle.pyi | 0 .../vendor/typeshed/stdlib/_compression.pyi | 0 .../vendor/typeshed/stdlib/_csv.pyi | 0 .../vendor/typeshed/stdlib/_ctypes.pyi | 0 .../vendor/typeshed/stdlib/_curses.pyi | 0 .../vendor/typeshed/stdlib/_decimal.pyi | 0 .../vendor/typeshed/stdlib/_dummy_thread.pyi | 0 .../typeshed/stdlib/_dummy_threading.pyi | 0 .../vendor/typeshed/stdlib/_heapq.pyi | 0 .../vendor/typeshed/stdlib/_imp.pyi | 0 .../typeshed/stdlib/_interpchannels.pyi | 0 .../vendor/typeshed/stdlib/_interpqueues.pyi | 0 .../vendor/typeshed/stdlib/_interpreters.pyi | 0 .../vendor/typeshed/stdlib/_json.pyi | 0 .../vendor/typeshed/stdlib/_locale.pyi | 0 .../vendor/typeshed/stdlib/_lsprof.pyi | 0 .../vendor/typeshed/stdlib/_markupbase.pyi | 0 .../vendor/typeshed/stdlib/_msi.pyi | 0 .../vendor/typeshed/stdlib/_operator.pyi | 0 .../vendor/typeshed/stdlib/_osx_support.pyi | 0 .../typeshed/stdlib/_posixsubprocess.pyi | 0 .../vendor/typeshed/stdlib/_py_abc.pyi | 0 .../vendor/typeshed/stdlib/_pydecimal.pyi | 0 .../vendor/typeshed/stdlib/_random.pyi | 0 .../vendor/typeshed/stdlib/_sitebuiltins.pyi | 0 .../vendor/typeshed/stdlib/_socket.pyi | 0 .../vendor/typeshed/stdlib/_stat.pyi | 0 .../vendor/typeshed/stdlib/_thread.pyi | 0 .../typeshed/stdlib/_threading_local.pyi | 0 .../vendor/typeshed/stdlib/_tkinter.pyi | 0 .../vendor/typeshed/stdlib/_tracemalloc.pyi | 0 .../typeshed/stdlib/_typeshed/README.md | 0 .../typeshed/stdlib/_typeshed/__init__.pyi | 0 .../typeshed/stdlib/_typeshed/dbapi.pyi | 2 +- .../typeshed/stdlib/_typeshed/importlib.pyi | 0 .../vendor/typeshed/stdlib/_typeshed/wsgi.pyi | 0 .../vendor/typeshed/stdlib/_typeshed/xml.pyi | 0 .../vendor/typeshed/stdlib/_warnings.pyi | 0 .../vendor/typeshed/stdlib/_weakref.pyi | 0 .../vendor/typeshed/stdlib/_weakrefset.pyi | 0 .../vendor/typeshed/stdlib/_winapi.pyi | 0 .../vendor/typeshed/stdlib/abc.pyi | 0 .../vendor/typeshed/stdlib/aifc.pyi | 0 .../vendor/typeshed/stdlib/antigravity.pyi | 0 .../vendor/typeshed/stdlib/argparse.pyi | 0 .../vendor/typeshed/stdlib/array.pyi | 0 .../vendor/typeshed/stdlib/ast.pyi | 0 .../vendor/typeshed/stdlib/asynchat.pyi | 0 .../typeshed/stdlib/asyncio/__init__.pyi | 0 .../typeshed/stdlib/asyncio/base_events.pyi | 0 .../typeshed/stdlib/asyncio/base_futures.pyi | 0 .../stdlib/asyncio/base_subprocess.pyi | 0 .../typeshed/stdlib/asyncio/base_tasks.pyi | 0 .../typeshed/stdlib/asyncio/constants.pyi | 0 .../typeshed/stdlib/asyncio/coroutines.pyi | 0 .../vendor/typeshed/stdlib/asyncio/events.pyi | 0 .../typeshed/stdlib/asyncio/exceptions.pyi | 0 .../stdlib/asyncio/format_helpers.pyi | 0 .../typeshed/stdlib/asyncio/futures.pyi | 0 .../vendor/typeshed/stdlib/asyncio/locks.pyi | 0 .../vendor/typeshed/stdlib/asyncio/log.pyi | 0 .../vendor/typeshed/stdlib/asyncio/mixins.pyi | 0 .../stdlib/asyncio/proactor_events.pyi | 0 .../typeshed/stdlib/asyncio/protocols.pyi | 0 .../vendor/typeshed/stdlib/asyncio/queues.pyi | 0 .../typeshed/stdlib/asyncio/runners.pyi | 0 .../stdlib/asyncio/selector_events.pyi | 0 .../typeshed/stdlib/asyncio/sslproto.pyi | 0 .../typeshed/stdlib/asyncio/staggered.pyi | 0 .../typeshed/stdlib/asyncio/streams.pyi | 0 .../typeshed/stdlib/asyncio/subprocess.pyi | 0 .../typeshed/stdlib/asyncio/taskgroups.pyi | 0 .../vendor/typeshed/stdlib/asyncio/tasks.pyi | 0 .../typeshed/stdlib/asyncio/threads.pyi | 0 .../typeshed/stdlib/asyncio/timeouts.pyi | 0 .../typeshed/stdlib/asyncio/transports.pyi | 0 .../vendor/typeshed/stdlib/asyncio/trsock.pyi | 0 .../typeshed/stdlib/asyncio/unix_events.pyi | 0 .../stdlib/asyncio/windows_events.pyi | 0 .../typeshed/stdlib/asyncio/windows_utils.pyi | 0 .../vendor/typeshed/stdlib/asyncore.pyi | 0 .../vendor/typeshed/stdlib/atexit.pyi | 0 .../vendor/typeshed/stdlib/audioop.pyi | 0 .../vendor/typeshed/stdlib/base64.pyi | 0 .../vendor/typeshed/stdlib/bdb.pyi | 0 .../vendor/typeshed/stdlib/binascii.pyi | 0 .../vendor/typeshed/stdlib/binhex.pyi | 0 .../vendor/typeshed/stdlib/bisect.pyi | 0 .../vendor/typeshed/stdlib/builtins.pyi | 0 .../vendor/typeshed/stdlib/bz2.pyi | 0 .../vendor/typeshed/stdlib/cProfile.pyi | 0 .../vendor/typeshed/stdlib/calendar.pyi | 0 .../vendor/typeshed/stdlib/cgi.pyi | 0 .../vendor/typeshed/stdlib/cgitb.pyi | 0 .../vendor/typeshed/stdlib/chunk.pyi | 0 .../vendor/typeshed/stdlib/cmath.pyi | 0 .../vendor/typeshed/stdlib/cmd.pyi | 0 .../vendor/typeshed/stdlib/code.pyi | 0 .../vendor/typeshed/stdlib/codecs.pyi | 0 .../vendor/typeshed/stdlib/codeop.pyi | 0 .../typeshed/stdlib/collections/__init__.pyi | 0 .../typeshed/stdlib/collections/abc.pyi | 0 .../vendor/typeshed/stdlib/colorsys.pyi | 0 .../vendor/typeshed/stdlib/compileall.pyi | 0 .../typeshed/stdlib/concurrent/__init__.pyi | 0 .../stdlib/concurrent/futures/__init__.pyi | 0 .../stdlib/concurrent/futures/_base.pyi | 0 .../stdlib/concurrent/futures/process.pyi | 0 .../stdlib/concurrent/futures/thread.pyi | 0 .../vendor/typeshed/stdlib/configparser.pyi | 0 .../vendor/typeshed/stdlib/contextlib.pyi | 0 .../vendor/typeshed/stdlib/contextvars.pyi | 0 .../vendor/typeshed/stdlib/copy.pyi | 0 .../vendor/typeshed/stdlib/copyreg.pyi | 0 .../vendor/typeshed/stdlib/crypt.pyi | 0 .../vendor/typeshed/stdlib/csv.pyi | 0 .../typeshed/stdlib/ctypes/__init__.pyi | 0 .../vendor/typeshed/stdlib/ctypes/_endian.pyi | 0 .../vendor/typeshed/stdlib/ctypes/util.pyi | 0 .../typeshed/stdlib/ctypes/wintypes.pyi | 0 .../typeshed/stdlib/curses/__init__.pyi | 0 .../vendor/typeshed/stdlib/curses/ascii.pyi | 0 .../vendor/typeshed/stdlib/curses/has_key.pyi | 0 .../vendor/typeshed/stdlib/curses/panel.pyi | 0 .../vendor/typeshed/stdlib/curses/textpad.pyi | 0 .../vendor/typeshed/stdlib/dataclasses.pyi | 0 .../vendor/typeshed/stdlib/datetime.pyi | 0 .../vendor/typeshed/stdlib/dbm/__init__.pyi | 0 .../vendor/typeshed/stdlib/dbm/dumb.pyi | 0 .../vendor/typeshed/stdlib/dbm/gnu.pyi | 0 .../vendor/typeshed/stdlib/dbm/ndbm.pyi | 0 .../vendor/typeshed/stdlib/dbm/sqlite3.pyi | 0 .../vendor/typeshed/stdlib/decimal.pyi | 0 .../vendor/typeshed/stdlib/difflib.pyi | 0 .../vendor/typeshed/stdlib/dis.pyi | 0 .../typeshed/stdlib/distutils/__init__.pyi | 0 .../stdlib/distutils/archive_util.pyi | 0 .../stdlib/distutils/bcppcompiler.pyi | 0 .../typeshed/stdlib/distutils/ccompiler.pyi | 0 .../vendor/typeshed/stdlib/distutils/cmd.pyi | 0 .../stdlib/distutils/command/__init__.pyi | 0 .../stdlib/distutils/command/bdist.pyi | 0 .../stdlib/distutils/command/bdist_dumb.pyi | 0 .../stdlib/distutils/command/bdist_msi.pyi | 0 .../distutils/command/bdist_packager.pyi | 0 .../stdlib/distutils/command/bdist_rpm.pyi | 0 .../distutils/command/bdist_wininst.pyi | 0 .../stdlib/distutils/command/build.pyi | 0 .../stdlib/distutils/command/build_clib.pyi | 0 .../stdlib/distutils/command/build_ext.pyi | 0 .../stdlib/distutils/command/build_py.pyi | 0 .../distutils/command/build_scripts.pyi | 0 .../stdlib/distutils/command/check.pyi | 0 .../stdlib/distutils/command/clean.pyi | 0 .../stdlib/distutils/command/config.pyi | 0 .../stdlib/distutils/command/install.pyi | 0 .../stdlib/distutils/command/install_data.pyi | 0 .../distutils/command/install_egg_info.pyi | 0 .../distutils/command/install_headers.pyi | 0 .../stdlib/distutils/command/install_lib.pyi | 0 .../distutils/command/install_scripts.pyi | 0 .../stdlib/distutils/command/register.pyi | 0 .../stdlib/distutils/command/sdist.pyi | 0 .../stdlib/distutils/command/upload.pyi | 0 .../typeshed/stdlib/distutils/config.pyi | 0 .../vendor/typeshed/stdlib/distutils/core.pyi | 0 .../stdlib/distutils/cygwinccompiler.pyi | 0 .../typeshed/stdlib/distutils/debug.pyi | 0 .../typeshed/stdlib/distutils/dep_util.pyi | 0 .../typeshed/stdlib/distutils/dir_util.pyi | 0 .../vendor/typeshed/stdlib/distutils/dist.pyi | 0 .../typeshed/stdlib/distutils/errors.pyi | 0 .../typeshed/stdlib/distutils/extension.pyi | 0 .../stdlib/distutils/fancy_getopt.pyi | 0 .../typeshed/stdlib/distutils/file_util.pyi | 0 .../typeshed/stdlib/distutils/filelist.pyi | 0 .../vendor/typeshed/stdlib/distutils/log.pyi | 0 .../stdlib/distutils/msvccompiler.pyi | 0 .../typeshed/stdlib/distutils/spawn.pyi | 0 .../typeshed/stdlib/distutils/sysconfig.pyi | 0 .../typeshed/stdlib/distutils/text_file.pyi | 0 .../stdlib/distutils/unixccompiler.pyi | 0 .../vendor/typeshed/stdlib/distutils/util.pyi | 0 .../typeshed/stdlib/distutils/version.pyi | 0 .../vendor/typeshed/stdlib/doctest.pyi | 0 .../typeshed/stdlib/dummy_threading.pyi | 0 .../vendor/typeshed/stdlib/email/__init__.pyi | 0 .../stdlib/email/_header_value_parser.pyi | 0 .../typeshed/stdlib/email/_policybase.pyi | 0 .../typeshed/stdlib/email/base64mime.pyi | 0 .../vendor/typeshed/stdlib/email/charset.pyi | 0 .../typeshed/stdlib/email/contentmanager.pyi | 0 .../vendor/typeshed/stdlib/email/encoders.pyi | 0 .../vendor/typeshed/stdlib/email/errors.pyi | 0 .../typeshed/stdlib/email/feedparser.pyi | 0 .../typeshed/stdlib/email/generator.pyi | 0 .../vendor/typeshed/stdlib/email/header.pyi | 0 .../typeshed/stdlib/email/headerregistry.pyi | 0 .../typeshed/stdlib/email/iterators.pyi | 0 .../vendor/typeshed/stdlib/email/message.pyi | 0 .../typeshed/stdlib/email/mime/__init__.pyi | 0 .../stdlib/email/mime/application.pyi | 0 .../typeshed/stdlib/email/mime/audio.pyi | 0 .../typeshed/stdlib/email/mime/base.pyi | 0 .../typeshed/stdlib/email/mime/image.pyi | 0 .../typeshed/stdlib/email/mime/message.pyi | 0 .../typeshed/stdlib/email/mime/multipart.pyi | 0 .../stdlib/email/mime/nonmultipart.pyi | 0 .../typeshed/stdlib/email/mime/text.pyi | 0 .../vendor/typeshed/stdlib/email/parser.pyi | 0 .../vendor/typeshed/stdlib/email/policy.pyi | 0 .../typeshed/stdlib/email/quoprimime.pyi | 0 .../vendor/typeshed/stdlib/email/utils.pyi | 0 .../typeshed/stdlib/encodings/__init__.pyi | 0 .../typeshed/stdlib/encodings/utf_8.pyi | 0 .../typeshed/stdlib/encodings/utf_8_sig.pyi | 0 .../typeshed/stdlib/ensurepip/__init__.pyi | 0 .../vendor/typeshed/stdlib/enum.pyi | 0 .../vendor/typeshed/stdlib/errno.pyi | 0 .../vendor/typeshed/stdlib/faulthandler.pyi | 0 .../vendor/typeshed/stdlib/fcntl.pyi | 0 .../vendor/typeshed/stdlib/filecmp.pyi | 0 .../vendor/typeshed/stdlib/fileinput.pyi | 0 .../vendor/typeshed/stdlib/fnmatch.pyi | 0 .../vendor/typeshed/stdlib/formatter.pyi | 0 .../vendor/typeshed/stdlib/fractions.pyi | 0 .../vendor/typeshed/stdlib/ftplib.pyi | 0 .../vendor/typeshed/stdlib/functools.pyi | 0 .../vendor/typeshed/stdlib/gc.pyi | 0 .../vendor/typeshed/stdlib/genericpath.pyi | 0 .../vendor/typeshed/stdlib/getopt.pyi | 0 .../vendor/typeshed/stdlib/getpass.pyi | 0 .../vendor/typeshed/stdlib/gettext.pyi | 0 .../vendor/typeshed/stdlib/glob.pyi | 0 .../vendor/typeshed/stdlib/graphlib.pyi | 0 .../vendor/typeshed/stdlib/grp.pyi | 0 .../vendor/typeshed/stdlib/gzip.pyi | 0 .../vendor/typeshed/stdlib/hashlib.pyi | 0 .../vendor/typeshed/stdlib/heapq.pyi | 0 .../vendor/typeshed/stdlib/hmac.pyi | 0 .../vendor/typeshed/stdlib/html/__init__.pyi | 0 .../vendor/typeshed/stdlib/html/entities.pyi | 0 .../vendor/typeshed/stdlib/html/parser.pyi | 0 .../vendor/typeshed/stdlib/http/__init__.pyi | 0 .../vendor/typeshed/stdlib/http/client.pyi | 0 .../vendor/typeshed/stdlib/http/cookiejar.pyi | 0 .../vendor/typeshed/stdlib/http/cookies.pyi | 0 .../vendor/typeshed/stdlib/http/server.pyi | 0 .../vendor/typeshed/stdlib/imaplib.pyi | 0 .../vendor/typeshed/stdlib/imghdr.pyi | 0 .../vendor/typeshed/stdlib/imp.pyi | 0 .../typeshed/stdlib/importlib/__init__.pyi | 0 .../vendor/typeshed/stdlib/importlib/_abc.pyi | 0 .../vendor/typeshed/stdlib/importlib/abc.pyi | 0 .../typeshed/stdlib/importlib/machinery.pyi | 0 .../stdlib/importlib/metadata/__init__.pyi | 0 .../stdlib/importlib/metadata/_meta.pyi | 0 .../stdlib/importlib/metadata/diagnose.pyi | 0 .../typeshed/stdlib/importlib/readers.pyi | 0 .../stdlib/importlib/resources/__init__.pyi | 0 .../stdlib/importlib/resources/abc.pyi | 0 .../stdlib/importlib/resources/readers.pyi | 0 .../stdlib/importlib/resources/simple.pyi | 0 .../typeshed/stdlib/importlib/simple.pyi | 0 .../vendor/typeshed/stdlib/importlib/util.pyi | 0 .../vendor/typeshed/stdlib/inspect.pyi | 0 .../vendor/typeshed/stdlib/io.pyi | 0 .../vendor/typeshed/stdlib/ipaddress.pyi | 0 .../vendor/typeshed/stdlib/itertools.pyi | 0 .../vendor/typeshed/stdlib/json/__init__.pyi | 0 .../vendor/typeshed/stdlib/json/decoder.pyi | 0 .../vendor/typeshed/stdlib/json/encoder.pyi | 0 .../vendor/typeshed/stdlib/json/tool.pyi | 0 .../vendor/typeshed/stdlib/keyword.pyi | 0 .../typeshed/stdlib/lib2to3/__init__.pyi | 0 .../typeshed/stdlib/lib2to3/btm_matcher.pyi | 0 .../typeshed/stdlib/lib2to3/fixer_base.pyi | 0 .../stdlib/lib2to3/fixes/__init__.pyi | 0 .../stdlib/lib2to3/fixes/fix_apply.pyi | 0 .../stdlib/lib2to3/fixes/fix_asserts.pyi | 0 .../stdlib/lib2to3/fixes/fix_basestring.pyi | 0 .../stdlib/lib2to3/fixes/fix_buffer.pyi | 0 .../stdlib/lib2to3/fixes/fix_dict.pyi | 0 .../stdlib/lib2to3/fixes/fix_except.pyi | 0 .../stdlib/lib2to3/fixes/fix_exec.pyi | 0 .../stdlib/lib2to3/fixes/fix_execfile.pyi | 0 .../stdlib/lib2to3/fixes/fix_exitfunc.pyi | 0 .../stdlib/lib2to3/fixes/fix_filter.pyi | 0 .../stdlib/lib2to3/fixes/fix_funcattrs.pyi | 0 .../stdlib/lib2to3/fixes/fix_future.pyi | 0 .../stdlib/lib2to3/fixes/fix_getcwdu.pyi | 0 .../stdlib/lib2to3/fixes/fix_has_key.pyi | 0 .../stdlib/lib2to3/fixes/fix_idioms.pyi | 0 .../stdlib/lib2to3/fixes/fix_import.pyi | 0 .../stdlib/lib2to3/fixes/fix_imports.pyi | 0 .../stdlib/lib2to3/fixes/fix_imports2.pyi | 0 .../stdlib/lib2to3/fixes/fix_input.pyi | 0 .../stdlib/lib2to3/fixes/fix_intern.pyi | 0 .../stdlib/lib2to3/fixes/fix_isinstance.pyi | 0 .../stdlib/lib2to3/fixes/fix_itertools.pyi | 0 .../lib2to3/fixes/fix_itertools_imports.pyi | 0 .../stdlib/lib2to3/fixes/fix_long.pyi | 0 .../typeshed/stdlib/lib2to3/fixes/fix_map.pyi | 0 .../stdlib/lib2to3/fixes/fix_metaclass.pyi | 0 .../stdlib/lib2to3/fixes/fix_methodattrs.pyi | 0 .../typeshed/stdlib/lib2to3/fixes/fix_ne.pyi | 0 .../stdlib/lib2to3/fixes/fix_next.pyi | 0 .../stdlib/lib2to3/fixes/fix_nonzero.pyi | 0 .../stdlib/lib2to3/fixes/fix_numliterals.pyi | 0 .../stdlib/lib2to3/fixes/fix_operator.pyi | 0 .../stdlib/lib2to3/fixes/fix_paren.pyi | 0 .../stdlib/lib2to3/fixes/fix_print.pyi | 0 .../stdlib/lib2to3/fixes/fix_raise.pyi | 0 .../stdlib/lib2to3/fixes/fix_raw_input.pyi | 0 .../stdlib/lib2to3/fixes/fix_reduce.pyi | 0 .../stdlib/lib2to3/fixes/fix_reload.pyi | 0 .../stdlib/lib2to3/fixes/fix_renames.pyi | 0 .../stdlib/lib2to3/fixes/fix_repr.pyi | 0 .../stdlib/lib2to3/fixes/fix_set_literal.pyi | 0 .../lib2to3/fixes/fix_standarderror.pyi | 0 .../stdlib/lib2to3/fixes/fix_sys_exc.pyi | 0 .../stdlib/lib2to3/fixes/fix_throw.pyi | 0 .../stdlib/lib2to3/fixes/fix_tuple_params.pyi | 0 .../stdlib/lib2to3/fixes/fix_types.pyi | 0 .../stdlib/lib2to3/fixes/fix_unicode.pyi | 0 .../stdlib/lib2to3/fixes/fix_urllib.pyi | 0 .../stdlib/lib2to3/fixes/fix_ws_comma.pyi | 0 .../stdlib/lib2to3/fixes/fix_xrange.pyi | 0 .../stdlib/lib2to3/fixes/fix_xreadlines.pyi | 0 .../typeshed/stdlib/lib2to3/fixes/fix_zip.pyi | 0 .../vendor/typeshed/stdlib/lib2to3/main.pyi | 0 .../stdlib/lib2to3/pgen2/__init__.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/driver.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/grammar.pyi | 0 .../stdlib/lib2to3/pgen2/literals.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/parse.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/pgen.pyi | 0 .../typeshed/stdlib/lib2to3/pgen2/token.pyi | 0 .../stdlib/lib2to3/pgen2/tokenize.pyi | 0 .../vendor/typeshed/stdlib/lib2to3/pygram.pyi | 0 .../vendor/typeshed/stdlib/lib2to3/pytree.pyi | 0 .../typeshed/stdlib/lib2to3/refactor.pyi | 0 .../vendor/typeshed/stdlib/linecache.pyi | 0 .../vendor/typeshed/stdlib/locale.pyi | 0 .../typeshed/stdlib/logging/__init__.pyi | 0 .../vendor/typeshed/stdlib/logging/config.pyi | 0 .../typeshed/stdlib/logging/handlers.pyi | 0 .../vendor/typeshed/stdlib/lzma.pyi | 0 .../vendor/typeshed/stdlib/mailbox.pyi | 0 .../vendor/typeshed/stdlib/mailcap.pyi | 0 .../vendor/typeshed/stdlib/marshal.pyi | 0 .../vendor/typeshed/stdlib/math.pyi | 0 .../vendor/typeshed/stdlib/mimetypes.pyi | 0 .../vendor/typeshed/stdlib/mmap.pyi | 0 .../vendor/typeshed/stdlib/modulefinder.pyi | 0 .../typeshed/stdlib/msilib/__init__.pyi | 0 .../vendor/typeshed/stdlib/msilib/schema.pyi | 0 .../typeshed/stdlib/msilib/sequence.pyi | 0 .../vendor/typeshed/stdlib/msilib/text.pyi | 0 .../vendor/typeshed/stdlib/msvcrt.pyi | 0 .../stdlib/multiprocessing/__init__.pyi | 0 .../stdlib/multiprocessing/connection.pyi | 0 .../stdlib/multiprocessing/context.pyi | 0 .../stdlib/multiprocessing/dummy/__init__.pyi | 0 .../multiprocessing/dummy/connection.pyi | 0 .../stdlib/multiprocessing/forkserver.pyi | 0 .../typeshed/stdlib/multiprocessing/heap.pyi | 0 .../stdlib/multiprocessing/managers.pyi | 0 .../typeshed/stdlib/multiprocessing/pool.pyi | 0 .../stdlib/multiprocessing/popen_fork.pyi | 0 .../multiprocessing/popen_forkserver.pyi | 0 .../multiprocessing/popen_spawn_posix.pyi | 0 .../multiprocessing/popen_spawn_win32.pyi | 0 .../stdlib/multiprocessing/process.pyi | 0 .../stdlib/multiprocessing/queues.pyi | 0 .../stdlib/multiprocessing/reduction.pyi | 0 .../multiprocessing/resource_sharer.pyi | 0 .../multiprocessing/resource_tracker.pyi | 0 .../stdlib/multiprocessing/shared_memory.pyi | 0 .../stdlib/multiprocessing/sharedctypes.pyi | 0 .../typeshed/stdlib/multiprocessing/spawn.pyi | 0 .../stdlib/multiprocessing/synchronize.pyi | 0 .../typeshed/stdlib/multiprocessing/util.pyi | 0 .../vendor/typeshed/stdlib/netrc.pyi | 0 .../vendor/typeshed/stdlib/nis.pyi | 0 .../vendor/typeshed/stdlib/nntplib.pyi | 0 .../vendor/typeshed/stdlib/nt.pyi | 0 .../vendor/typeshed/stdlib/ntpath.pyi | 0 .../vendor/typeshed/stdlib/nturl2path.pyi | 0 .../vendor/typeshed/stdlib/numbers.pyi | 0 .../vendor/typeshed/stdlib/opcode.pyi | 0 .../vendor/typeshed/stdlib/operator.pyi | 0 .../vendor/typeshed/stdlib/optparse.pyi | 0 .../vendor/typeshed/stdlib/os/__init__.pyi | 0 .../vendor/typeshed/stdlib/os/path.pyi | 0 .../vendor/typeshed/stdlib/ossaudiodev.pyi | 0 .../vendor/typeshed/stdlib/parser.pyi | 0 .../vendor/typeshed/stdlib/pathlib.pyi | 0 .../vendor/typeshed/stdlib/pdb.pyi | 0 .../vendor/typeshed/stdlib/pickle.pyi | 0 .../vendor/typeshed/stdlib/pickletools.pyi | 0 .../vendor/typeshed/stdlib/pipes.pyi | 0 .../vendor/typeshed/stdlib/pkgutil.pyi | 0 .../vendor/typeshed/stdlib/platform.pyi | 0 .../vendor/typeshed/stdlib/plistlib.pyi | 0 .../vendor/typeshed/stdlib/poplib.pyi | 0 .../vendor/typeshed/stdlib/posix.pyi | 0 .../vendor/typeshed/stdlib/posixpath.pyi | 0 .../vendor/typeshed/stdlib/pprint.pyi | 0 .../vendor/typeshed/stdlib/profile.pyi | 0 .../vendor/typeshed/stdlib/pstats.pyi | 0 .../vendor/typeshed/stdlib/pty.pyi | 0 .../vendor/typeshed/stdlib/pwd.pyi | 0 .../vendor/typeshed/stdlib/py_compile.pyi | 0 .../vendor/typeshed/stdlib/pyclbr.pyi | 0 .../vendor/typeshed/stdlib/pydoc.pyi | 0 .../typeshed/stdlib/pydoc_data/__init__.pyi | 0 .../typeshed/stdlib/pydoc_data/topics.pyi | 0 .../typeshed/stdlib/pyexpat/__init__.pyi | 0 .../vendor/typeshed/stdlib/pyexpat/errors.pyi | 0 .../vendor/typeshed/stdlib/pyexpat/model.pyi | 0 .../vendor/typeshed/stdlib/queue.pyi | 0 .../vendor/typeshed/stdlib/quopri.pyi | 0 .../vendor/typeshed/stdlib/random.pyi | 0 .../vendor/typeshed/stdlib/re.pyi | 0 .../vendor/typeshed/stdlib/readline.pyi | 0 .../vendor/typeshed/stdlib/reprlib.pyi | 0 .../vendor/typeshed/stdlib/resource.pyi | 0 .../vendor/typeshed/stdlib/rlcompleter.pyi | 0 .../vendor/typeshed/stdlib/runpy.pyi | 0 .../vendor/typeshed/stdlib/sched.pyi | 0 .../vendor/typeshed/stdlib/secrets.pyi | 0 .../vendor/typeshed/stdlib/select.pyi | 0 .../vendor/typeshed/stdlib/selectors.pyi | 0 .../vendor/typeshed/stdlib/shelve.pyi | 0 .../vendor/typeshed/stdlib/shlex.pyi | 0 .../vendor/typeshed/stdlib/shutil.pyi | 0 .../vendor/typeshed/stdlib/signal.pyi | 0 .../vendor/typeshed/stdlib/site.pyi | 0 .../vendor/typeshed/stdlib/smtpd.pyi | 0 .../vendor/typeshed/stdlib/smtplib.pyi | 0 .../vendor/typeshed/stdlib/sndhdr.pyi | 0 .../vendor/typeshed/stdlib/socket.pyi | 0 .../vendor/typeshed/stdlib/socketserver.pyi | 0 .../vendor/typeshed/stdlib/spwd.pyi | 0 .../typeshed/stdlib/sqlite3/__init__.pyi | 0 .../vendor/typeshed/stdlib/sqlite3/dbapi2.pyi | 0 .../vendor/typeshed/stdlib/sre_compile.pyi | 0 .../vendor/typeshed/stdlib/sre_constants.pyi | 0 .../vendor/typeshed/stdlib/sre_parse.pyi | 0 .../vendor/typeshed/stdlib/ssl.pyi | 0 .../vendor/typeshed/stdlib/stat.pyi | 0 .../vendor/typeshed/stdlib/statistics.pyi | 0 .../vendor/typeshed/stdlib/string.pyi | 0 .../vendor/typeshed/stdlib/stringprep.pyi | 0 .../vendor/typeshed/stdlib/struct.pyi | 0 .../vendor/typeshed/stdlib/subprocess.pyi | 0 .../vendor/typeshed/stdlib/sunau.pyi | 0 .../vendor/typeshed/stdlib/symbol.pyi | 0 .../vendor/typeshed/stdlib/symtable.pyi | 0 .../vendor/typeshed/stdlib/sys/__init__.pyi | 0 .../typeshed/stdlib/sys/_monitoring.pyi | 0 .../vendor/typeshed/stdlib/sysconfig.pyi | 0 .../vendor/typeshed/stdlib/syslog.pyi | 0 .../vendor/typeshed/stdlib/tabnanny.pyi | 0 .../vendor/typeshed/stdlib/tarfile.pyi | 0 .../vendor/typeshed/stdlib/telnetlib.pyi | 0 .../vendor/typeshed/stdlib/tempfile.pyi | 0 .../vendor/typeshed/stdlib/termios.pyi | 0 .../vendor/typeshed/stdlib/textwrap.pyi | 0 .../vendor/typeshed/stdlib/this.pyi | 0 .../vendor/typeshed/stdlib/threading.pyi | 0 .../vendor/typeshed/stdlib/time.pyi | 0 .../vendor/typeshed/stdlib/timeit.pyi | 0 .../typeshed/stdlib/tkinter/__init__.pyi | 0 .../typeshed/stdlib/tkinter/colorchooser.pyi | 0 .../typeshed/stdlib/tkinter/commondialog.pyi | 0 .../typeshed/stdlib/tkinter/constants.pyi | 0 .../vendor/typeshed/stdlib/tkinter/dialog.pyi | 0 .../vendor/typeshed/stdlib/tkinter/dnd.pyi | 0 .../typeshed/stdlib/tkinter/filedialog.pyi | 0 .../vendor/typeshed/stdlib/tkinter/font.pyi | 0 .../typeshed/stdlib/tkinter/messagebox.pyi | 0 .../typeshed/stdlib/tkinter/scrolledtext.pyi | 0 .../typeshed/stdlib/tkinter/simpledialog.pyi | 0 .../vendor/typeshed/stdlib/tkinter/tix.pyi | 0 .../vendor/typeshed/stdlib/tkinter/ttk.pyi | 0 .../vendor/typeshed/stdlib/token.pyi | 0 .../vendor/typeshed/stdlib/tokenize.pyi | 0 .../vendor/typeshed/stdlib/tomllib.pyi | 0 .../vendor/typeshed/stdlib/trace.pyi | 0 .../vendor/typeshed/stdlib/traceback.pyi | 0 .../vendor/typeshed/stdlib/tracemalloc.pyi | 0 .../vendor/typeshed/stdlib/tty.pyi | 0 .../vendor/typeshed/stdlib/turtle.pyi | 0 .../vendor/typeshed/stdlib/types.pyi | 0 .../vendor/typeshed/stdlib/typing.pyi | 0 .../typeshed/stdlib/typing_extensions.pyi | 0 .../vendor/typeshed/stdlib/unicodedata.pyi | 0 .../typeshed/stdlib/unittest/__init__.pyi | 0 .../vendor/typeshed/stdlib/unittest/_log.pyi | 0 .../typeshed/stdlib/unittest/async_case.pyi | 0 .../vendor/typeshed/stdlib/unittest/case.pyi | 0 .../typeshed/stdlib/unittest/loader.pyi | 0 .../vendor/typeshed/stdlib/unittest/main.pyi | 0 .../vendor/typeshed/stdlib/unittest/mock.pyi | 0 .../typeshed/stdlib/unittest/result.pyi | 0 .../typeshed/stdlib/unittest/runner.pyi | 0 .../typeshed/stdlib/unittest/signals.pyi | 0 .../vendor/typeshed/stdlib/unittest/suite.pyi | 0 .../vendor/typeshed/stdlib/unittest/util.pyi | 0 .../typeshed/stdlib/urllib/__init__.pyi | 0 .../vendor/typeshed/stdlib/urllib/error.pyi | 0 .../vendor/typeshed/stdlib/urllib/parse.pyi | 0 .../vendor/typeshed/stdlib/urllib/request.pyi | 0 .../typeshed/stdlib/urllib/response.pyi | 0 .../typeshed/stdlib/urllib/robotparser.pyi | 0 .../vendor/typeshed/stdlib/uu.pyi | 0 .../vendor/typeshed/stdlib/uuid.pyi | 0 .../vendor/typeshed/stdlib/warnings.pyi | 0 .../vendor/typeshed/stdlib/wave.pyi | 0 .../vendor/typeshed/stdlib/weakref.pyi | 0 .../vendor/typeshed/stdlib/webbrowser.pyi | 0 .../vendor/typeshed/stdlib/winreg.pyi | 0 .../vendor/typeshed/stdlib/winsound.pyi | 0 .../typeshed/stdlib/wsgiref/__init__.pyi | 0 .../typeshed/stdlib/wsgiref/handlers.pyi | 0 .../typeshed/stdlib/wsgiref/headers.pyi | 0 .../typeshed/stdlib/wsgiref/simple_server.pyi | 0 .../vendor/typeshed/stdlib/wsgiref/types.pyi | 0 .../vendor/typeshed/stdlib/wsgiref/util.pyi | 0 .../typeshed/stdlib/wsgiref/validate.pyi | 0 .../vendor/typeshed/stdlib/xdrlib.pyi | 0 .../vendor/typeshed/stdlib/xml/__init__.pyi | 0 .../typeshed/stdlib/xml/dom/NodeFilter.pyi | 0 .../typeshed/stdlib/xml/dom/__init__.pyi | 0 .../vendor/typeshed/stdlib/xml/dom/domreg.pyi | 0 .../typeshed/stdlib/xml/dom/expatbuilder.pyi | 0 .../typeshed/stdlib/xml/dom/minicompat.pyi | 0 .../typeshed/stdlib/xml/dom/minidom.pyi | 0 .../typeshed/stdlib/xml/dom/pulldom.pyi | 0 .../typeshed/stdlib/xml/dom/xmlbuilder.pyi | 0 .../stdlib/xml/etree/ElementInclude.pyi | 0 .../typeshed/stdlib/xml/etree/ElementPath.pyi | 0 .../typeshed/stdlib/xml/etree/ElementTree.pyi | 0 .../typeshed/stdlib/xml/etree/__init__.pyi | 0 .../stdlib/xml/etree/cElementTree.pyi | 0 .../typeshed/stdlib/xml/parsers/__init__.pyi | 0 .../stdlib/xml/parsers/expat/__init__.pyi | 0 .../stdlib/xml/parsers/expat/errors.pyi | 0 .../stdlib/xml/parsers/expat/model.pyi | 0 .../typeshed/stdlib/xml/sax/__init__.pyi | 0 .../typeshed/stdlib/xml/sax/_exceptions.pyi | 0 .../typeshed/stdlib/xml/sax/handler.pyi | 0 .../typeshed/stdlib/xml/sax/saxutils.pyi | 0 .../typeshed/stdlib/xml/sax/xmlreader.pyi | 0 .../typeshed/stdlib/xmlrpc/__init__.pyi | 0 .../vendor/typeshed/stdlib/xmlrpc/client.pyi | 0 .../vendor/typeshed/stdlib/xmlrpc/server.pyi | 0 .../vendor/typeshed/stdlib/xxlimited.pyi | 0 .../vendor/typeshed/stdlib/zipapp.pyi | 0 .../typeshed/stdlib/zipfile/__init__.pyi | 0 .../vendor/typeshed/stdlib/zipfile/_path.pyi | 0 .../vendor/typeshed/stdlib/zipimport.pyi | 0 .../vendor/typeshed/stdlib/zlib.pyi | 0 .../typeshed/stdlib/zoneinfo/__init__.pyi | 0 602 files changed, 158 insertions(+), 126 deletions(-) rename crates/red_knot_python_semantic/src/module_resolver/{typeshed/versions.rs => typeshed.rs} (99%) delete mode 100644 crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs create mode 100644 crates/ruff_vendored/Cargo.toml rename crates/{red_knot_python_semantic => ruff_vendored}/build.rs (96%) rename crates/{red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs => ruff_vendored/src/lib.rs} (96%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/LICENSE (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/README.md (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/source_commit.txt (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/VERSIONS (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/__future__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/__main__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_ast.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_bisect.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_bootlocale.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_codecs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_collections_abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_compat_pickle.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_compression.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_csv.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_ctypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_curses.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_decimal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_dummy_thread.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_dummy_threading.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_heapq.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_imp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_interpchannels.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_interpqueues.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_interpreters.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_json.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_locale.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_lsprof.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_markupbase.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_msi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_operator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_osx_support.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_posixsubprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_py_abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_pydecimal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_random.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_sitebuiltins.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_socket.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_stat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_thread.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_threading_local.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_tkinter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_tracemalloc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/README.md (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/dbapi.pyi (97%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/importlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/wsgi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_typeshed/xml.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_warnings.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_weakref.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_weakrefset.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/_winapi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/aifc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/antigravity.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/argparse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/array.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ast.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asynchat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_futures.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/base_tasks.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/constants.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/coroutines.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/exceptions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/format_helpers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/futures.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/locks.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/log.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/mixins.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/proactor_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/protocols.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/queues.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/runners.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/selector_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/sslproto.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/staggered.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/streams.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/subprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/taskgroups.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/tasks.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/threads.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/timeouts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/transports.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/trsock.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/unix_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/windows_events.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncio/windows_utils.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/asyncore.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/atexit.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/audioop.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/base64.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/bdb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/binascii.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/binhex.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/bisect.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/builtins.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/bz2.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cProfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/calendar.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cgi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cgitb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/chunk.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cmath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/cmd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/code.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/codecs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/codeop.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/collections/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/collections/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/colorsys.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/compileall.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/_base.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/process.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/concurrent/futures/thread.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/configparser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/contextlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/contextvars.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/copy.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/copyreg.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/crypt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/csv.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/_endian.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ctypes/wintypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/ascii.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/has_key.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/panel.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/curses/textpad.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dataclasses.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/datetime.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/dumb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/gnu.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/ndbm.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dbm/sqlite3.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/decimal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/difflib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dis.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/archive_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/ccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/cmd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_clib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_ext.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_py.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/check.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/clean.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/config.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_data.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_headers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_lib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/register.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/sdist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/command/upload.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/config.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/core.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/debug.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/dep_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/dir_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/dist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/extension.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/file_util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/filelist.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/log.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/msvccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/spawn.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/sysconfig.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/text_file.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/unixccompiler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/distutils/version.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/doctest.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/dummy_threading.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/_header_value_parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/_policybase.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/base64mime.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/charset.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/contentmanager.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/encoders.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/feedparser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/generator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/header.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/headerregistry.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/iterators.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/message.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/application.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/audio.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/base.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/image.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/message.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/multipart.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/mime/text.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/policy.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/quoprimime.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/email/utils.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/encodings/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/encodings/utf_8.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ensurepip/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/enum.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/errno.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/faulthandler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fcntl.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/filecmp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fileinput.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fnmatch.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/formatter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/fractions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ftplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/functools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/gc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/genericpath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/getopt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/getpass.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/gettext.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/glob.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/graphlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/grp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/gzip.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/hashlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/heapq.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/hmac.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/html/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/html/entities.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/html/parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/client.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/cookiejar.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/cookies.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/http/server.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/imaplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/imghdr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/imp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/_abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/machinery.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/readers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/abc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/readers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/resources/simple.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/simple.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/importlib/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/inspect.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/io.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ipaddress.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/itertools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/decoder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/encoder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/json/tool.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/keyword.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/main.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pygram.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/pytree.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lib2to3/refactor.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/linecache.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/locale.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/logging/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/logging/config.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/logging/handlers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/lzma.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mailbox.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mailcap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/marshal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/math.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mimetypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/mmap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/modulefinder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/schema.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/sequence.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msilib/text.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/msvcrt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/connection.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/context.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/heap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/managers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/pool.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/process.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/queues.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/reduction.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/spawn.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/multiprocessing/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/netrc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nis.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nntplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nt.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ntpath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/nturl2path.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/numbers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/opcode.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/operator.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/optparse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/os/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/os/path.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ossaudiodev.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/parser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pathlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pdb.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pickle.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pickletools.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pipes.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pkgutil.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/platform.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/plistlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/poplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/posix.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/posixpath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pprint.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/profile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pstats.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pty.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pwd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/py_compile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyclbr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pydoc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pydoc_data/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pydoc_data/topics.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyexpat/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyexpat/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/pyexpat/model.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/queue.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/quopri.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/random.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/re.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/readline.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/reprlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/resource.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/rlcompleter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/runpy.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sched.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/secrets.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/select.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/selectors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/shelve.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/shlex.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/shutil.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/signal.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/site.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/smtpd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/smtplib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sndhdr.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/socket.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/socketserver.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/spwd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sqlite3/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sre_compile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sre_constants.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sre_parse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/ssl.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/stat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/statistics.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/string.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/stringprep.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/struct.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/subprocess.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sunau.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/symbol.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/symtable.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sys/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sys/_monitoring.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/sysconfig.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/syslog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tabnanny.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tarfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/telnetlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tempfile.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/termios.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/textwrap.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/this.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/threading.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/time.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/timeit.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/colorchooser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/commondialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/constants.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/dialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/dnd.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/filedialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/font.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/messagebox.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/simpledialog.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/tix.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tkinter/ttk.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/token.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tokenize.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tomllib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/trace.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/traceback.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tracemalloc.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/tty.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/turtle.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/types.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/typing.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/typing_extensions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unicodedata.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/_log.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/async_case.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/case.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/loader.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/main.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/mock.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/result.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/runner.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/signals.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/suite.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/unittest/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/error.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/parse.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/request.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/response.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/urllib/robotparser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/uu.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/uuid.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/warnings.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wave.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/weakref.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/webbrowser.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/winreg.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/winsound.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/handlers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/headers.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/simple_server.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/types.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/util.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/wsgiref/validate.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xdrlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/domreg.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/minicompat.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/minidom.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/pulldom.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/handler.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/saxutils.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xmlrpc/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xmlrpc/client.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xmlrpc/server.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/xxlimited.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipapp.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipfile/__init__.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipfile/_path.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zipimport.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zlib.pyi (100%) rename crates/{red_knot_python_semantic => ruff_vendored}/vendor/typeshed/stdlib/zoneinfo/__init__.pyi (100%) diff --git a/.github/workflows/sync_typeshed.yaml b/.github/workflows/sync_typeshed.yaml index 625b9b9fce6bb..d3bc1b4c9c546 100644 --- a/.github/workflows/sync_typeshed.yaml +++ b/.github/workflows/sync_typeshed.yaml @@ -37,13 +37,13 @@ jobs: - name: Sync typeshed id: sync run: | - rm -rf ruff/crates/red_knot_python_semantic/vendor/typeshed - mkdir ruff/crates/red_knot_python_semantic/vendor/typeshed - cp typeshed/README.md ruff/crates/red_knot_python_semantic/vendor/typeshed - cp typeshed/LICENSE ruff/crates/red_knot_python_semantic/vendor/typeshed - cp -r typeshed/stdlib ruff/crates/red_knot_python_semantic/vendor/typeshed/stdlib - rm -rf ruff/crates/red_knot_python_semantic/vendor/typeshed/stdlib/@tests - git -C typeshed rev-parse HEAD > ruff/crates/red_knot_python_semantic/vendor/typeshed/source_commit.txt + rm -rf ruff/crates/ruff_vendored/vendor/typeshed + mkdir ruff/crates/ruff_vendored/vendor/typeshed + cp typeshed/README.md ruff/crates/ruff_vendored/vendor/typeshed + cp typeshed/LICENSE ruff/crates/ruff_vendored/vendor/typeshed + cp -r typeshed/stdlib ruff/crates/ruff_vendored/vendor/typeshed/stdlib + rm -rf ruff/crates/ruff_vendored/vendor/typeshed/stdlib/@tests + git -C typeshed rev-parse HEAD > ruff/crates/ruff_vendored/vendor/typeshed/source_commit.txt - name: Commit the changes id: commit if: ${{ steps.sync.outcome == 'success' }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6f355ec378208..11cb47e0d98de 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ fail_fast: true exclude: | (?x)^( - crates/red_knot_python_semantic/vendor/.*| + crates/ruff_vendored/vendor/.*| crates/red_knot_workspace/resources/.*| crates/ruff_linter/resources/.*| crates/ruff_linter/src/rules/.*/snapshots/.*| diff --git a/Cargo.lock b/Cargo.lock index 727b38d862f03..9b1c5620d9bf8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2083,9 +2083,7 @@ dependencies = [ "countme", "hashbrown", "insta", - "once_cell", "ordermap", - "path-slash", "ruff_db", "ruff_index", "ruff_python_ast", @@ -2094,6 +2092,7 @@ dependencies = [ "ruff_python_stdlib", "ruff_source_file", "ruff_text_size", + "ruff_vendored", "rustc-hash 2.0.0", "salsa", "smallvec", @@ -2102,8 +2101,6 @@ dependencies = [ "test-case", "thiserror", "tracing", - "walkdir", - "zip", ] [[package]] @@ -2159,6 +2156,7 @@ dependencies = [ "ruff_db", "ruff_python_ast", "ruff_text_size", + "ruff_vendored", "rustc-hash 2.0.0", "salsa", "tempfile", @@ -2450,6 +2448,7 @@ version = "0.1.0" dependencies = [ "anyhow", "clap", + "once_cell", "red_knot_python_semantic", "ruff_cache", "ruff_db", @@ -2460,6 +2459,7 @@ dependencies = [ "salsa", "schemars", "serde", + "zip", ] [[package]] @@ -2790,6 +2790,17 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "ruff_vendored" +version = "0.0.0" +dependencies = [ + "once_cell", + "path-slash", + "ruff_db", + "walkdir", + "zip", +] + [[package]] name = "ruff_wasm" version = "0.6.6" diff --git a/Cargo.toml b/Cargo.toml index 81e80f7630db3..932a5048811f2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ license = "MIT" [workspace.dependencies] ruff = { path = "crates/ruff" } ruff_cache = { path = "crates/ruff_cache" } -ruff_db = { path = "crates/ruff_db" } +ruff_db = { path = "crates/ruff_db", default-features = false } ruff_diagnostics = { path = "crates/ruff_diagnostics" } ruff_formatter = { path = "crates/ruff_formatter" } ruff_graph = { path = "crates/ruff_graph" } @@ -34,11 +34,12 @@ ruff_python_trivia = { path = "crates/ruff_python_trivia" } ruff_server = { path = "crates/ruff_server" } ruff_source_file = { path = "crates/ruff_source_file" } ruff_text_size = { path = "crates/ruff_text_size" } +ruff_vendored = { path = "crates/ruff_vendored" } ruff_workspace = { path = "crates/ruff_workspace" } red_knot_python_semantic = { path = "crates/red_knot_python_semantic" } red_knot_server = { path = "crates/red_knot_server" } -red_knot_workspace = { path = "crates/red_knot_workspace" } +red_knot_workspace = { path = "crates/red_knot_workspace", default-features = false } aho-corasick = { version = "1.1.3" } annotate-snippets = { version = "0.9.2", features = ["color"] } diff --git a/crates/red_knot/Cargo.toml b/crates/red_knot/Cargo.toml index 0f66f0b3a6961..1b3fdfa346130 100644 --- a/crates/red_knot/Cargo.toml +++ b/crates/red_knot/Cargo.toml @@ -13,9 +13,8 @@ license.workspace = true [dependencies] red_knot_python_semantic = { workspace = true } -red_knot_workspace = { workspace = true } +red_knot_workspace = { workspace = true, features = ["zstd"] } red_knot_server = { workspace = true } - ruff_db = { workspace = true, features = ["os", "cache"] } anyhow = { workspace = true } diff --git a/crates/red_knot_python_semantic/Cargo.toml b/crates/red_knot_python_semantic/Cargo.toml index 862f6f268967e..bf8afe24af8de 100644 --- a/crates/red_knot_python_semantic/Cargo.toml +++ b/crates/red_knot_python_semantic/Cargo.toml @@ -24,7 +24,6 @@ bitflags = { workspace = true } camino = { workspace = true } compact_str = { workspace = true } countme = { workspace = true } -once_cell = { workspace = true } ordermap = { workspace = true } salsa = { workspace = true } thiserror = { workspace = true } @@ -35,20 +34,14 @@ smallvec = { workspace = true } static_assertions = { workspace = true } test-case = { workspace = true } -[build-dependencies] -path-slash = { workspace = true } -walkdir = { workspace = true } -zip = { workspace = true, features = ["zstd", "deflate"] } - [dev-dependencies] ruff_db = { workspace = true, features = ["os", "testing"] } ruff_python_parser = { workspace = true } +ruff_vendored = { workspace = true } anyhow = { workspace = true } insta = { workspace = true } tempfile = { workspace = true } -walkdir = { workspace = true } -zip = { workspace = true } [lints] workspace = true diff --git a/crates/red_knot_python_semantic/src/db.rs b/crates/red_knot_python_semantic/src/db.rs index c358d3e1cc351..8ec0fee30053a 100644 --- a/crates/red_knot_python_semantic/src/db.rs +++ b/crates/red_knot_python_semantic/src/db.rs @@ -11,7 +11,6 @@ pub trait Db: SourceDb + Upcast { pub(crate) mod tests { use std::sync::Arc; - use crate::module_resolver::vendored_typeshed_stubs; use ruff_db::files::{File, Files}; use ruff_db::system::{DbWithTestSystem, System, TestSystem}; use ruff_db::vendored::VendoredFileSystem; @@ -33,7 +32,7 @@ pub(crate) mod tests { Self { storage: salsa::Storage::default(), system: TestSystem::default(), - vendored: vendored_typeshed_stubs().clone(), + vendored: ruff_vendored::file_system().clone(), events: std::sync::Arc::default(), files: Files::default(), } diff --git a/crates/red_knot_python_semantic/src/lib.rs b/crates/red_knot_python_semantic/src/lib.rs index afdf2da55a6b0..2c1b059b29d3d 100644 --- a/crates/red_knot_python_semantic/src/lib.rs +++ b/crates/red_knot_python_semantic/src/lib.rs @@ -4,9 +4,7 @@ use rustc_hash::FxHasher; pub use db::Db; pub use module_name::ModuleName; -pub use module_resolver::{ - resolve_module, system_module_search_paths, vendored_typeshed_stubs, Module, -}; +pub use module_resolver::{resolve_module, system_module_search_paths, Module}; pub use program::{Program, ProgramSettings, SearchPathSettings, SitePackages}; pub use python_version::PythonVersion; pub use semantic_model::{HasTy, SemanticModel}; diff --git a/crates/red_knot_python_semantic/src/module_resolver/mod.rs b/crates/red_knot_python_semantic/src/module_resolver/mod.rs index a8ba40c09d3c0..c17925606ff29 100644 --- a/crates/red_knot_python_semantic/src/module_resolver/mod.rs +++ b/crates/red_knot_python_semantic/src/module_resolver/mod.rs @@ -4,7 +4,6 @@ pub use module::Module; pub use resolver::resolve_module; pub(crate) use resolver::{file_to_module, SearchPaths}; use ruff_db::system::SystemPath; -pub use typeshed::vendored_typeshed_stubs; use crate::module_resolver::resolver::search_paths; use crate::Db; diff --git a/crates/red_knot_python_semantic/src/module_resolver/typeshed/versions.rs b/crates/red_knot_python_semantic/src/module_resolver/typeshed.rs similarity index 99% rename from crates/red_knot_python_semantic/src/module_resolver/typeshed/versions.rs rename to crates/red_knot_python_semantic/src/module_resolver/typeshed.rs index bce245459711c..204a876ded3ac 100644 --- a/crates/red_knot_python_semantic/src/module_resolver/typeshed/versions.rs +++ b/crates/red_knot_python_semantic/src/module_resolver/typeshed.rs @@ -390,7 +390,8 @@ mod tests { fn typeshed_versions_consistent_with_vendored_stubs() { let db = TestDb::new(); let vendored_typeshed_versions = vendored_typeshed_versions(&db); - let vendored_typeshed_dir = Path::new("vendor/typeshed").canonicalize().unwrap(); + let vendored_typeshed_dir = + Path::new(env!("CARGO_MANIFEST_DIR")).join("../ruff_vendored/vendor/typeshed"); let mut empty_iterator = true; diff --git a/crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs b/crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs deleted file mode 100644 index fe6b08f5766c9..0000000000000 --- a/crates/red_knot_python_semantic/src/module_resolver/typeshed/mod.rs +++ /dev/null @@ -1,8 +0,0 @@ -pub use self::vendored::vendored_typeshed_stubs; -pub(super) use self::versions::{ - typeshed_versions, vendored_typeshed_versions, TypeshedVersions, TypeshedVersionsParseError, - TypeshedVersionsQueryResult, -}; - -mod vendored; -mod versions; diff --git a/crates/red_knot_python_semantic/src/types.rs b/crates/red_knot_python_semantic/src/types.rs index 07ad95095b090..54df8499de33e 100644 --- a/crates/red_knot_python_semantic/src/types.rs +++ b/crates/red_knot_python_semantic/src/types.rs @@ -701,12 +701,12 @@ enum CallOutcome<'db> { impl<'db> CallOutcome<'db> { /// Create a new `CallOutcome::Callable` with given return type. - fn callable(return_ty: Type<'db>) -> CallOutcome { + fn callable(return_ty: Type<'db>) -> CallOutcome<'db> { CallOutcome::Callable { return_ty } } /// Create a new `CallOutcome::NotCallable` with given not-callable type. - fn not_callable(not_callable_ty: Type<'db>) -> CallOutcome { + fn not_callable(not_callable_ty: Type<'db>) -> CallOutcome<'db> { CallOutcome::NotCallable { not_callable_ty } } @@ -719,7 +719,10 @@ impl<'db> CallOutcome<'db> { } /// Create a new `CallOutcome::Union` with given wrapped outcomes. - fn union(called_ty: Type<'db>, outcomes: impl Into]>>) -> CallOutcome { + fn union( + called_ty: Type<'db>, + outcomes: impl Into]>>, + ) -> CallOutcome<'db> { CallOutcome::Union { called_ty, outcomes: outcomes.into(), diff --git a/crates/red_knot_wasm/Cargo.toml b/crates/red_knot_wasm/Cargo.toml index df70eaa9b39db..896af153915a6 100644 --- a/crates/red_knot_wasm/Cargo.toml +++ b/crates/red_knot_wasm/Cargo.toml @@ -20,9 +20,9 @@ default = ["console_error_panic_hook"] [dependencies] red_knot_python_semantic = { workspace = true } -red_knot_workspace = { workspace = true } +red_knot_workspace = { workspace = true, default-features = false, features = ["deflate"] } -ruff_db = { workspace = true } +ruff_db = { workspace = true, features = [] } ruff_notebook = { workspace = true } console_error_panic_hook = { workspace = true, optional = true } diff --git a/crates/red_knot_workspace/Cargo.toml b/crates/red_knot_workspace/Cargo.toml index dd73febde3588..dac58c365f5b1 100644 --- a/crates/red_knot_workspace/Cargo.toml +++ b/crates/red_knot_workspace/Cargo.toml @@ -18,6 +18,7 @@ ruff_cache = { workspace = true } ruff_db = { workspace = true, features = ["os", "cache"] } ruff_python_ast = { workspace = true } ruff_text_size = { workspace = true } +ruff_vendored = { workspace = true } anyhow = { workspace = true } crossbeam = { workspace = true } @@ -31,5 +32,10 @@ tracing = { workspace = true } ruff_db = { workspace = true, features = ["testing"] } tempfile = { workspace = true } +[features] +default = ["zstd"] +zstd = ["ruff_vendored/zstd"] +deflate = ["ruff_vendored/deflate"] + [lints] workspace = true diff --git a/crates/red_knot_workspace/src/db.rs b/crates/red_knot_workspace/src/db.rs index 0839d7ee0fe26..4d3da0ceed98f 100644 --- a/crates/red_knot_workspace/src/db.rs +++ b/crates/red_knot_workspace/src/db.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use salsa::plumbing::ZalsaDatabase; use salsa::{Cancelled, Event}; -use red_knot_python_semantic::{vendored_typeshed_stubs, Db as SemanticDb, Program}; +use red_knot_python_semantic::{Db as SemanticDb, Program}; use ruff_db::files::{File, Files}; use ruff_db::system::System; use ruff_db::vendored::VendoredFileSystem; @@ -124,7 +124,7 @@ impl SemanticDb for RootDatabase { #[salsa::db] impl SourceDb for RootDatabase { fn vendored(&self) -> &VendoredFileSystem { - vendored_typeshed_stubs() + ruff_vendored::file_system() } fn system(&self) -> &dyn System { @@ -161,7 +161,7 @@ pub(crate) mod tests { use salsa::Event; - use red_knot_python_semantic::{vendored_typeshed_stubs, Db as SemanticDb}; + use red_knot_python_semantic::Db as SemanticDb; use ruff_db::files::Files; use ruff_db::system::{DbWithTestSystem, System, TestSystem}; use ruff_db::vendored::VendoredFileSystem; @@ -183,7 +183,7 @@ pub(crate) mod tests { Self { storage: salsa::Storage::default(), system: TestSystem::default(), - vendored: vendored_typeshed_stubs().clone(), + vendored: ruff_vendored::file_system().clone(), files: Files::default(), events: Arc::default(), } diff --git a/crates/ruff/Cargo.toml b/crates/ruff/Cargo.toml index 6b1ba0ad5e910..786ca8e9c2850 100644 --- a/crates/ruff/Cargo.toml +++ b/crates/ruff/Cargo.toml @@ -14,7 +14,7 @@ default-run = "ruff" [dependencies] ruff_cache = { workspace = true } -ruff_db = { workspace = true } +ruff_db = { workspace = true, default-features = false, features = ["os"] } ruff_diagnostics = { workspace = true } ruff_graph = { workspace = true, features = ["serde", "clap"] } ruff_linter = { workspace = true, features = ["clap"] } diff --git a/crates/ruff_db/Cargo.toml b/crates/ruff_db/Cargo.toml index 570aa0d63b297..3410fe7449cfc 100644 --- a/crates/ruff_db/Cargo.toml +++ b/crates/ruff_db/Cargo.toml @@ -33,19 +33,17 @@ tracing = { workspace = true } tracing-subscriber = { workspace = true, optional = true } tracing-tree = { workspace = true, optional = true } rustc-hash = { workspace = true } - -[target.'cfg(not(target_arch="wasm32"))'.dependencies] -zip = { workspace = true, features = ["zstd"] } +zip = { workspace = true } [target.'cfg(target_arch="wasm32")'.dependencies] web-time = { version = "1.1.0" } -zip = { workspace = true, features = ["deflate"] } [dev-dependencies] insta = { workspace = true } tempfile = { workspace = true } [features] +default = ["os"] cache = ["ruff_cache"] os = ["ignore"] serde = ["dep:serde", "camino/serde1"] diff --git a/crates/ruff_db/src/files.rs b/crates/ruff_db/src/files.rs index ec1f6939207c2..50f4e76d7e984 100644 --- a/crates/ruff_db/src/files.rs +++ b/crates/ruff_db/src/files.rs @@ -503,7 +503,8 @@ mod tests { use crate::files::{system_path_to_file, vendored_path_to_file, FileError}; use crate::system::DbWithTestSystem; use crate::tests::TestDb; - use crate::vendored::tests::VendoredFileSystemBuilder; + use crate::vendored::VendoredFileSystemBuilder; + use zip::CompressionMethod; #[test] fn system_existing_file() -> crate::system::Result<()> { @@ -548,7 +549,7 @@ mod tests { fn stubbed_vendored_file() -> crate::system::Result<()> { let mut db = TestDb::new(); - let mut vendored_builder = VendoredFileSystemBuilder::new(); + let mut vendored_builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); vendored_builder .add_file("test.pyi", "def foo() -> str") .unwrap(); diff --git a/crates/ruff_db/src/parsed.rs b/crates/ruff_db/src/parsed.rs index c47e71fdfff86..e93d5e55178c2 100644 --- a/crates/ruff_db/src/parsed.rs +++ b/crates/ruff_db/src/parsed.rs @@ -79,8 +79,9 @@ mod tests { use crate::parsed::parsed_module; use crate::system::{DbWithTestSystem, SystemPath, SystemVirtualPath}; use crate::tests::TestDb; - use crate::vendored::{tests::VendoredFileSystemBuilder, VendoredPath}; + use crate::vendored::{VendoredFileSystemBuilder, VendoredPath}; use crate::Db; + use zip::CompressionMethod; #[test] fn python_file() -> crate::system::Result<()> { @@ -150,7 +151,7 @@ mod tests { fn vendored_file() { let mut db = TestDb::new(); - let mut vendored_builder = VendoredFileSystemBuilder::new(); + let mut vendored_builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); vendored_builder .add_file( "path.pyi", diff --git a/crates/ruff_db/src/vendored.rs b/crates/ruff_db/src/vendored.rs index d72195aa7ffe4..1a328448c5336 100644 --- a/crates/ruff_db/src/vendored.rs +++ b/crates/ruff_db/src/vendored.rs @@ -1,12 +1,13 @@ use std::borrow::Cow; use std::collections::BTreeMap; use std::fmt::{self, Debug}; -use std::io::{self, Read}; +use std::io::{self, Read, Write}; use std::sync::{Arc, Mutex, MutexGuard}; -use zip::{read::ZipFile, ZipArchive, ZipWriter}; - use crate::file_revision::FileRevision; +use zip::result::ZipResult; +use zip::write::FileOptions; +use zip::{read::ZipFile, CompressionMethod, ZipArchive, ZipWriter}; pub use self::path::{VendoredPath, VendoredPathBuf}; @@ -177,7 +178,6 @@ struct ZipFileDebugInfo { crc32_hash: u32, compressed_size: u64, uncompressed_size: u64, - compression_method: zip::CompressionMethod, kind: FileType, } @@ -187,7 +187,6 @@ impl<'a> From> for ZipFileDebugInfo { crc32_hash: value.crc32(), compressed_size: value.compressed_size(), uncompressed_size: value.size(), - compression_method: value.compression(), kind: if value.is_dir() { FileType::Directory } else { @@ -341,69 +340,61 @@ impl<'a> From<&'a VendoredPath> for NormalizedVendoredPath<'a> { } } -#[cfg(test)] -pub(crate) mod tests { - use std::io::Write; - - use insta::assert_snapshot; - use zip::result::ZipResult; - use zip::write::FileOptions; - use zip::{CompressionMethod, ZipWriter}; +pub struct VendoredFileSystemBuilder { + writer: ZipWriter>>, + compression_method: CompressionMethod, +} - use super::*; +impl VendoredFileSystemBuilder { + pub fn new(compression_method: CompressionMethod) -> Self { + let buffer = io::Cursor::new(Vec::new()); - const FUNCTOOLS_CONTENTS: &str = "def update_wrapper(): ..."; - const ASYNCIO_TASKS_CONTENTS: &str = "class Task: ..."; + Self { + writer: ZipWriter::new(buffer), + compression_method, + } + } - pub struct VendoredFileSystemBuilder { - writer: ZipWriter>>, + pub fn add_file( + &mut self, + path: impl AsRef, + content: &str, + ) -> std::io::Result<()> { + self.writer + .start_file(path.as_ref().as_str(), self.options())?; + self.writer.write_all(content.as_bytes()) } - impl Default for VendoredFileSystemBuilder { - fn default() -> Self { - Self::new() - } + pub fn add_directory(&mut self, path: impl AsRef) -> ZipResult<()> { + self.writer + .add_directory(path.as_ref().as_str(), self.options()) } - impl VendoredFileSystemBuilder { - pub fn new() -> Self { - let buffer = io::Cursor::new(Vec::new()); + pub fn finish(mut self) -> Result { + let buffer = self.writer.finish()?; - Self { - writer: ZipWriter::new(buffer), - } - } + VendoredFileSystem::new(buffer.into_inner()) + } - pub fn add_file( - &mut self, - path: impl AsRef, - content: &str, - ) -> std::io::Result<()> { - self.writer - .start_file(path.as_ref().as_str(), Self::options())?; - self.writer.write_all(content.as_bytes()) - } + fn options(&self) -> FileOptions { + FileOptions::default() + .compression_method(self.compression_method) + .unix_permissions(0o644) + } +} - pub fn add_directory(&mut self, path: impl AsRef) -> ZipResult<()> { - self.writer - .add_directory(path.as_ref().as_str(), Self::options()) - } +#[cfg(test)] +pub(crate) mod tests { - pub fn finish(mut self) -> Result { - let buffer = self.writer.finish()?; + use insta::assert_snapshot; - VendoredFileSystem::new(buffer.into_inner()) - } + use super::*; - fn options() -> FileOptions { - FileOptions::default() - .compression_method(CompressionMethod::Zstd) - .unix_permissions(0o644) - } - } + const FUNCTOOLS_CONTENTS: &str = "def update_wrapper(): ..."; + const ASYNCIO_TASKS_CONTENTS: &str = "class Task: ..."; fn mock_typeshed() -> VendoredFileSystem { - let mut builder = VendoredFileSystemBuilder::new(); + let mut builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); builder.add_directory("stdlib/").unwrap(); builder @@ -441,28 +432,24 @@ pub(crate) mod tests { crc32_hash: 0, compressed_size: 0, uncompressed_size: 0, - compression_method: Stored, kind: Directory, }, "stdlib/asyncio/": ZipFileDebugInfo { crc32_hash: 0, compressed_size: 0, uncompressed_size: 0, - compression_method: Stored, kind: Directory, }, "stdlib/asyncio/tasks.pyi": ZipFileDebugInfo { crc32_hash: 2826547428, - compressed_size: 24, + compressed_size: 15, uncompressed_size: 15, - compression_method: Zstd, kind: File, }, "stdlib/functools.pyi": ZipFileDebugInfo { crc32_hash: 1099005079, - compressed_size: 34, + compressed_size: 25, uncompressed_size: 25, - compression_method: Zstd, kind: File, }, }, diff --git a/crates/ruff_graph/Cargo.toml b/crates/ruff_graph/Cargo.toml index c9808eace8bc5..9bb0a67d9ca9d 100644 --- a/crates/ruff_graph/Cargo.toml +++ b/crates/ruff_graph/Cargo.toml @@ -20,9 +20,11 @@ ruff_python_parser = { workspace = true } anyhow = { workspace = true } clap = { workspace = true, optional = true } +once_cell = { workspace = true } salsa = { workspace = true } schemars = { workspace = true, optional = true } serde = { workspace = true, optional = true } +zip = { workspace = true, features = [] } [lints] workspace = true diff --git a/crates/ruff_graph/src/db.rs b/crates/ruff_graph/src/db.rs index d0323f6c062c2..a84168763131f 100644 --- a/crates/ruff_graph/src/db.rs +++ b/crates/ruff_graph/src/db.rs @@ -1,12 +1,19 @@ use anyhow::Result; -use red_knot_python_semantic::{ - vendored_typeshed_stubs, Db, Program, ProgramSettings, PythonVersion, SearchPathSettings, -}; +use zip::CompressionMethod; + +use red_knot_python_semantic::{Db, Program, ProgramSettings, PythonVersion, SearchPathSettings}; use ruff_db::files::{File, Files}; use ruff_db::system::{OsSystem, System, SystemPathBuf}; -use ruff_db::vendored::VendoredFileSystem; +use ruff_db::vendored::{VendoredFileSystem, VendoredFileSystemBuilder}; use ruff_db::{Db as SourceDb, Upcast}; +static EMPTY_VENDORED: once_cell::sync::Lazy = + once_cell::sync::Lazy::new(|| { + let mut builder = VendoredFileSystemBuilder::new(CompressionMethod::Stored); + builder.add_file("stdlib/VERSIONS", "\n").unwrap(); + builder.finish().unwrap() + }); + #[salsa::db] #[derive(Default)] pub struct ModuleDb { @@ -70,7 +77,7 @@ impl Upcast for ModuleDb { #[salsa::db] impl SourceDb for ModuleDb { fn vendored(&self) -> &VendoredFileSystem { - vendored_typeshed_stubs() + &EMPTY_VENDORED } fn system(&self) -> &dyn System { diff --git a/crates/ruff_vendored/Cargo.toml b/crates/ruff_vendored/Cargo.toml new file mode 100644 index 0000000000000..fbd9b3b9014cb --- /dev/null +++ b/crates/ruff_vendored/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "ruff_vendored" +version = "0.0.0" +publish = false +authors = { workspace = true } +edition = { workspace = true } +rust-version = { workspace = true } +homepage = { workspace = true } +documentation = { workspace = true } +repository = { workspace = true } +license = { workspace = true } + +[dependencies] +ruff_db = { workspace = true } +once_cell = { workspace = true } +zip = { workspace = true } + +[build-dependencies] +path-slash = { workspace = true } +walkdir = { workspace = true } +zip = { workspace = true, features = ["zstd", "deflate"] } + +[dev-dependencies] +walkdir = { workspace = true } + +[features] +zstd = ["zip/zstd"] +deflate = ["zip/deflate"] + +[lints] +workspace = true + diff --git a/crates/red_knot_python_semantic/build.rs b/crates/ruff_vendored/build.rs similarity index 96% rename from crates/red_knot_python_semantic/build.rs rename to crates/ruff_vendored/build.rs index f7481bf85be21..535585d657f30 100644 --- a/crates/red_knot_python_semantic/build.rs +++ b/crates/ruff_vendored/build.rs @@ -30,10 +30,12 @@ fn zip_dir(directory_path: &str, writer: File) -> ZipResult { // We can't use `#[cfg(...)]` here because the target-arch in a build script is the // architecture of the system running the build script and not the architecture of the build-target. // That's why we use the `TARGET` environment variable here. - let method = if std::env::var("TARGET").unwrap().contains("wasm32") { + let method = if cfg!(feature = "zstd") { + CompressionMethod::Zstd + } else if cfg!(feature = "deflate") { CompressionMethod::Deflated } else { - CompressionMethod::Zstd + CompressionMethod::Stored }; let options = FileOptions::default() diff --git a/crates/red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs b/crates/ruff_vendored/src/lib.rs similarity index 96% rename from crates/red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs rename to crates/ruff_vendored/src/lib.rs index e28eadbc3f9c5..de384cd570b97 100644 --- a/crates/red_knot_python_semantic/src/module_resolver/typeshed/vendored.rs +++ b/crates/ruff_vendored/src/lib.rs @@ -6,7 +6,7 @@ use ruff_db::vendored::VendoredFileSystem; // Luckily this crate will fail to build if this file isn't available at build time. static TYPESHED_ZIP_BYTES: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/zipped_typeshed.zip")); -pub fn vendored_typeshed_stubs() -> &'static VendoredFileSystem { +pub fn file_system() -> &'static VendoredFileSystem { static VENDORED_TYPESHED_STUBS: Lazy = Lazy::new(|| VendoredFileSystem::new_static(TYPESHED_ZIP_BYTES).unwrap()); &VENDORED_TYPESHED_STUBS @@ -42,7 +42,7 @@ mod tests { #[test] fn typeshed_vfs_consistent_with_vendored_stubs() { let vendored_typeshed_dir = Path::new("vendor/typeshed").canonicalize().unwrap(); - let vendored_typeshed_stubs = vendored_typeshed_stubs(); + let vendored_typeshed_stubs = file_system(); let mut empty_iterator = true; for entry in walkdir::WalkDir::new(&vendored_typeshed_dir).min_depth(1) { diff --git a/crates/red_knot_python_semantic/vendor/typeshed/LICENSE b/crates/ruff_vendored/vendor/typeshed/LICENSE similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/LICENSE rename to crates/ruff_vendored/vendor/typeshed/LICENSE diff --git a/crates/red_knot_python_semantic/vendor/typeshed/README.md b/crates/ruff_vendored/vendor/typeshed/README.md similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/README.md rename to crates/ruff_vendored/vendor/typeshed/README.md diff --git a/crates/red_knot_python_semantic/vendor/typeshed/source_commit.txt b/crates/ruff_vendored/vendor/typeshed/source_commit.txt similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/source_commit.txt rename to crates/ruff_vendored/vendor/typeshed/source_commit.txt diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/VERSIONS b/crates/ruff_vendored/vendor/typeshed/stdlib/VERSIONS similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/VERSIONS rename to crates/ruff_vendored/vendor/typeshed/stdlib/VERSIONS diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/__future__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/__future__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/__future__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/__future__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/__main__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/__main__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/__main__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/__main__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ast.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_ast.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ast.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_ast.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bisect.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_bisect.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bisect.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_bisect.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bootlocale.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_bootlocale.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_bootlocale.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_bootlocale.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_codecs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_codecs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_codecs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_codecs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_collections_abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_collections_abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_collections_abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_collections_abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compat_pickle.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_compat_pickle.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compat_pickle.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_compat_pickle.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compression.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_compression.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_compression.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_compression.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_csv.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_csv.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_csv.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_csv.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ctypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_ctypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_ctypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_ctypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_curses.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_curses.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_curses.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_curses.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_decimal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_decimal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_decimal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_decimal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_thread.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_thread.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_thread.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_thread.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_threading.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_threading.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_dummy_threading.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_dummy_threading.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_heapq.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_heapq.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_heapq.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_heapq.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_imp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_imp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_imp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_imp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpchannels.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_interpchannels.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpchannels.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_interpchannels.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpqueues.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_interpqueues.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpqueues.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_interpqueues.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpreters.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_interpreters.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_interpreters.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_interpreters.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_json.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_json.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_json.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_json.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_locale.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_locale.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_locale.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_locale.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_lsprof.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_lsprof.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_lsprof.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_lsprof.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_markupbase.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_markupbase.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_markupbase.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_markupbase.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_msi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_msi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_msi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_msi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_operator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_operator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_operator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_operator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_osx_support.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_osx_support.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_osx_support.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_osx_support.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_posixsubprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_posixsubprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_posixsubprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_posixsubprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_py_abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_py_abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_py_abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_py_abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_pydecimal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_pydecimal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_pydecimal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_pydecimal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_random.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_random.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_random.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_random.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_sitebuiltins.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_sitebuiltins.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_sitebuiltins.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_sitebuiltins.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_socket.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_socket.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_socket.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_socket.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_stat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_stat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_stat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_stat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_thread.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_thread.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_thread.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_thread.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_threading_local.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_threading_local.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_threading_local.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_threading_local.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tkinter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_tkinter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tkinter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_tkinter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tracemalloc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_tracemalloc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_tracemalloc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_tracemalloc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/README.md b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/README.md similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/README.md rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/README.md diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/dbapi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/dbapi.pyi similarity index 97% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/dbapi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/dbapi.pyi index d54fbee57042a..874696ad51b62 100644 --- a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/dbapi.pyi +++ b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/dbapi.pyi @@ -1,4 +1,4 @@ -# PEP 249 Database API 2.0 Types + # PEP 249 Database API 2.0 Types # https://www.python.org/dev/peps/pep-0249/ from collections.abc import Mapping, Sequence diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/importlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/importlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/importlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/importlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/wsgi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/wsgi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/wsgi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/wsgi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/xml.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/xml.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_typeshed/xml.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_typeshed/xml.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_warnings.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_warnings.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_warnings.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_warnings.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakref.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_weakref.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakref.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_weakref.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakrefset.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_weakrefset.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_weakrefset.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_weakrefset.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/_winapi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/_winapi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/_winapi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/_winapi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/aifc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/aifc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/aifc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/aifc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/antigravity.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/antigravity.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/antigravity.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/antigravity.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/argparse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/argparse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/argparse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/argparse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/array.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/array.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/array.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/array.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ast.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ast.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ast.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ast.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asynchat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asynchat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asynchat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asynchat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_futures.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_futures.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_futures.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_futures.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_subprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_tasks.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_tasks.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/base_tasks.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/base_tasks.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/constants.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/constants.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/constants.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/constants.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/coroutines.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/coroutines.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/coroutines.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/coroutines.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/exceptions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/exceptions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/exceptions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/exceptions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/format_helpers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/format_helpers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/format_helpers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/format_helpers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/futures.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/futures.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/futures.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/futures.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/locks.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/locks.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/locks.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/locks.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/log.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/log.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/log.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/log.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/mixins.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/mixins.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/mixins.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/mixins.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/proactor_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/proactor_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/proactor_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/proactor_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/protocols.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/protocols.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/protocols.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/protocols.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/queues.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/queues.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/queues.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/queues.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/runners.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/runners.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/runners.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/runners.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/selector_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/selector_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/selector_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/selector_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/sslproto.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/sslproto.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/sslproto.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/sslproto.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/staggered.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/staggered.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/staggered.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/staggered.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/streams.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/streams.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/streams.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/streams.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/subprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/subprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/subprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/subprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/taskgroups.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/taskgroups.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/taskgroups.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/taskgroups.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/tasks.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/tasks.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/tasks.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/tasks.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/threads.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/threads.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/threads.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/threads.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/timeouts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/timeouts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/timeouts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/timeouts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/transports.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/transports.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/transports.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/transports.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/trsock.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/trsock.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/trsock.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/trsock.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/unix_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/unix_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/unix_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/unix_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_events.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_events.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_events.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_events.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_utils.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_utils.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncio/windows_utils.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncio/windows_utils.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncore.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/asyncore.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/asyncore.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/asyncore.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/atexit.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/atexit.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/atexit.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/atexit.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/audioop.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/audioop.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/audioop.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/audioop.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/base64.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/base64.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/base64.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/base64.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/bdb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/bdb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/bdb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/bdb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/binascii.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/binascii.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/binascii.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/binascii.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/binhex.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/binhex.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/binhex.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/binhex.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/bisect.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/bisect.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/bisect.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/bisect.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/builtins.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/builtins.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/builtins.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/builtins.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/bz2.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/bz2.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/bz2.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/bz2.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cProfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cProfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cProfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cProfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/calendar.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/calendar.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/calendar.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/calendar.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cgi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cgi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgitb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cgitb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cgitb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cgitb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/chunk.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/chunk.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/chunk.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/chunk.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cmath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cmath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/cmd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/cmd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/cmd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/code.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/code.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/code.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/code.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/codecs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/codecs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/codecs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/codecs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/codeop.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/codeop.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/codeop.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/codeop.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/collections/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/collections/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/collections/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/collections/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/collections/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/colorsys.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/colorsys.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/colorsys.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/colorsys.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/compileall.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/compileall.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/compileall.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/compileall.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/_base.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/_base.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/_base.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/_base.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/process.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/process.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/process.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/process.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/thread.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/thread.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/concurrent/futures/thread.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/concurrent/futures/thread.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/configparser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/configparser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/configparser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/configparser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/contextlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/contextlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextvars.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/contextvars.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/contextvars.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/contextvars.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/copy.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/copy.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/copy.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/copy.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/copyreg.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/copyreg.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/copyreg.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/copyreg.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/crypt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/crypt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/crypt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/crypt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/csv.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/csv.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/csv.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/csv.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/_endian.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/_endian.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/_endian.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/_endian.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/wintypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/wintypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ctypes/wintypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ctypes/wintypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/ascii.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/ascii.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/ascii.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/ascii.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/has_key.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/has_key.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/has_key.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/has_key.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/panel.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/panel.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/panel.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/panel.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/textpad.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/curses/textpad.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/curses/textpad.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/curses/textpad.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dataclasses.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dataclasses.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dataclasses.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dataclasses.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/datetime.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/datetime.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/datetime.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/datetime.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/dumb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/dumb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/dumb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/dumb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/gnu.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/gnu.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/gnu.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/gnu.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/ndbm.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/ndbm.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/ndbm.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/ndbm.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/sqlite3.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dbm/sqlite3.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dbm/sqlite3.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dbm/sqlite3.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/decimal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/decimal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/decimal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/decimal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/difflib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/difflib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/difflib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/difflib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dis.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dis.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dis.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dis.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/archive_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/archive_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/archive_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/archive_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/bcppcompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/ccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/ccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/ccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/ccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cmd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cmd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cmd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cmd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_dumb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_msi.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_packager.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_rpm.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/bdist_wininst.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_clib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_clib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_clib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_clib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_ext.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_ext.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_ext.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_ext.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_py.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_py.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_py.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_py.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/build_scripts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/check.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/check.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/check.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/check.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/clean.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/clean.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/clean.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/clean.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/config.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/config.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/config.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/config.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_data.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_data.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_data.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_data.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_egg_info.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_headers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_headers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_headers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_headers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_lib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_lib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_lib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_lib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/install_scripts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/register.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/register.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/register.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/register.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/sdist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/sdist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/sdist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/sdist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/upload.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/upload.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/command/upload.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/command/upload.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/config.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/config.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/config.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/config.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/core.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/core.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/core.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/core.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/cygwinccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/debug.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/debug.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/debug.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/debug.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dep_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dep_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dep_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dep_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dir_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dir_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dir_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dir_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/dist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/dist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/extension.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/extension.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/extension.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/extension.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/fancy_getopt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/file_util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/file_util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/file_util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/file_util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/filelist.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/filelist.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/filelist.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/filelist.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/log.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/log.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/log.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/log.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/msvccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/msvccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/msvccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/msvccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/spawn.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/spawn.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/spawn.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/spawn.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/sysconfig.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/sysconfig.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/sysconfig.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/sysconfig.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/text_file.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/text_file.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/text_file.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/text_file.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/unixccompiler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/unixccompiler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/unixccompiler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/unixccompiler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/version.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/distutils/version.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/distutils/version.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/distutils/version.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/doctest.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/doctest.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/doctest.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/doctest.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/dummy_threading.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/dummy_threading.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/dummy_threading.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/dummy_threading.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_header_value_parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/_header_value_parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_header_value_parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/_header_value_parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_policybase.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/_policybase.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/_policybase.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/_policybase.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/base64mime.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/base64mime.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/base64mime.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/base64mime.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/charset.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/charset.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/charset.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/charset.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/contentmanager.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/contentmanager.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/contentmanager.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/contentmanager.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/encoders.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/encoders.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/encoders.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/encoders.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/feedparser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/feedparser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/feedparser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/feedparser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/generator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/generator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/generator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/generator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/header.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/header.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/header.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/header.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/headerregistry.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/headerregistry.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/headerregistry.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/headerregistry.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/iterators.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/iterators.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/iterators.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/iterators.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/message.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/message.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/message.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/message.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/application.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/application.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/application.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/application.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/audio.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/audio.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/audio.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/audio.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/base.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/base.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/base.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/base.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/image.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/image.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/image.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/image.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/message.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/message.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/message.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/message.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/multipart.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/multipart.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/multipart.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/multipart.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/nonmultipart.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/text.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/text.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/mime/text.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/mime/text.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/policy.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/policy.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/policy.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/policy.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/quoprimime.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/quoprimime.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/quoprimime.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/quoprimime.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/utils.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/email/utils.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/email/utils.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/email/utils.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/encodings/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/encodings/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/encodings/utf_8_sig.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ensurepip/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ensurepip/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ensurepip/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ensurepip/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/enum.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/enum.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/enum.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/enum.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/errno.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/errno.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/errno.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/errno.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/faulthandler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/faulthandler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/faulthandler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/faulthandler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fcntl.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fcntl.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fcntl.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fcntl.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/filecmp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/filecmp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/filecmp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/filecmp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fileinput.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fileinput.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fileinput.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fileinput.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fnmatch.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fnmatch.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fnmatch.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fnmatch.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/formatter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/formatter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/formatter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/formatter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/fractions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/fractions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/fractions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/fractions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ftplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ftplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ftplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ftplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/functools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/functools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/functools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/functools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/gc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/gc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/gc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/gc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/genericpath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/genericpath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/genericpath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/genericpath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/getopt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/getopt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/getopt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/getopt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/getpass.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/getpass.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/getpass.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/getpass.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/gettext.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/gettext.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/gettext.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/gettext.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/glob.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/glob.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/glob.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/glob.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/graphlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/graphlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/graphlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/graphlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/grp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/grp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/grp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/grp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/gzip.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/gzip.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/gzip.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/gzip.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/hashlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/hashlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/hashlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/hashlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/heapq.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/heapq.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/heapq.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/heapq.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/hmac.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/hmac.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/hmac.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/hmac.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/html/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/html/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/entities.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/html/entities.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/entities.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/html/entities.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/html/parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/html/parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/html/parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/client.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/client.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/client.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/client.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookiejar.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/cookiejar.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookiejar.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/cookiejar.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookies.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/cookies.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/cookies.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/cookies.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/server.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/http/server.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/http/server.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/http/server.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/imaplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/imaplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/imaplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/imaplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/imghdr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/imghdr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/imghdr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/imghdr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/imp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/imp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/imp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/imp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/_abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/_abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/_abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/_abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/machinery.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/machinery.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/machinery.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/machinery.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/_meta.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/metadata/diagnose.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/readers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/readers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/readers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/readers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/abc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/abc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/abc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/abc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/readers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/readers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/readers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/readers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/simple.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/simple.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/resources/simple.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/resources/simple.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/simple.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/simple.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/simple.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/simple.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/importlib/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/importlib/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/importlib/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/inspect.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/inspect.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/inspect.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/inspect.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/io.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/io.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/io.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/io.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ipaddress.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ipaddress.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ipaddress.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ipaddress.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/itertools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/itertools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/itertools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/itertools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/decoder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/decoder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/decoder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/decoder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/encoder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/encoder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/encoder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/encoder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/tool.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/json/tool.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/json/tool.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/json/tool.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/keyword.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/keyword.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/keyword.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/keyword.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/btm_matcher.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixer_base.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_except.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_future.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_import.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_input.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_long.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_map.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_next.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_print.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_types.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/main.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/main.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/main.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/main.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/driver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/grammar.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/literals.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/parse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/pgen.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/token.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pygram.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pygram.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pygram.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pygram.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pytree.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pytree.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/pytree.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/pytree.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/refactor.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/refactor.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lib2to3/refactor.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lib2to3/refactor.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/linecache.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/linecache.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/linecache.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/linecache.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/locale.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/locale.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/locale.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/locale.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/logging/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/logging/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/config.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/logging/config.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/config.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/logging/config.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/handlers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/logging/handlers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/logging/handlers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/logging/handlers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/lzma.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/lzma.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/lzma.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/lzma.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailbox.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mailbox.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailbox.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mailbox.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailcap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mailcap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mailcap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mailcap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/marshal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/marshal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/marshal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/marshal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/math.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/math.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/math.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/math.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mimetypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mimetypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mimetypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mimetypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/mmap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/mmap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/mmap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/mmap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/modulefinder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/modulefinder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/modulefinder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/modulefinder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/schema.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/schema.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/schema.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/schema.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/sequence.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/sequence.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/sequence.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/sequence.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/text.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msilib/text.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msilib/text.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msilib/text.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/msvcrt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/msvcrt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/msvcrt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/msvcrt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/connection.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/connection.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/connection.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/connection.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/context.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/context.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/context.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/context.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/dummy/connection.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/forkserver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/heap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/heap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/heap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/heap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/managers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/managers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/managers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/managers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/pool.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/pool.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/pool.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/pool.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_fork.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_forkserver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/process.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/process.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/process.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/process.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/queues.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/queues.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/queues.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/queues.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/reduction.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/reduction.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/reduction.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/reduction.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_sharer.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/resource_tracker.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/shared_memory.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/sharedctypes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/spawn.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/spawn.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/spawn.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/spawn.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/synchronize.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/multiprocessing/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/multiprocessing/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/netrc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/netrc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/netrc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/netrc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nis.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nis.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nis.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nis.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nntplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nntplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nntplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nntplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nt.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nt.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nt.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nt.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ntpath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ntpath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ntpath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ntpath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/nturl2path.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/nturl2path.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/nturl2path.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/nturl2path.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/numbers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/numbers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/numbers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/numbers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/opcode.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/opcode.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/opcode.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/opcode.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/operator.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/operator.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/operator.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/operator.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/optparse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/optparse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/optparse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/optparse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/os/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/os/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/path.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/os/path.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/os/path.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/os/path.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ossaudiodev.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ossaudiodev.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ossaudiodev.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ossaudiodev.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/parser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/parser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/parser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/parser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pathlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pathlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pathlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pathlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pdb.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pdb.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pdb.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pdb.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickle.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pickle.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickle.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pickle.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickletools.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pickletools.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pickletools.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pickletools.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pipes.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pipes.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pipes.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pipes.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pkgutil.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pkgutil.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pkgutil.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pkgutil.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/platform.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/platform.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/platform.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/platform.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/plistlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/plistlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/plistlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/plistlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/poplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/poplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/poplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/poplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/posix.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/posix.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/posix.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/posix.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/posixpath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/posixpath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/posixpath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/posixpath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pprint.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pprint.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pprint.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pprint.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/profile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/profile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/profile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/profile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pstats.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pstats.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pstats.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pstats.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pty.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pty.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pty.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pty.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pwd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pwd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pwd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pwd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/py_compile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/py_compile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/py_compile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/py_compile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyclbr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyclbr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyclbr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyclbr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pydoc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pydoc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/topics.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/topics.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pydoc_data/topics.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pydoc_data/topics.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/model.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/model.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/pyexpat/model.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/pyexpat/model.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/queue.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/queue.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/queue.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/queue.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/quopri.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/quopri.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/quopri.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/quopri.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/random.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/random.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/random.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/random.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/re.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/re.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/re.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/re.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/readline.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/readline.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/readline.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/readline.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/reprlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/reprlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/reprlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/reprlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/resource.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/resource.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/resource.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/resource.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/rlcompleter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/rlcompleter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/rlcompleter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/rlcompleter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/runpy.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/runpy.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/runpy.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/runpy.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sched.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sched.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sched.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sched.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/secrets.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/secrets.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/secrets.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/secrets.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/select.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/select.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/select.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/select.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/selectors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/selectors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/selectors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/selectors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/shelve.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/shelve.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/shelve.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/shelve.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/shlex.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/shlex.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/shlex.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/shlex.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/shutil.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/shutil.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/shutil.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/shutil.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/signal.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/signal.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/signal.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/signal.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/site.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/site.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/site.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/site.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtpd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/smtpd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtpd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/smtpd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtplib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/smtplib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/smtplib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/smtplib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sndhdr.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sndhdr.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sndhdr.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sndhdr.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/socket.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/socket.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/socket.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/socket.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/socketserver.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/socketserver.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/socketserver.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/socketserver.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/spwd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/spwd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/spwd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/spwd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sqlite3/dbapi2.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_compile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sre_compile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_compile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sre_compile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_constants.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sre_constants.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_constants.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sre_constants.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_parse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sre_parse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sre_parse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sre_parse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/ssl.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/ssl.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/ssl.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/ssl.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/stat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/stat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/stat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/stat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/statistics.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/statistics.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/statistics.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/statistics.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/string.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/string.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/string.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/string.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/stringprep.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/stringprep.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/stringprep.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/stringprep.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/struct.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/struct.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/struct.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/struct.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/subprocess.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/subprocess.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/subprocess.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/subprocess.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sunau.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sunau.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sunau.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sunau.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/symbol.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/symbol.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/symbol.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/symbol.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/symtable.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/symtable.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/symtable.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/symtable.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sys/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sys/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/_monitoring.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sys/_monitoring.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sys/_monitoring.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sys/_monitoring.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/sysconfig.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/sysconfig.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/sysconfig.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/sysconfig.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/syslog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/syslog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/syslog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/syslog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tabnanny.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tabnanny.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tabnanny.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tabnanny.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tarfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tarfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tarfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tarfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/telnetlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/telnetlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/telnetlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/telnetlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tempfile.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tempfile.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tempfile.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tempfile.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/termios.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/termios.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/termios.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/termios.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/textwrap.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/textwrap.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/textwrap.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/textwrap.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/this.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/this.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/this.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/this.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/threading.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/threading.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/threading.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/threading.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/time.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/time.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/time.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/time.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/timeit.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/timeit.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/timeit.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/timeit.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/colorchooser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/colorchooser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/colorchooser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/colorchooser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/commondialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/commondialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/commondialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/commondialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/constants.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/constants.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/constants.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/constants.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dnd.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dnd.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/dnd.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/dnd.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/filedialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/filedialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/filedialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/filedialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/font.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/font.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/font.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/font.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/messagebox.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/messagebox.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/messagebox.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/messagebox.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/scrolledtext.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/simpledialog.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/simpledialog.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/simpledialog.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/simpledialog.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/tix.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/tix.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/tix.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/tix.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/ttk.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/ttk.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tkinter/ttk.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tkinter/ttk.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/token.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/token.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/token.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/token.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tokenize.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tokenize.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tokenize.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tokenize.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tomllib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tomllib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tomllib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tomllib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/trace.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/trace.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/trace.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/trace.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/traceback.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/traceback.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/traceback.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/traceback.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tracemalloc.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tracemalloc.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tracemalloc.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tracemalloc.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/tty.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/tty.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/tty.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/tty.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/turtle.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/turtle.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/turtle.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/turtle.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/types.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/types.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/types.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/types.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/typing.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/typing.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing_extensions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/typing_extensions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/typing_extensions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/typing_extensions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unicodedata.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unicodedata.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unicodedata.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unicodedata.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/_log.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/_log.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/_log.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/_log.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/async_case.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/async_case.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/async_case.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/async_case.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/case.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/case.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/case.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/case.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/loader.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/loader.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/loader.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/loader.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/main.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/main.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/main.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/main.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/mock.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/mock.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/mock.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/mock.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/result.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/result.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/result.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/result.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/runner.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/runner.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/runner.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/runner.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/signals.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/signals.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/signals.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/signals.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/suite.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/suite.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/suite.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/suite.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/unittest/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/unittest/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/unittest/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/error.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/error.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/error.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/error.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/parse.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/parse.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/parse.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/parse.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/request.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/request.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/request.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/request.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/response.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/response.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/response.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/response.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/robotparser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/urllib/robotparser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/urllib/robotparser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/urllib/robotparser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/uu.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/uu.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/uu.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/uu.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/uuid.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/uuid.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/uuid.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/uuid.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/warnings.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/warnings.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/warnings.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/warnings.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wave.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wave.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wave.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wave.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/weakref.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/weakref.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/weakref.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/weakref.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/webbrowser.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/webbrowser.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/webbrowser.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/webbrowser.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/winreg.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/winreg.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/winreg.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/winreg.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/winsound.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/winsound.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/winsound.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/winsound.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/handlers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/handlers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/handlers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/handlers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/headers.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/headers.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/headers.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/headers.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/simple_server.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/simple_server.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/simple_server.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/simple_server.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/types.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/types.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/types.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/types.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/util.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/util.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/util.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/util.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/validate.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/validate.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/wsgiref/validate.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/wsgiref/validate.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xdrlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xdrlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xdrlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xdrlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/NodeFilter.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/domreg.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/domreg.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/domreg.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/domreg.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/expatbuilder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minicompat.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minicompat.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minicompat.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minicompat.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minidom.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minidom.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/minidom.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/minidom.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/pulldom.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/pulldom.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/pulldom.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/pulldom.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/dom/xmlbuilder.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementInclude.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementPath.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/ElementTree.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/etree/cElementTree.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/errors.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/parsers/expat/model.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/_exceptions.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/handler.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/handler.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/handler.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/handler.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/saxutils.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/saxutils.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/saxutils.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/saxutils.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xml/sax/xmlreader.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/client.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/client.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/client.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/client.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/server.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/server.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xmlrpc/server.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xmlrpc/server.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/xxlimited.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/xxlimited.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/xxlimited.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/xxlimited.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipapp.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipapp.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipapp.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipapp.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/__init__.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/_path.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/_path.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipfile/_path.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipfile/_path.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipimport.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zipimport.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zipimport.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zipimport.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zlib.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zlib.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zlib.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zlib.pyi diff --git a/crates/red_knot_python_semantic/vendor/typeshed/stdlib/zoneinfo/__init__.pyi b/crates/ruff_vendored/vendor/typeshed/stdlib/zoneinfo/__init__.pyi similarity index 100% rename from crates/red_knot_python_semantic/vendor/typeshed/stdlib/zoneinfo/__init__.pyi rename to crates/ruff_vendored/vendor/typeshed/stdlib/zoneinfo/__init__.pyi