_ruff() {
    local i cur prev opts cmd
    COMPREPLY=()
    if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then
        cur="$2"
    else
        cur="${COMP_WORDS[COMP_CWORD]}"
    fi
    prev="$3"
    cmd=""
    opts=""

    for i in "${COMP_WORDS[@]:0:COMP_CWORD}"
    do
        case "${cmd},${i}" in
            ",$1")
                cmd="ruff"
                ;;
            ruff,analyze)
                cmd="ruff__analyze"
                ;;
            ruff,check)
                cmd="ruff__check"
                ;;
            ruff,clean)
                cmd="ruff__clean"
                ;;
            ruff,config)
                cmd="ruff__config"
                ;;
            ruff,format)
                cmd="ruff__format"
                ;;
            ruff,generate-shell-completion)
                cmd="ruff__generate__shell__completion"
                ;;
            ruff,help)
                cmd="ruff__help"
                ;;
            ruff,linter)
                cmd="ruff__linter"
                ;;
            ruff,rule)
                cmd="ruff__rule"
                ;;
            ruff,server)
                cmd="ruff__server"
                ;;
            ruff,version)
                cmd="ruff__version"
                ;;
            ruff__analyze,graph)
                cmd="ruff__analyze__graph"
                ;;
            ruff__analyze,help)
                cmd="ruff__analyze__help"
                ;;
            ruff__analyze__help,graph)
                cmd="ruff__analyze__help__graph"
                ;;
            ruff__analyze__help,help)
                cmd="ruff__analyze__help__help"
                ;;
            ruff__help,analyze)
                cmd="ruff__help__analyze"
                ;;
            ruff__help,check)
                cmd="ruff__help__check"
                ;;
            ruff__help,clean)
                cmd="ruff__help__clean"
                ;;
            ruff__help,config)
                cmd="ruff__help__config"
                ;;
            ruff__help,format)
                cmd="ruff__help__format"
                ;;
            ruff__help,generate-shell-completion)
                cmd="ruff__help__generate__shell__completion"
                ;;
            ruff__help,help)
                cmd="ruff__help__help"
                ;;
            ruff__help,linter)
                cmd="ruff__help__linter"
                ;;
            ruff__help,rule)
                cmd="ruff__help__rule"
                ;;
            ruff__help,server)
                cmd="ruff__help__server"
                ;;
            ruff__help,version)
                cmd="ruff__help__version"
                ;;
            ruff__help__analyze,graph)
                cmd="ruff__help__analyze__graph"
                ;;
            *)
                ;;
        esac
    done

    case "${cmd}" in
        ruff)
            opts="-v -q -s -h -V --verbose --quiet --silent --config --isolated --color --help --version check rule config linter clean generate-shell-completion format server analyze version help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__analyze)
            opts="-v -q -s -h --verbose --quiet --silent --config --isolated --color --help graph help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__analyze__graph)
            opts="-v -q -s -h --direction --detect-string-imports --min-dots --preview --no-preview --target-version --python --type-checking-imports --no-type-checking-imports --verbose --quiet --silent --config --isolated --color --help [FILES]..."
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --direction)
                    COMPREPLY=($(compgen -W "dependencies dependents" -- "${cur}"))
                    return 0
                    ;;
                --min-dots)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --target-version)
                    COMPREPLY=($(compgen -W "py37 py38 py39 py310 py311 py312 py313 py314 py315" -- "${cur}"))
                    return 0
                    ;;
                --python)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__analyze__help)
            opts="graph help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__analyze__help__graph)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__analyze__help__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__check)
            opts="-w -o -n -e -v -q -s -h --fix --no-fix --unsafe-fixes --no-unsafe-fixes --show-fixes --no-show-fixes --diff --watch --fix-only --no-fix-only --ignore-noqa --output-format --output-file --target-version --preview --no-preview --select --ignore --extend-select --extend-ignore --per-file-ignores --extend-per-file-ignores --exclude --extend-exclude --fixable --unfixable --extend-fixable --extend-unfixable --respect-gitignore --no-respect-gitignore --force-exclude --no-force-exclude --line-length --dummy-variable-rgx --no-cache --cache-dir --stdin-filename --extension --exit-zero --exit-non-zero-on-fix --statistics --add-noqa --show-files --show-settings --verbose --quiet --silent --config --isolated --color --help [FILES]..."
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --output-format)
                    COMPREPLY=($(compgen -W "concise full json json-lines junit grouped github gitlab pylint rdjson azure sarif" -- "${cur}"))
                    return 0
                    ;;
                --output-file)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                -o)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --target-version)
                    COMPREPLY=($(compgen -W "py37 py38 py39 py310 py311 py312 py313 py314 py315" -- "${cur}"))
                    return 0
                    ;;
                --select)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --ignore)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --extend-select)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --extend-ignore)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --per-file-ignores)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --extend-per-file-ignores)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --exclude)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --extend-exclude)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --fixable)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --unfixable)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --extend-fixable)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --extend-unfixable)
                    COMPREPLY=($(compgen -W "ALL AIR ERA FAST YTT ANN ASYNC S BLE FBT B A COM C4 CPY DTZ T10 DJ EM EXE FIX FA INT ISC ICN LOG G INP PIE T20 PYI PT Q RSE RET SLF SIM SLOT TID TD TC ARG PTH FLY I C90 NPY PD N PERF DOC D F PGH PL UP FURB RUF TRY AIR001 AIR002 AIR003 AIR004 AIR201 AIR202 AIR301 AIR302 AIR303 AIR304 AIR311 AIR312 AIR321 ERA001 FAST001 FAST002 FAST003 YTT101 YTT102 YTT103 YTT201 YTT202 YTT203 YTT204 YTT301 YTT302 YTT303 ANN001 ANN002 ANN003 ANN101 ANN102 ANN201 ANN202 ANN204 ANN205 ANN206 ANN401 ASYNC100 ASYNC105 ASYNC109 ASYNC110 ASYNC115 ASYNC116 ASYNC119 ASYNC210 ASYNC212 ASYNC220 ASYNC221 ASYNC222 ASYNC230 ASYNC240 ASYNC250 ASYNC251 S101 S102 S103 S104 S105 S106 S107 S108 S110 S112 S113 S201 S202 S301 S302 S303 S304 S305 S306 S307 S308 S310 S311 S312 S313 S314 S315 S316 S317 S318 S319 S320 S321 S323 S324 S401 S402 S403 S404 S405 S406 S407 S408 S409 S410 S411 S412 S413 S415 S501 S502 S503 S504 S505 S506 S507 S508 S509 S601 S602 S603 S604 S605 S606 S607 S608 S609 S610 S611 S612 S701 S702 S704 BLE001 FBT001 FBT002 FBT003 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024 B025 B026 B027 B028 B029 B030 B031 B032 B033 B034 B035 B039 B043 B901 B903 B904 B905 B909 B911 B912 A001 A002 A003 A004 A005 A006 COM812 COM818 COM819 C400 C401 C402 C403 C404 C405 C406 C408 C409 C410 C411 C413 C414 C415 C416 C417 C418 C419 C420 CPY001 DTZ001 DTZ002 DTZ003 DTZ004 DTZ005 DTZ006 DTZ007 DTZ011 DTZ012 DTZ901 T100 DJ001 DJ003 DJ006 DJ007 DJ008 DJ012 DJ013 EM101 EM102 EM103 EXE001 EXE002 EXE003 EXE004 EXE005 FIX001 FIX002 FIX003 FIX004 FA100 FA102 INT001 INT002 INT003 ISC001 ISC002 ISC003 ISC004 ICN001 ICN002 ICN003 LOG001 LOG002 LOG004 LOG007 LOG009 LOG014 LOG015 G001 G002 G003 G004 G010 G101 G201 G202 INP001 PIE790 PIE794 PIE796 PIE800 PIE804 PIE807 PIE808 PIE810 T201 T203 PYI001 PYI002 PYI003 PYI004 PYI005 PYI006 PYI007 PYI008 PYI009 PYI010 PYI011 PYI012 PYI013 PYI014 PYI015 PYI016 PYI017 PYI018 PYI019 PYI020 PYI021 PYI024 PYI025 PYI026 PYI029 PYI030 PYI032 PYI033 PYI034 PYI035 PYI036 PYI041 PYI042 PYI043 PYI044 PYI045 PYI046 PYI047 PYI048 PYI049 PYI050 PYI051 PYI052 PYI053 PYI054 PYI055 PYI056 PYI057 PYI058 PYI059 PYI061 PYI062 PYI063 PYI064 PYI066 PT001 PT002 PT003 PT004 PT005 PT006 PT007 PT008 PT009 PT010 PT011 PT012 PT013 PT014 PT015 PT016 PT017 PT018 PT019 PT020 PT021 PT022 PT023 PT024 PT025 PT026 PT027 PT028 PT029 PT030 PT031 Q000 Q001 Q002 Q003 Q004 RSE102 RET501 RET502 RET503 RET504 RET505 RET506 RET507 RET508 SLF001 SIM101 SIM102 SIM103 SIM105 SIM107 SIM108 SIM109 SIM110 SIM112 SIM113 SIM114 SIM115 SIM116 SIM117 SIM118 SIM201 SIM202 SIM208 SIM210 SIM211 SIM212 SIM220 SIM221 SIM222 SIM223 SIM300 SIM401 SIM905 SIM910 SIM911 SLOT000 SLOT001 SLOT002 TID251 TID252 TID253 TID254 TID255 TD001 TD002 TD003 TD004 TD005 TD006 TD007 TC001 TC002 TC003 TC004 TC005 TC006 TC007 TC008 TC010 ARG001 ARG002 ARG003 ARG004 ARG005 PTH100 PTH101 PTH102 PTH103 PTH104 PTH105 PTH106 PTH107 PTH108 PTH109 PTH110 PTH111 PTH112 PTH113 PTH114 PTH115 PTH116 PTH117 PTH118 PTH119 PTH120 PTH121 PTH122 PTH123 PTH124 PTH201 PTH202 PTH203 PTH204 PTH205 PTH206 PTH207 PTH208 PTH210 PTH211 FLY002 I001 I002 C901 NPY001 NPY002 NPY003 NPY201 N801 N802 N803 N804 N805 N806 N807 N811 N812 N813 N814 N815 N816 N817 N818 N999 PD002 PD003 PD004 PD007 PD008 PD009 PD010 PD011 PD012 PD013 PD015 PD101 PD901 PERF101 PERF102 PERF203 PERF401 PERF402 PERF403 E101 E111 E112 E113 E114 E115 E116 E117 E201 E202 E203 E204 E211 E221 E222 E223 E224 E225 E226 E227 E228 E231 E241 E242 E251 E252 E261 E262 E265 E266 E271 E272 E273 E274 E275 E301 E302 E303 E304 E305 E306 E401 E402 E501 E502 E701 E702 E703 E711 E712 E713 E714 E721 E722 E731 E741 E742 E743 E902 E999 W191 W291 W292 W293 W391 W505 W605 DOC102 DOC201 DOC202 DOC402 DOC403 DOC501 DOC502 D100 D101 D102 D103 D104 D105 D106 D107 D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D210 D211 D212 D213 D214 D215 D300 D301 D400 D401 D402 D403 D404 D405 D406 D407 D408 D409 D410 D411 D412 D413 D414 D415 D416 D417 D418 D419 D420 F401 F402 F403 F404 F405 F406 F407 F501 F502 F503 F504 F505 F506 F507 F508 F509 F521 F522 F523 F524 F525 F541 F601 F602 F621 F622 F631 F632 F633 F634 F701 F702 F704 F706 F707 F722 F811 F821 F822 F823 F841 F842 F901 PGH001 PGH002 PGH003 PGH004 PGH005 PLC0105 PLC0131 PLC0132 PLC0205 PLC0206 PLC0207 PLC0208 PLC0414 PLC0415 PLC1802 PLC1901 PLC2401 PLC2403 PLC2701 PLC2801 PLC3002 PLE0100 PLE0101 PLE0115 PLE0116 PLE0117 PLE0118 PLE0237 PLE0241 PLE0302 PLE0303 PLE0304 PLE0305 PLE0307 PLE0308 PLE0309 PLE0604 PLE0605 PLE0643 PLE0704 PLE1132 PLE1141 PLE1142 PLE1205 PLE1206 PLE1300 PLE1307 PLE1310 PLE1507 PLE1519 PLE1520 PLE1700 PLE2502 PLE2510 PLE2512 PLE2513 PLE2514 PLE2515 PLE4703 PLR0124 PLR0133 PLR0202 PLR0203 PLR0206 PLR0402 PLR0904 PLR0911 PLR0912 PLR0913 PLR0914 PLR0915 PLR0916 PLR0917 PLR1701 PLR1702 PLR1704 PLR1706 PLR1708 PLR1711 PLR1712 PLR1714 PLR1716 PLR1722 PLR1730 PLR1733 PLR1736 PLR2004 PLR2044 PLR5501 PLR6104 PLR6201 PLR6301 PLW0108 PLW0120 PLW0127 PLW0128 PLW0129 PLW0131 PLW0133 PLW0177 PLW0211 PLW0244 PLW0245 PLW0406 PLW0602 PLW0603 PLW0604 PLW0642 PLW0711 PLW0717 PLW1501 PLW1507 PLW1508 PLW1509 PLW1510 PLW1514 PLW1641 PLW2101 PLW2901 PLW3201 PLW3301 UP001 UP003 UP004 UP005 UP006 UP007 UP008 UP009 UP010 UP011 UP012 UP013 UP014 UP015 UP017 UP018 UP019 UP020 UP021 UP022 UP023 UP024 UP025 UP026 UP027 UP028 UP029 UP030 UP031 UP032 UP033 UP034 UP035 UP036 UP037 UP038 UP039 UP040 UP041 UP042 UP043 UP044 UP045 UP046 UP047 UP049 UP050 FURB101 FURB103 FURB105 FURB110 FURB113 FURB116 FURB118 FURB122 FURB129 FURB131 FURB132 FURB136 FURB140 FURB142 FURB145 FURB148 FURB152 FURB154 FURB156 FURB157 FURB161 FURB162 FURB163 FURB164 FURB166 FURB167 FURB168 FURB169 FURB171 FURB177 FURB180 FURB181 FURB187 FURB188 FURB189 FURB192 RUF001 RUF002 RUF003 RUF005 RUF006 RUF007 RUF008 RUF009 RUF010 RUF011 RUF012 RUF013 RUF015 RUF016 RUF017 RUF018 RUF019 RUF020 RUF021 RUF022 RUF023 RUF024 RUF026 RUF027 RUF028 RUF029 RUF030 RUF031 RUF032 RUF033 RUF034 RUF035 RUF036 RUF037 RUF038 RUF039 RUF040 RUF041 RUF043 RUF045 RUF046 RUF047 RUF048 RUF049 RUF050 RUF051 RUF052 RUF053 RUF054 RUF055 RUF056 RUF057 RUF058 RUF059 RUF060 RUF061 RUF063 RUF064 RUF065 RUF066 RUF067 RUF068 RUF069 RUF070 RUF071 RUF072 RUF073 RUF074 RUF075 RUF076 RUF100 RUF101 RUF102 RUF103 RUF104 RUF200 TRY002 TRY003 TRY004 TRY200 TRY201 TRY203 TRY300 TRY301 TRY400 TRY401" -- "${cur}"))
                    return 0
                    ;;
                --line-length)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --dummy-variable-rgx)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --cache-dir)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --stdin-filename)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --extension)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --add-noqa)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__clean)
            opts="-v -q -s -h --verbose --quiet --silent --config --isolated --color --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__config)
            opts="-v -q -s -h --output-format --verbose --quiet --silent --config --isolated --color --help cache-dir extend output-format fix unsafe-fixes fix-only show-fixes required-version preview exclude extend-exclude extend-include force-exclude include respect-gitignore extension builtins namespace-packages target-version per-file-target-version src line-length indent-width lint lint.allowed-confusables lint.dummy-variable-rgx lint.extend-ignore lint.extend-select lint.extend-fixable lint.external lint.fixable lint.ignore lint.extend-safe-fixes lint.extend-unsafe-fixes lint.ignore-init-module-imports lint.logger-objects lint.select lint.explicit-preview-rules lint.task-tags lint.typing-modules lint.unfixable lint.flake8-annotations lint.flake8-annotations.mypy-init-return lint.flake8-annotations.suppress-dummy-args lint.flake8-annotations.suppress-none-returning lint.flake8-annotations.allow-star-arg-any lint.flake8-annotations.ignore-fully-untyped lint.flake8-bandit lint.flake8-bandit.hardcoded-tmp-directory lint.flake8-bandit.hardcoded-tmp-directory-extend lint.flake8-bandit.check-typed-exception lint.flake8-bandit.extend-markup-names lint.flake8-bandit.allowed-markup-calls lint.flake8-boolean-trap lint.flake8-boolean-trap.extend-allowed-calls lint.flake8-bugbear lint.flake8-bugbear.extend-immutable-calls lint.flake8-builtins lint.flake8-builtins.builtins-ignorelist lint.flake8-builtins.ignorelist lint.flake8-builtins.builtins-allowed-modules lint.flake8-builtins.allowed-modules lint.flake8-builtins.builtins-strict-checking lint.flake8-builtins.strict-checking lint.flake8-comprehensions lint.flake8-comprehensions.allow-dict-calls-with-keyword-arguments lint.flake8-copyright lint.flake8-copyright.notice-rgx lint.flake8-copyright.author lint.flake8-copyright.min-file-size lint.flake8-errmsg lint.flake8-errmsg.max-string-length lint.flake8-quotes lint.flake8-quotes.inline-quotes lint.flake8-quotes.multiline-quotes lint.flake8-quotes.docstring-quotes lint.flake8-quotes.avoid-escape lint.flake8-self lint.flake8-self.ignore-names lint.flake8-self.extend-ignore-names lint.flake8-tidy-imports lint.flake8-tidy-imports.ban-relative-imports lint.flake8-tidy-imports.banned-api lint.flake8-tidy-imports.banned-module-level-imports lint.flake8-tidy-imports.require-lazy lint.flake8-tidy-imports.ban-lazy lint.flake8-type-checking lint.flake8-type-checking.strict lint.flake8-type-checking.exempt-modules lint.flake8-type-checking.runtime-evaluated-base-classes lint.flake8-type-checking.runtime-evaluated-decorators lint.flake8-type-checking.quote-annotations lint.flake8-gettext lint.flake8-gettext.function-names lint.flake8-gettext.extend-function-names lint.flake8-implicit-str-concat lint.flake8-implicit-str-concat.allow-multiline lint.flake8-import-conventions lint.flake8-import-conventions.aliases lint.flake8-import-conventions.extend-aliases lint.flake8-import-conventions.banned-aliases lint.flake8-import-conventions.banned-from lint.flake8-pytest-style lint.flake8-pytest-style.fixture-parentheses lint.flake8-pytest-style.parametrize-names-type lint.flake8-pytest-style.parametrize-values-type lint.flake8-pytest-style.parametrize-values-row-type lint.flake8-pytest-style.raises-require-match-for lint.flake8-pytest-style.raises-extend-require-match-for lint.flake8-pytest-style.mark-parentheses lint.flake8-pytest-style.warns-require-match-for lint.flake8-pytest-style.warns-extend-require-match-for lint.flake8-unused-arguments lint.flake8-unused-arguments.ignore-variadic-names lint.isort lint.isort.force-wrap-aliases lint.isort.force-single-line lint.isort.single-line-exclusions lint.isort.combine-as-imports lint.isort.split-on-trailing-comma lint.isort.order-by-type lint.isort.force-sort-within-sections lint.isort.case-sensitive lint.isort.force-to-top lint.isort.known-first-party lint.isort.known-third-party lint.isort.known-local-folder lint.isort.extra-standard-library lint.isort.relative-imports-order lint.isort.required-imports lint.isort.classes lint.isort.constants lint.isort.variables lint.isort.no-lines-before lint.isort.import-heading lint.isort.lines-after-imports lint.isort.lines-between-types lint.isort.forced-separate lint.isort.section-order lint.isort.default-section lint.isort.no-sections lint.isort.detect-same-package lint.isort.from-first lint.isort.length-sort lint.isort.length-sort-straight lint.isort.sections lint.mccabe lint.mccabe.max-complexity lint.pep8-naming lint.pep8-naming.ignore-names lint.pep8-naming.extend-ignore-names lint.pep8-naming.classmethod-decorators lint.pep8-naming.staticmethod-decorators lint.pycodestyle lint.pycodestyle.max-line-length lint.pycodestyle.max-doc-length lint.pycodestyle.ignore-overlong-task-comments lint.pydocstyle lint.pydocstyle.convention lint.pydocstyle.ignore-decorators lint.pydocstyle.property-decorators lint.pydocstyle.ignore-var-parameters lint.pyflakes lint.pyflakes.extend-generics lint.pyflakes.allowed-unused-imports lint.pylint lint.pylint.allow-magic-value-types lint.pylint.allow-dunder-method-names lint.pylint.max-branches lint.pylint.max-returns lint.pylint.max-args lint.pylint.max-positional-args lint.pylint.max-locals lint.pylint.max-statements lint.pylint.max-statements-in-try lint.pylint.max-public-methods lint.pylint.max-bool-expr lint.pylint.max-nested-blocks lint.pyupgrade lint.pyupgrade.keep-runtime-typing lint.per-file-ignores lint.extend-per-file-ignores lint.exclude lint.pydoclint lint.pydoclint.ignore-one-line-docstrings lint.ruff lint.ruff.parenthesize-tuple-in-subscript lint.ruff.extend-markup-names lint.ruff.allowed-markup-calls lint.ruff.strictly-empty-init-modules lint.preview lint.typing-extensions lint.future-annotations format format.exclude format.preview format.indent-style format.quote-style format.nested-string-quote-style format.skip-magic-trailing-comma format.line-ending format.docstring-code-format format.docstring-code-line-length analyze analyze.exclude analyze.preview analyze.direction analyze.detect-string-imports analyze.string-imports-min-dots analyze.include-dependencies analyze.type-checking-imports"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --output-format)
                    COMPREPLY=($(compgen -W "text json" -- "${cur}"))
                    return 0
                    ;;
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__format)
            opts="-n -v -q -s -h --check --diff --no-cache --cache-dir --respect-gitignore --no-respect-gitignore --exclude --force-exclude --no-force-exclude --line-length --stdin-filename --extension --target-version --preview --no-preview --range --exit-non-zero-on-format --output-format --verbose --quiet --silent --config --isolated --color --help [FILES]..."
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --cache-dir)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --exclude)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --line-length)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --stdin-filename)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --extension)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --target-version)
                    COMPREPLY=($(compgen -W "py37 py38 py39 py310 py311 py312 py313 py314 py315" -- "${cur}"))
                    return 0
                    ;;
                --range)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --output-format)
                    COMPREPLY=($(compgen -W "concise full json json-lines junit grouped github gitlab pylint rdjson azure sarif" -- "${cur}"))
                    return 0
                    ;;
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__generate__shell__completion)
            opts="-v -q -s -h --verbose --quiet --silent --config --isolated --color --help bash elvish fish nushell powershell zsh"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help)
            opts="check rule config linter clean generate-shell-completion format server analyze version help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__analyze)
            opts="graph"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__analyze__graph)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__check)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__clean)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__config)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__format)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__generate__shell__completion)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__help)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__linter)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__rule)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__server)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__help__version)
            opts=""
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__linter)
            opts="-v -q -s -h --output-format --verbose --quiet --silent --config --isolated --color --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --output-format)
                    COMPREPLY=($(compgen -W "text json" -- "${cur}"))
                    return 0
                    ;;
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__rule)
            opts="-v -q -s -h --all --output-format --verbose --quiet --silent --config --isolated --color --help AIR001 airflow-variable-name-task-id-mismatch AIR002 airflow-dag-no-schedule-argument AIR003 airflow-variable-get-outside-task AIR004 airflow-task-branch-as-short-circuit AIR201 airflow-xcom-pull-in-template-string AIR202 airflow-task-implicit-multiple-outputs AIR301 airflow3-removal AIR302 airflow3-moved-to-provider AIR303 airflow3-incompatible-function-signature AIR304 airflow3-dag-dynamic-value AIR311 airflow3-suggested-update AIR312 airflow3-suggested-to-move-to-provider AIR321 airflow31-moved ERA001 commented-out-code FAST001 fast-api-redundant-response-model FAST002 fast-api-non-annotated-dependency FAST003 fast-api-unused-path-parameter YTT101 sys-version-slice3 YTT102 sys-version2 YTT103 sys-version-cmp-str3 YTT201 sys-version-info0-eq3 YTT202 six-py3 YTT203 sys-version-info1-cmp-int YTT204 sys-version-info-minor-cmp-int YTT301 sys-version0 YTT302 sys-version-cmp-str10 YTT303 sys-version-slice1 ANN001 missing-type-function-argument ANN002 missing-type-args ANN003 missing-type-kwargs ANN101 missing-type-self ANN102 missing-type-cls ANN201 missing-return-type-undocumented-public-function ANN202 missing-return-type-private-function ANN204 missing-return-type-special-method ANN205 missing-return-type-static-method ANN206 missing-return-type-class-method ANN401 any-type ASYNC100 cancel-scope-no-checkpoint ASYNC105 trio-sync-call ASYNC109 async-function-with-timeout ASYNC110 async-busy-wait ASYNC115 async-zero-sleep ASYNC116 long-sleep-not-forever ASYNC119 yield-in-context-manager-in-async-generator ASYNC210 blocking-http-call-in-async-function ASYNC212 blocking-http-call-httpx-in-async-function ASYNC220 create-subprocess-in-async-function ASYNC221 run-process-in-async-function ASYNC222 wait-for-process-in-async-function ASYNC230 blocking-open-call-in-async-function ASYNC240 blocking-path-method-in-async-function ASYNC250 blocking-input-in-async-function ASYNC251 blocking-sleep-in-async-function S101 assert S102 exec-builtin S103 bad-file-permissions S104 hardcoded-bind-all-interfaces S105 hardcoded-password-string S106 hardcoded-password-func-arg S107 hardcoded-password-default S108 hardcoded-temp-file S110 try-except-pass S112 try-except-continue S113 request-without-timeout S201 flask-debug-true S202 tarfile-unsafe-members S301 suspicious-pickle-usage S302 suspicious-marshal-usage S303 suspicious-insecure-hash-usage S304 suspicious-insecure-cipher-usage S305 suspicious-insecure-cipher-mode-usage S306 suspicious-mktemp-usage S307 suspicious-eval-usage S308 suspicious-mark-safe-usage S310 suspicious-url-open-usage S311 suspicious-non-cryptographic-random-usage S312 suspicious-telnet-usage S313 suspicious-xmlc-element-tree-usage S314 suspicious-xml-element-tree-usage S315 suspicious-xml-expat-reader-usage S316 suspicious-xml-expat-builder-usage S317 suspicious-xml-sax-usage S318 suspicious-xml-mini-dom-usage S319 suspicious-xml-pull-dom-usage S320 suspicious-xmle-tree-usage S321 suspicious-ftp-lib-usage S323 suspicious-unverified-context-usage S324 hashlib-insecure-hash-function S401 suspicious-telnetlib-import S402 suspicious-ftplib-import S403 suspicious-pickle-import S404 suspicious-subprocess-import S405 suspicious-xml-etree-import S406 suspicious-xml-sax-import S407 suspicious-xml-expat-import S408 suspicious-xml-minidom-import S409 suspicious-xml-pulldom-import S410 suspicious-lxml-import S411 suspicious-xmlrpc-import S412 suspicious-httpoxy-import S413 suspicious-pycrypto-import S415 suspicious-pyghmi-import S501 request-with-no-cert-validation S502 ssl-insecure-version S503 ssl-with-bad-defaults S504 ssl-with-no-version S505 weak-cryptographic-key S506 unsafe-yaml-load S507 ssh-no-host-key-verification S508 snmp-insecure-version S509 snmp-weak-cryptography S601 paramiko-call S602 subprocess-popen-with-shell-equals-true S603 subprocess-without-shell-equals-true S604 call-with-shell-equals-true S605 start-process-with-a-shell S606 start-process-with-no-shell S607 start-process-with-partial-path S608 hardcoded-sql-expression S609 unix-command-wildcard-injection S610 django-extra S611 django-raw-sql S612 logging-config-insecure-listen S701 jinja2-autoescape-false S702 mako-templates S704 unsafe-markup-use BLE001 blind-except FBT001 boolean-type-hint-positional-argument FBT002 boolean-default-value-positional-argument FBT003 boolean-positional-value-in-call B002 unary-prefix-increment-decrement B003 assignment-to-os-environ B004 unreliable-callable-check B005 strip-with-multi-characters B006 mutable-argument-default B007 unused-loop-control-variable B008 function-call-in-default-argument B009 get-attr-with-constant B010 set-attr-with-constant B011 assert-false B012 jump-statement-in-finally B013 redundant-tuple-in-exception-handler B014 duplicate-handler-exception B015 useless-comparison B016 raise-literal B017 assert-raises-exception B018 useless-expression B019 cached-instance-method B020 loop-variable-overrides-iterator B021 f-string-docstring B022 useless-contextlib-suppress B023 function-uses-loop-variable B024 abstract-base-class-without-abstract-method B025 duplicate-try-block-exception B026 star-arg-unpacking-after-keyword-arg B027 empty-method-without-abstract-decorator B028 no-explicit-stacklevel B029 except-with-empty-tuple B030 except-with-non-exception-classes B031 reuse-of-groupby-generator B032 unintentional-type-annotation B033 duplicate-value B034 re-sub-positional-args B035 static-key-dict-comprehension B039 mutable-contextvar-default B043 del-attr-with-constant B901 return-in-generator B903 class-as-data-structure B904 raise-without-from-inside-except B905 zip-without-explicit-strict B909 loop-iterator-mutation B911 batched-without-explicit-strict B912 map-without-explicit-strict A001 builtin-variable-shadowing A002 builtin-argument-shadowing A003 builtin-attribute-shadowing A004 builtin-import-shadowing A005 stdlib-module-shadowing A006 builtin-lambda-argument-shadowing COM812 missing-trailing-comma COM818 trailing-comma-on-bare-tuple COM819 prohibited-trailing-comma C400 unnecessary-generator-list C401 unnecessary-generator-set C402 unnecessary-generator-dict C403 unnecessary-list-comprehension-set C404 unnecessary-list-comprehension-dict C405 unnecessary-literal-set C406 unnecessary-literal-dict C408 unnecessary-collection-call C409 unnecessary-literal-within-tuple-call C410 unnecessary-literal-within-list-call C411 unnecessary-list-call C413 unnecessary-call-around-sorted C414 unnecessary-double-cast-or-process C415 unnecessary-subscript-reversal C416 unnecessary-comprehension C417 unnecessary-map C418 unnecessary-literal-within-dict-call C419 unnecessary-comprehension-in-call C420 unnecessary-dict-comprehension-for-iterable CPY001 missing-copyright-notice DTZ001 call-datetime-without-tzinfo DTZ002 call-datetime-today DTZ003 call-datetime-utcnow DTZ004 call-datetime-utcfromtimestamp DTZ005 call-datetime-now-without-tzinfo DTZ006 call-datetime-fromtimestamp DTZ007 call-datetime-strptime-without-zone DTZ011 call-date-today DTZ012 call-date-fromtimestamp DTZ901 datetime-min-max T100 debugger DJ001 django-nullable-model-string-field DJ003 django-locals-in-render-function DJ006 django-exclude-with-model-form DJ007 django-all-with-model-form DJ008 django-model-without-dunder-str DJ012 django-unordered-body-content-in-model DJ013 django-non-leading-receiver-decorator EM101 raw-string-in-exception EM102 f-string-in-exception EM103 dot-format-in-exception EXE001 shebang-not-executable EXE002 shebang-missing-executable-file EXE003 shebang-missing-python EXE004 shebang-leading-whitespace EXE005 shebang-not-first-line FIX001 line-contains-fixme FIX002 line-contains-todo FIX003 line-contains-xxx FIX004 line-contains-hack FA100 future-rewritable-type-annotation FA102 future-required-type-annotation INT001 f-string-in-get-text-func-call INT002 format-in-get-text-func-call INT003 printf-in-get-text-func-call ISC001 single-line-implicit-string-concatenation ISC002 multi-line-implicit-string-concatenation ISC003 explicit-string-concatenation ISC004 implicit-string-concatenation-in-collection-literal ICN001 unconventional-import-alias ICN002 banned-import-alias ICN003 banned-import-from LOG001 direct-logger-instantiation LOG002 invalid-get-logger-argument LOG004 log-exception-outside-except-handler LOG007 exception-without-exc-info LOG009 undocumented-warn LOG014 exc-info-outside-except-handler LOG015 root-logger-call G001 logging-string-format G002 logging-percent-format G003 logging-string-concat G004 logging-f-string G010 logging-warn G101 logging-extra-attr-clash G201 logging-exc-info G202 logging-redundant-exc-info INP001 implicit-namespace-package PIE790 unnecessary-placeholder PIE794 duplicate-class-field-definition PIE796 non-unique-enums PIE800 unnecessary-spread PIE804 unnecessary-dict-kwargs PIE807 reimplemented-container-builtin PIE808 unnecessary-range-start PIE810 multiple-starts-ends-with T201 print T203 p-print PYI001 unprefixed-type-param PYI002 complex-if-statement-in-stub PYI003 unrecognized-version-info-check PYI004 patch-version-comparison PYI005 wrong-tuple-length-version-comparison PYI006 bad-version-info-comparison PYI007 unrecognized-platform-check PYI008 unrecognized-platform-name PYI009 pass-statement-stub-body PYI010 non-empty-stub-body PYI011 typed-argument-default-in-stub PYI012 pass-in-class-body PYI013 ellipsis-in-non-empty-class-body PYI014 argument-default-in-stub PYI015 assignment-default-in-stub PYI016 duplicate-union-member PYI017 complex-assignment-in-stub PYI018 unused-private-type-var PYI019 custom-type-var-for-self PYI020 quoted-annotation-in-stub PYI021 docstring-in-stub PYI024 collections-named-tuple PYI025 unaliased-collections-abc-set-import PYI026 type-alias-without-annotation PYI029 str-or-repr-defined-in-stub PYI030 unnecessary-literal-union PYI032 any-eq-ne-annotation PYI033 type-comment-in-stub PYI034 non-self-return-type PYI035 unassigned-special-variable-in-stub PYI036 bad-exit-annotation PYI041 redundant-numeric-union PYI042 snake-case-type-alias PYI043 t-suffixed-type-alias PYI044 future-annotations-in-stub PYI045 iter-method-return-iterable PYI046 unused-private-protocol PYI047 unused-private-type-alias PYI048 stub-body-multiple-statements PYI049 unused-private-typed-dict PYI050 no-return-argument-annotation-in-stub PYI051 redundant-literal-union PYI052 unannotated-assignment-in-stub PYI053 string-or-bytes-too-long PYI054 numeric-literal-too-long PYI055 unnecessary-type-union PYI056 unsupported-method-call-on-all PYI057 byte-string-usage PYI058 generator-return-from-iter-method PYI059 generic-not-last-base-class PYI061 redundant-none-literal PYI062 duplicate-literal-member PYI063 pep484-style-positional-only-parameter PYI064 redundant-final-literal PYI066 bad-version-info-order PT001 pytest-fixture-incorrect-parentheses-style PT002 pytest-fixture-positional-args PT003 pytest-extraneous-scope-function PT004 pytest-missing-fixture-name-underscore PT005 pytest-incorrect-fixture-name-underscore PT006 pytest-parametrize-names-wrong-type PT007 pytest-parametrize-values-wrong-type PT008 pytest-patch-with-lambda PT009 pytest-unittest-assertion PT010 pytest-raises-without-exception PT011 pytest-raises-too-broad PT012 pytest-raises-with-multiple-statements PT013 pytest-incorrect-pytest-import PT014 pytest-duplicate-parametrize-test-cases PT015 pytest-assert-always-false PT016 pytest-fail-without-message PT017 pytest-assert-in-except PT018 pytest-composite-assertion PT019 pytest-fixture-param-without-value PT020 pytest-deprecated-yield-fixture PT021 pytest-fixture-finalizer-callback PT022 pytest-useless-yield-fixture PT023 pytest-incorrect-mark-parentheses-style PT024 pytest-unnecessary-asyncio-mark-on-fixture PT025 pytest-erroneous-use-fixtures-on-fixture PT026 pytest-use-fixtures-without-parameters PT027 pytest-unittest-raises-assertion PT028 pytest-parameter-with-default-argument PT029 pytest-warns-without-warning PT030 pytest-warns-too-broad PT031 pytest-warns-with-multiple-statements Q000 bad-quotes-inline-string Q001 bad-quotes-multiline-string Q002 bad-quotes-docstring Q003 avoidable-escaped-quote Q004 unnecessary-escaped-quote RSE102 unnecessary-paren-on-raise-exception RET501 unnecessary-return-none RET502 implicit-return-value RET503 implicit-return RET504 unnecessary-assign RET505 superfluous-else-return RET506 superfluous-else-raise RET507 superfluous-else-continue RET508 superfluous-else-break SLF001 private-member-access SIM101 duplicate-isinstance-call SIM102 collapsible-if SIM103 needless-bool SIM105 suppressible-exception SIM107 return-in-try-except-finally SIM108 if-else-block-instead-of-if-exp SIM109 compare-with-tuple SIM110 reimplemented-builtin SIM112 uncapitalized-environment-variables SIM113 enumerate-for-loop SIM114 if-with-same-arms SIM115 open-file-with-context-handler SIM116 if-else-block-instead-of-dict-lookup SIM117 multiple-with-statements SIM118 in-dict-keys SIM201 negate-equal-op SIM202 negate-not-equal-op SIM208 double-negation SIM210 if-expr-with-true-false SIM211 if-expr-with-false-true SIM212 if-expr-with-twisted-arms SIM220 expr-and-not-expr SIM221 expr-or-not-expr SIM222 expr-or-true SIM223 expr-and-false SIM300 yoda-conditions SIM401 if-else-block-instead-of-dict-get SIM905 split-static-string SIM910 dict-get-with-none-default SIM911 zip-dict-keys-and-values SLOT000 no-slots-in-str-subclass SLOT001 no-slots-in-tuple-subclass SLOT002 no-slots-in-namedtuple-subclass TID251 banned-api TID252 relative-imports TID253 banned-module-level-imports TID254 lazy-import-mismatch TID255 lazy-import-immediately-resolved TD001 invalid-todo-tag TD002 missing-todo-author TD003 missing-todo-link TD004 missing-todo-colon TD005 missing-todo-description TD006 invalid-todo-capitalization TD007 missing-space-after-todo-colon TC001 typing-only-first-party-import TC002 typing-only-third-party-import TC003 typing-only-standard-library-import TC004 runtime-import-in-type-checking-block TC005 empty-type-checking-block TC006 runtime-cast-value TC007 unquoted-type-alias TC008 quoted-type-alias TC010 runtime-string-union ARG001 unused-function-argument ARG002 unused-method-argument ARG003 unused-class-method-argument ARG004 unused-static-method-argument ARG005 unused-lambda-argument PTH100 os-path-abspath PTH101 os-chmod PTH102 os-mkdir PTH103 os-makedirs PTH104 os-rename PTH105 os-replace PTH106 os-rmdir PTH107 os-remove PTH108 os-unlink PTH109 os-getcwd PTH110 os-path-exists PTH111 os-path-expanduser PTH112 os-path-isdir PTH113 os-path-isfile PTH114 os-path-islink PTH115 os-readlink PTH116 os-stat PTH117 os-path-isabs PTH118 os-path-join PTH119 os-path-basename PTH120 os-path-dirname PTH121 os-path-samefile PTH122 os-path-splitext PTH123 builtin-open PTH124 py-path PTH201 path-constructor-current-directory PTH202 os-path-getsize PTH203 os-path-getatime PTH204 os-path-getmtime PTH205 os-path-getctime PTH206 os-sep-split PTH207 glob PTH208 os-listdir PTH210 invalid-pathlib-with-suffix PTH211 os-symlink FLY002 static-join-to-f-string I001 unsorted-imports I002 missing-required-import C901 complex-structure NPY001 numpy-deprecated-type-alias NPY002 numpy-legacy-random NPY003 numpy-deprecated-function NPY201 numpy2-deprecation N801 invalid-class-name N802 invalid-function-name N803 invalid-argument-name N804 invalid-first-argument-name-for-class-method N805 invalid-first-argument-name-for-method N806 non-lowercase-variable-in-function N807 dunder-function-name N811 constant-imported-as-non-constant N812 lowercase-imported-as-non-lowercase N813 camelcase-imported-as-lowercase N814 camelcase-imported-as-constant N815 mixed-case-variable-in-class-scope N816 mixed-case-variable-in-global-scope N817 camelcase-imported-as-acronym N818 error-suffix-on-exception-name N999 invalid-module-name PD002 pandas-use-of-inplace-argument PD003 pandas-use-of-dot-is-null PD004 pandas-use-of-dot-not-null PD007 pandas-use-of-dot-ix PD008 pandas-use-of-dot-at PD009 pandas-use-of-dot-iat PD010 pandas-use-of-dot-pivot-or-unstack PD011 pandas-use-of-dot-values PD012 pandas-use-of-dot-read-table PD013 pandas-use-of-dot-stack PD015 pandas-use-of-pd-merge PD101 pandas-nunique-constant-series-check PD901 pandas-df-variable-name PERF101 unnecessary-list-cast PERF102 incorrect-dict-iterator PERF203 try-except-in-loop PERF401 manual-list-comprehension PERF402 manual-list-copy PERF403 manual-dict-comprehension E101 mixed-spaces-and-tabs E111 indentation-with-invalid-multiple E112 no-indented-block E113 unexpected-indentation E114 indentation-with-invalid-multiple-comment E115 no-indented-block-comment E116 unexpected-indentation-comment E117 over-indented E201 whitespace-after-open-bracket E202 whitespace-before-close-bracket E203 whitespace-before-punctuation E204 whitespace-after-decorator E211 whitespace-before-parameters E221 multiple-spaces-before-operator E222 multiple-spaces-after-operator E223 tab-before-operator E224 tab-after-operator E225 missing-whitespace-around-operator E226 missing-whitespace-around-arithmetic-operator E227 missing-whitespace-around-bitwise-or-shift-operator E228 missing-whitespace-around-modulo-operator E231 missing-whitespace E241 multiple-spaces-after-comma E242 tab-after-comma E251 unexpected-spaces-around-keyword-parameter-equals E252 missing-whitespace-around-parameter-equals E261 too-few-spaces-before-inline-comment E262 no-space-after-inline-comment E265 no-space-after-block-comment E266 multiple-leading-hashes-for-block-comment E271 multiple-spaces-after-keyword E272 multiple-spaces-before-keyword E273 tab-after-keyword E274 tab-before-keyword E275 missing-whitespace-after-keyword E301 blank-line-between-methods E302 blank-lines-top-level E303 too-many-blank-lines E304 blank-line-after-decorator E305 blank-lines-after-function-or-class E306 blank-lines-before-nested-definition E401 multiple-imports-on-one-line E402 module-import-not-at-top-of-file E501 line-too-long E502 redundant-backslash E701 multiple-statements-on-one-line-colon E702 multiple-statements-on-one-line-semicolon E703 useless-semicolon E711 none-comparison E712 true-false-comparison E713 not-in-test E714 not-is-test E721 type-comparison E722 bare-except E731 lambda-assignment E741 ambiguous-variable-name E742 ambiguous-class-name E743 ambiguous-function-name E902 io-error E999 syntax-error W191 tab-indentation W291 trailing-whitespace W292 missing-newline-at-end-of-file W293 blank-line-with-whitespace W391 too-many-newlines-at-end-of-file W505 doc-line-too-long W605 invalid-escape-sequence DOC102 docstring-extraneous-parameter DOC201 docstring-missing-returns DOC202 docstring-extraneous-returns DOC402 docstring-missing-yields DOC403 docstring-extraneous-yields DOC501 docstring-missing-exception DOC502 docstring-extraneous-exception D100 undocumented-public-module D101 undocumented-public-class D102 undocumented-public-method D103 undocumented-public-function D104 undocumented-public-package D105 undocumented-magic-method D106 undocumented-public-nested-class D107 undocumented-public-init D200 unnecessary-multiline-docstring D201 blank-line-before-function D202 blank-line-after-function D203 incorrect-blank-line-before-class D204 incorrect-blank-line-after-class D205 missing-blank-line-after-summary D206 docstring-tab-indentation D207 under-indentation D208 over-indentation D209 new-line-after-last-paragraph D210 surrounding-whitespace D211 blank-line-before-class D212 multi-line-summary-first-line D213 multi-line-summary-second-line D214 overindented-section D215 overindented-section-underline D300 triple-single-quotes D301 escape-sequence-in-docstring D400 missing-trailing-period D401 non-imperative-mood D402 signature-in-docstring D403 first-word-uncapitalized D404 docstring-starts-with-this D405 non-capitalized-section-name D406 missing-new-line-after-section-name D407 missing-dashed-underline-after-section D408 missing-section-underline-after-name D409 mismatched-section-underline-length D410 no-blank-line-after-section D411 no-blank-line-before-section D412 blank-lines-between-header-and-content D413 missing-blank-line-after-last-section D414 empty-docstring-section D415 missing-terminal-punctuation D416 missing-section-name-colon D417 undocumented-param D418 overload-with-docstring D419 empty-docstring D420 incorrect-section-order F401 unused-import F402 import-shadowed-by-loop-var F403 undefined-local-with-import-star F404 late-future-import F405 undefined-local-with-import-star-usage F406 undefined-local-with-nested-import-star-usage F407 future-feature-not-defined F501 percent-format-invalid-format F502 percent-format-expected-mapping F503 percent-format-expected-sequence F504 percent-format-extra-named-arguments F505 percent-format-missing-argument F506 percent-format-mixed-positional-and-named F507 percent-format-positional-count-mismatch F508 percent-format-star-requires-sequence F509 percent-format-unsupported-format-character F521 string-dot-format-invalid-format F522 string-dot-format-extra-named-arguments F523 string-dot-format-extra-positional-arguments F524 string-dot-format-missing-arguments F525 string-dot-format-mixing-automatic F541 f-string-missing-placeholders F601 multi-value-repeated-key-literal F602 multi-value-repeated-key-variable F621 expressions-in-star-assignment F622 multiple-starred-expressions F631 assert-tuple F632 is-literal F633 invalid-print-syntax F634 if-tuple F701 break-outside-loop F702 continue-outside-loop F704 yield-outside-function F706 return-outside-function F707 default-except-not-last F722 forward-annotation-syntax-error F811 redefined-while-unused F821 undefined-name F822 undefined-export F823 undefined-local F841 unused-variable F842 unused-annotation F901 raise-not-implemented PGH001 eval PGH002 deprecated-log-warn PGH003 blanket-type-ignore PGH004 blanket-noqa PGH005 invalid-mock-access PLC0105 type-name-incorrect-variance PLC0131 type-bivariance PLC0132 type-param-name-mismatch PLC0205 single-string-slots PLC0206 dict-index-missing-items PLC0207 missing-maxsplit-arg PLC0208 iteration-over-set PLC0414 useless-import-alias PLC0415 import-outside-top-level PLC1802 len-test PLC1901 compare-to-empty-string PLC2401 non-ascii-name PLC2403 non-ascii-import-name PLC2701 import-private-name PLC2801 unnecessary-dunder-call PLC3002 unnecessary-direct-lambda-call PLE0100 yield-in-init PLE0101 return-in-init PLE0115 nonlocal-and-global PLE0116 continue-in-finally PLE0117 nonlocal-without-binding PLE0118 load-before-global-declaration PLE0237 non-slot-assignment PLE0241 duplicate-bases PLE0302 unexpected-special-method-signature PLE0303 invalid-length-return-type PLE0304 invalid-bool-return-type PLE0305 invalid-index-return-type PLE0307 invalid-str-return-type PLE0308 invalid-bytes-return-type PLE0309 invalid-hash-return-type PLE0604 invalid-all-object PLE0605 invalid-all-format PLE0643 potential-index-error PLE0704 misplaced-bare-raise PLE1132 repeated-keyword-argument PLE1141 dict-iter-missing-items PLE1142 await-outside-async PLE1205 logging-too-many-args PLE1206 logging-too-few-args PLE1300 bad-string-format-character PLE1307 bad-string-format-type PLE1310 bad-str-strip-call PLE1507 invalid-envvar-value PLE1519 singledispatch-method PLE1520 singledispatchmethod-function PLE1700 yield-from-in-async-function PLE2502 bidirectional-unicode PLE2510 invalid-character-backspace PLE2512 invalid-character-sub PLE2513 invalid-character-esc PLE2514 invalid-character-nul PLE2515 invalid-character-zero-width-space PLE4703 modified-iterating-set PLR0124 comparison-with-itself PLR0133 comparison-of-constant PLR0202 no-classmethod-decorator PLR0203 no-staticmethod-decorator PLR0206 property-with-parameters PLR0402 manual-from-import PLR0904 too-many-public-methods PLR0911 too-many-return-statements PLR0912 too-many-branches PLR0913 too-many-arguments PLR0914 too-many-locals PLR0915 too-many-statements PLR0916 too-many-boolean-expressions PLR0917 too-many-positional-arguments PLR1701 repeated-isinstance-calls PLR1702 too-many-nested-blocks PLR1704 redefined-argument-from-local PLR1706 and-or-ternary PLR1708 stop-iteration-return PLR1711 useless-return PLR1712 swap-with-temporary-variable PLR1714 repeated-equality-comparison PLR1716 boolean-chained-comparison PLR1722 sys-exit-alias PLR1730 if-stmt-min-max PLR1733 unnecessary-dict-index-lookup PLR1736 unnecessary-list-index-lookup PLR2004 magic-value-comparison PLR2044 empty-comment PLR5501 collapsible-else-if PLR6104 non-augmented-assignment PLR6201 literal-membership PLR6301 no-self-use PLW0108 unnecessary-lambda PLW0120 useless-else-on-loop PLW0127 self-assigning-variable PLW0128 redeclared-assigned-name PLW0129 assert-on-string-literal PLW0131 named-expr-without-context PLW0133 useless-exception-statement PLW0177 nan-comparison PLW0211 bad-staticmethod-argument PLW0244 redefined-slots-in-subclass PLW0245 super-without-brackets PLW0406 import-self PLW0602 global-variable-not-assigned PLW0603 global-statement PLW0604 global-at-module-level PLW0642 self-or-cls-assignment PLW0711 binary-op-exception PLW0717 too-many-statements-in-try-clause PLW1501 bad-open-mode PLW1507 shallow-copy-environ PLW1508 invalid-envvar-default PLW1509 subprocess-popen-preexec-fn PLW1510 subprocess-run-without-check PLW1514 unspecified-encoding PLW1641 eq-without-hash PLW2101 useless-with-lock PLW2901 redefined-loop-name PLW3201 bad-dunder-method-name PLW3301 nested-min-max UP001 useless-metaclass-type UP003 type-of-primitive UP004 useless-object-inheritance UP005 deprecated-unittest-alias UP006 non-pep585-annotation UP007 non-pep604-annotation-union UP008 super-call-with-parameters UP009 utf8-encoding-declaration UP010 unnecessary-future-import UP011 lru-cache-without-parameters UP012 unnecessary-encode-utf8 UP013 convert-typed-dict-functional-to-class UP014 convert-named-tuple-functional-to-class UP015 redundant-open-modes UP017 datetime-timezone-utc UP018 native-literals UP019 typing-text-str-alias UP020 open-alias UP021 replace-universal-newlines UP022 replace-stdout-stderr UP023 deprecated-c-element-tree UP024 os-error-alias UP025 unicode-kind-prefix UP026 deprecated-mock-import UP027 unpacked-list-comprehension UP028 yield-in-for-loop UP029 unnecessary-builtin-import UP030 format-literals UP031 printf-string-formatting UP032 f-string UP033 lru-cache-with-maxsize-none UP034 extraneous-parentheses UP035 deprecated-import UP036 outdated-version-block UP037 quoted-annotation UP038 non-pep604-isinstance UP039 unnecessary-class-parentheses UP040 non-pep695-type-alias UP041 timeout-error-alias UP042 replace-str-enum UP043 unnecessary-default-type-args UP044 non-pep646-unpack UP045 non-pep604-annotation-optional UP046 non-pep695-generic-class UP047 non-pep695-generic-function UP049 private-type-parameter UP050 useless-class-metaclass-type FURB101 read-whole-file FURB103 write-whole-file FURB105 print-empty-string FURB110 if-exp-instead-of-or-operator FURB113 repeated-append FURB116 f-string-number-format FURB118 reimplemented-operator FURB122 for-loop-writes FURB129 readlines-in-for FURB131 delete-full-slice FURB132 check-and-remove-from-set FURB136 if-expr-min-max FURB140 reimplemented-starmap FURB142 for-loop-set-mutations FURB145 slice-copy FURB148 unnecessary-enumerate FURB152 math-constant FURB154 repeated-global FURB156 hardcoded-string-charset FURB157 verbose-decimal-constructor FURB161 bit-count FURB162 fromisoformat-replace-z FURB163 redundant-log-base FURB164 unnecessary-from-float FURB166 int-on-sliced-str FURB167 regex-flag-alias FURB168 isinstance-type-none FURB169 type-none-comparison FURB171 single-item-membership-test FURB177 implicit-cwd FURB180 meta-class-abc-meta FURB181 hashlib-digest-hex FURB187 list-reverse-copy FURB188 slice-to-remove-prefix-or-suffix FURB189 subclass-builtin FURB192 sorted-min-max RUF001 ambiguous-unicode-character-string RUF002 ambiguous-unicode-character-docstring RUF003 ambiguous-unicode-character-comment RUF005 collection-literal-concatenation RUF006 asyncio-dangling-task RUF007 zip-instead-of-pairwise RUF008 mutable-dataclass-default RUF009 function-call-in-dataclass-default-argument RUF010 explicit-f-string-type-conversion RUF011 ruff-static-key-dict-comprehension RUF012 mutable-class-default RUF013 implicit-optional RUF015 unnecessary-iterable-allocation-for-first-element RUF016 invalid-index-type RUF017 quadratic-list-summation RUF018 assignment-in-assert RUF019 unnecessary-key-check RUF020 never-union RUF021 parenthesize-chained-operators RUF022 unsorted-dunder-all RUF023 unsorted-dunder-slots RUF024 mutable-fromkeys-value RUF026 default-factory-kwarg RUF027 missing-f-string-syntax RUF028 invalid-formatter-suppression-comment RUF029 unused-async RUF030 assert-with-print-message RUF031 incorrectly-parenthesized-tuple-in-subscript RUF032 decimal-from-float-literal RUF033 post-init-default RUF034 useless-if-else RUF035 ruff-unsafe-markup-use RUF036 none-not-at-end-of-union RUF037 unnecessary-empty-iterable-within-deque-call RUF038 redundant-bool-literal RUF039 unraw-re-pattern RUF040 invalid-assert-message-literal-argument RUF041 unnecessary-nested-literal RUF043 pytest-raises-ambiguous-pattern RUF045 implicit-class-var-in-dataclass RUF046 unnecessary-cast-to-int RUF047 needless-else RUF048 map-int-version-parsing RUF049 dataclass-enum RUF050 unnecessary-if RUF051 if-key-in-dict-del RUF052 used-dummy-variable RUF053 class-with-mixed-type-vars RUF054 indented-form-feed RUF055 unnecessary-regular-expression RUF056 falsy-dict-get-fallback RUF057 unnecessary-round RUF058 starmap-zip RUF059 unused-unpacked-variable RUF060 in-empty-collection RUF061 legacy-form-pytest-raises RUF063 access-annotations-from-class-dict RUF064 non-octal-permissions RUF065 logging-eager-conversion RUF066 property-without-return RUF067 non-empty-init-module RUF068 duplicate-entry-in-dunder-all RUF069 float-equality-comparison RUF070 unnecessary-assign-before-yield RUF071 os-path-commonprefix RUF072 useless-finally RUF073 f-string-percent-format RUF074 incorrect-decorator-order RUF075 fallible-context-manager RUF076 pytest-fixture-autouse RUF100 unused-noqa RUF101 redirected-noqa RUF102 invalid-rule-code RUF103 invalid-suppression-comment RUF104 unmatched-suppression-comment RUF200 invalid-pyproject-toml TRY002 raise-vanilla-class TRY003 raise-vanilla-args TRY004 type-check-without-type-error TRY200 reraise-no-cause TRY201 verbose-raise TRY203 useless-try-except TRY300 try-consider-else TRY301 raise-within-try TRY400 error-instead-of-exception TRY401 verbose-log-message"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --output-format)
                    COMPREPLY=($(compgen -W "text json" -- "${cur}"))
                    return 0
                    ;;
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__server)
            opts="-v -q -s -h --preview --no-preview --verbose --quiet --silent --config --isolated --color --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
        ruff__version)
            opts="-v -q -s -h --output-format --verbose --quiet --silent --config --isolated --color --help"
            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
                return 0
            fi
            case "${prev}" in
                --output-format)
                    COMPREPLY=($(compgen -W "text json" -- "${cur}"))
                    return 0
                    ;;
                --config)
                    COMPREPLY=($(compgen -f "${cur}"))
                    return 0
                    ;;
                --color)
                    COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
                    return 0
                    ;;
                *)
                    COMPREPLY=()
                    ;;
            esac
            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
            return 0
            ;;
    esac
}

if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then
    complete -F _ruff -o nosort -o bashdefault -o default ruff
else
    complete -F _ruff -o bashdefault -o default ruff
fi
