#compdef mullvad

autoload -U is-at-least

_mullvad() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad_commands" \
"*::: :->mullvad-cli" \
&& ret=0
    case $state in
    (mullvad-cli)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-command-$line[1]:"
        case $line[1] in
            (account)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__account_commands" \
"*::: :->account" \
&& ret=0

    case $state in
    (account)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-account-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(login)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
'::account -- The Mullvad account number to configure the client with:' \
&& ret=0
;;
(logout)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
'-v[Enable verbose output]' \
'--verbose[Enable verbose output]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(list-devices)
_arguments "${_arguments_options[@]}" \
'-a+[Mullvad account number (current account if not specified)]:ACCOUNT: ' \
'--account=[Mullvad account number (current account if not specified)]:ACCOUNT: ' \
'-v[Enable verbose output]' \
'--verbose[Enable verbose output]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(revoke-device)
_arguments "${_arguments_options[@]}" \
'-a+[Mullvad account number (current account if not specified)]:ACCOUNT: ' \
'--account=[Mullvad account number (current account if not specified)]:ACCOUNT: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':device -- Name or UID of the device to revoke:' \
&& ret=0
;;
(redeem)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':voucher -- Voucher code to submit:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__account__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-account-help-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(login)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(logout)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(list-devices)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke-device)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(redeem)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(auto-connect)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__auto-connect_commands" \
"*::: :->auto-connect" \
&& ret=0

    case $state in
    (auto-connect)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-auto-connect-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':policy:(on off)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__auto-connect__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-auto-connect-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(beta-program)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__beta-program_commands" \
"*::: :->beta-program" \
&& ret=0

    case $state in
    (beta-program)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-beta-program-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':policy:(on off)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__beta-program__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-beta-program-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(lockdown-mode)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__lockdown-mode_commands" \
"*::: :->lockdown-mode" \
&& ret=0

    case $state in
    (lockdown-mode)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-lockdown-mode-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':policy:(on off)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__lockdown-mode__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-lockdown-mode-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-command-$line[1]:"
        case $line[1] in
            (block-connection)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(relay)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__debug__relay_commands" \
"*::: :->relay" \
&& ret=0

    case $state in
    (relay)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-relay-command-$line[1]:"
        case $line[1] in
            (disable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':relay:' \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':relay:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__debug__relay__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-relay-help-command-$line[1]:"
        case $line[1] in
            (disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(rollout)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__debug__rollout_commands" \
"*::: :->rollout" \
&& ret=0

    case $state in
    (rollout)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-rollout-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(reroll)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(seed)
_arguments "${_arguments_options[@]}" \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':value:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__debug__rollout__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-rollout-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(reroll)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(seed)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__debug__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-help-command-$line[1]:"
        case $line[1] in
            (block-connection)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(relay)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__debug__help__relay_commands" \
"*::: :->relay" \
&& ret=0

    case $state in
    (relay)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-help-relay-command-$line[1]:"
        case $line[1] in
            (disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(rollout)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__debug__help__rollout_commands" \
"*::: :->rollout" \
&& ret=0

    case $state in
    (rollout)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-debug-help-rollout-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(reroll)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(seed)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(dns)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__dns_commands" \
"*::: :->dns" \
&& ret=0

    case $state in
    (dns)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-dns-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__dns__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-dns-set-command-$line[1]:"
        case $line[1] in
            (default)
_arguments "${_arguments_options[@]}" \
'--block-ads[Block domains known to be used for ads]' \
'--block-trackers[Block domains known to be used for tracking]' \
'--block-malware[Block domains known to be used by malware]' \
'--block-adult-content[Block domains known to be used for adult content]' \
'--block-gambling[Block domains known to be used for gambling]' \
'--block-social-media[Block domains related to social media]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(custom)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
'*::servers -- One or more IP addresses pointing to DNS resolvers:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__dns__set__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-dns-set-help-command-$line[1]:"
        case $line[1] in
            (default)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__dns__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-dns-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__dns__help__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-dns-help-set-command-$line[1]:"
        case $line[1] in
            (default)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(lan)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__lan_commands" \
"*::: :->lan" \
&& ret=0

    case $state in
    (lan)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-lan-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':policy:(allow block)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__lan__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-lan-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(connect)
_arguments "${_arguments_options[@]}" \
'-w[Wait until connected before exiting]' \
'--wait[Wait until connected before exiting]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(disconnect)
_arguments "${_arguments_options[@]}" \
'-w[Wait until disconnected before exiting]' \
'--wait[Wait until disconnected before exiting]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(reconnect)
_arguments "${_arguments_options[@]}" \
'-w[Wait until connected before exiting]' \
'--wait[Wait until connected before exiting]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(relay)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay_commands" \
"*::: :->relay" \
&& ret=0

    case $state in
    (relay)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':country -- A two-letter country code, or '\''any'\'':' \
'::city -- A three-letter city code:' \
'::hostname -- A host name, such as "se-got-wg-101":' \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':custom_list_name -- Name of the custom list to use:' \
&& ret=0
;;
(provider)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
'*::providers:' \
&& ret=0
;;
(ownership)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':ownership -- Servers to select from\: '\''any'\'', '\''owned'\'', or '\''rented'\'':' \
&& ret=0
;;
(port)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':port -- Port to use, or '\''any'\'':' \
&& ret=0
;;
(ip-version)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':ip_version -- IP protocol to use, or '\''any'\'':' \
&& ret=0
;;
(multihop)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':use_multihop -- Whether to enable multihop. The location constraints are specified with '\''entry-location'\'':(on off)' \
&& ret=0
;;
(entry)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay__set__entry_commands" \
"*::: :->entry" \
&& ret=0

    case $state in
    (entry)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-entry-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':country -- A two-letter country code, or '\''any'\'':' \
'::city -- A three-letter city code:' \
'::hostname -- A host name, such as "se-got-wg-101":' \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':custom_list_name:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__set__entry__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-entry-help-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(custom)
_arguments "${_arguments_options[@]}" \
'--v4-gateway=[IPv4 gateway address]:V4_GATEWAY: ' \
'--v6-gateway=[IPv6 gateway address]:V6_GATEWAY: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':host -- Hostname or IP:' \
':port -- Remote port:' \
':peer_pubkey -- Base64 encoded public key of remote peer:' \
'*::tunnel_ip -- IP addresses of local tunnel interface:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__set__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-help-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(provider)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ownership)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(port)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ip-version)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(multihop)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(entry)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__set__help__entry_commands" \
"*::: :->entry" \
&& ret=0

    case $state in
    (entry)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-help-entry-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(custom)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(override)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay__override_commands" \
"*::: :->override" \
&& ret=0

    case $state in
    (override)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay__override__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-set-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':hostname -- The unique hostname for the server to set the override on:' \
':address -- The IPv4 address to use to connect to this server:' \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':hostname -- The unique hostname for the server to set the override on:' \
':address -- The IPv6 address to use to connect to this server:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__override__set__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-set-help-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(unset)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay__override__unset_commands" \
"*::: :->unset" \
&& ret=0

    case $state in
    (unset)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-unset-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':hostname:' \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':hostname:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__override__unset__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-unset-help-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(clear-all)
_arguments "${_arguments_options[@]}" \
'-y[Clear overrides without asking for confirmation]' \
'--confirm[Clear overrides without asking for confirmation]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__override__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__override__help__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-help-set-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(unset)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__override__help__unset_commands" \
"*::: :->unset" \
&& ret=0

    case $state in
    (unset)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-override-help-unset-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(clear-all)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__help__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-help-set-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(provider)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ownership)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(port)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ip-version)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(multihop)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(entry)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__help__set__entry_commands" \
"*::: :->entry" \
&& ret=0

    case $state in
    (entry)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-help-set-entry-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(custom)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(override)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__help__override_commands" \
"*::: :->override" \
&& ret=0

    case $state in
    (override)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-help-override-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__help__override__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-help-override-set-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(unset)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__help__override__unset_commands" \
"*::: :->unset" \
&& ret=0

    case $state in
    (unset)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-help-override-unset-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(clear-all)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(api-access)
_arguments "${_arguments_options[@]}" \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__api-access_commands" \
"*::: :->api-access" \
&& ret=0

    case $state in
    (api-access)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__api-access__add_commands" \
"*::: :->add" \
&& ret=0

    case $state in
    (add)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-add-command-$line[1]:"
        case $line[1] in
            (socks5)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__api-access__add__socks5_commands" \
"*::: :->socks5" \
&& ret=0

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-add-socks5-command-$line[1]:"
        case $line[1] in
            (remote)
_arguments "${_arguments_options[@]}" \
'-u+[Username for authentication against a remote SOCKS5 proxy]:USERNAME: ' \
'--username=[Username for authentication against a remote SOCKS5 proxy]:USERNAME: ' \
'-p+[Password for authentication against a remote SOCKS5 proxy]:PASSWORD: ' \
'--password=[Password for authentication against a remote SOCKS5 proxy]:PASSWORD: ' \
'-d[Disable the use of this custom access method. It has to be manually enabled at a later stage to be used when accessing the Mullvad API]' \
'--disabled[Disable the use of this custom access method. It has to be manually enabled at a later stage to be used when accessing the Mullvad API]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- An easy to remember name for this custom proxy:' \
':remote_ip -- The IP of the remote proxy server:' \
':remote_port -- The port of the remote proxy server:' \
&& ret=0
;;
(local)
_arguments "${_arguments_options[@]}" \
'--transport-protocol=[The Mullvad App can not know which transport protocol that the remote peer accepts, but it needs to know this in order to correctly exempt the connection traffic in the firewall]:TRANSPORT_PROTOCOL: ' \
'-d[Disable the use of this custom access method. It has to be manually enabled at a later stage to be used when accessing the Mullvad API]' \
'--disabled[Disable the use of this custom access method. It has to be manually enabled at a later stage to be used when accessing the Mullvad API]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- An easy to remember name for this custom proxy:' \
':local_port -- The port that the server on localhost is listening on:' \
':remote_ip -- The IP of the remote peer:' \
':remote_port -- The port of the remote peer:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__api-access__add__socks5__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-add-socks5-help-command-$line[1]:"
        case $line[1] in
            (remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
'--cipher=[Cipher to use]:CIPHER:(aes-128-cfb aes-128-cfb1 aes-128-cfb8 aes-128-cfb128 aes-256-cfb aes-256-cfb1 aes-256-cfb8 aes-256-cfb128 rc4 rc4-md5 chacha20 salsa20 chacha20-ietf aes-128-gcm aes-256-gcm chacha20-ietf-poly1305 xchacha20-ietf-poly1305 aes-128-pmac-siv aes-256-pmac-siv)' \
'-d[Disable the use of this custom access method. It has to be manually enabled at a later stage to be used when accessing the Mullvad API]' \
'--disabled[Disable the use of this custom access method. It has to be manually enabled at a later stage to be used when accessing the Mullvad API]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- An easy to remember name for this custom proxy:' \
':remote_ip -- The IP of the remote Shadowsocks-proxy:' \
':remote_port -- Port on which the remote Shadowsocks-proxy listens for traffic:' \
':password -- Password for authentication:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__api-access__add__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-add-help-command-$line[1]:"
        case $line[1] in
            (socks5)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__api-access__add__help__socks5_commands" \
"*::: :->socks5" \
&& ret=0

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-add-help-socks5-command-$line[1]:"
        case $line[1] in
            (remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
'--name=[Name of the API access method in the Mullvad client \\\[All\\\]]:NAME: ' \
'--username=[Username for authentication \\\[Socks5 (Remote proxy)\\\]]:USERNAME: ' \
'--password=[Password for authentication \\\[Socks5 (Remote proxy), Shadowsocks\\\]]:PASSWORD: ' \
'--cipher=[Cipher to use \\\[Shadowsocks\\\]]:CIPHER:(aes-128-cfb aes-128-cfb1 aes-128-cfb8 aes-128-cfb128 aes-256-cfb aes-256-cfb1 aes-256-cfb8 aes-256-cfb128 rc4 rc4-md5 chacha20 salsa20 chacha20-ietf aes-128-gcm aes-256-gcm chacha20-ietf-poly1305 xchacha20-ietf-poly1305 aes-128-pmac-siv aes-256-pmac-siv)' \
'--ip=[The IP of the remote proxy server \\\[Socks5 (Local & Remote proxy), Shadowsocks\\\]]:IP: ' \
'--port=[The port of the remote proxy server \\\[Socks5 (Local & Remote proxy), Shadowsocks\\\]]:PORT: ' \
'--local-port=[The port that the server on localhost is listening on \\\[Socks5 (Local proxy)\\\]]:LOCAL_PORT: ' \
'--transport-protocol=[The transport protocol used by the remote proxy \\\[Socks5 (Local proxy)\\\]]:TRANSPORT_PROTOCOL: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':index -- Which access method to pick:' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':index -- Which access method to pick:' \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':index -- Which access method to pick:' \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':index -- Which access method to pick:' \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':index -- Which access method to pick:' \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':index -- Which access method to pick:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__api-access__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__api-access__help__add_commands" \
"*::: :->add" \
&& ret=0

    case $state in
    (add)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-help-add-command-$line[1]:"
        case $line[1] in
            (socks5)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__api-access__help__add__socks5_commands" \
"*::: :->socks5" \
&& ret=0

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-api-access-help-add-socks5-command-$line[1]:"
        case $line[1] in
            (remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(obfuscation)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__obfuscation_commands" \
"*::: :->obfuscation" \
&& ret=0

    case $state in
    (obfuscation)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-obfuscation-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__obfuscation__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-obfuscation-set-command-$line[1]:"
        case $line[1] in
            (mode)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':mode:(auto off port udp2tcp shadowsocks quic lwo)' \
&& ret=0
;;
(udp2tcp)
_arguments "${_arguments_options[@]}" \
'-p+[Port to use, or '\''any'\'']:PORT: ' \
'--port=[Port to use, or '\''any'\'']:PORT: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
'-p+[Port to use, or '\''any'\'']:PORT: ' \
'--port=[Port to use, or '\''any'\'']:PORT: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__obfuscation__set__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-obfuscation-set-help-command-$line[1]:"
        case $line[1] in
            (mode)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(udp2tcp)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__obfuscation__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-obfuscation-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__obfuscation__help__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-obfuscation-help-set-command-$line[1]:"
        case $line[1] in
            (mode)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(udp2tcp)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(split-tunnel)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__split-tunnel_commands" \
"*::: :->split-tunnel" \
&& ret=0

    case $state in
    (split-tunnel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-split-tunnel-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':pid:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':pid:' \
&& ret=0
;;
(clear)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__split-tunnel__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-split-tunnel-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(clear)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(status)
_arguments "${_arguments_options[@]}" \
'-v[Enable verbose output]' \
'--verbose[Enable verbose output]' \
'(-v --verbose -j --json)-d[Enable debug output]' \
'(-v --verbose -j --json)--debug[Enable debug output]' \
'(-v --verbose -d --debug)-j[Format output as JSON]' \
'(-v --verbose -d --debug)--json[Format output as JSON]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__status_commands" \
"*::: :->status" \
&& ret=0

    case $state in
    (status)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-status-command-$line[1]:"
        case $line[1] in
            (listen)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__status__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-status-help-command-$line[1]:"
        case $line[1] in
            (listen)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(tunnel)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__tunnel_commands" \
"*::: :->tunnel" \
&& ret=0

    case $state in
    (tunnel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__tunnel__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-set-command-$line[1]:"
        case $line[1] in
            (mtu)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':mtu:' \
&& ret=0
;;
(quantum-resistant)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':state:(on off)' \
&& ret=0
;;
(daita)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':state:(on off)' \
&& ret=0
;;
(daita-direct-only)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':state:(on off)' \
&& ret=0
;;
(allowed-ips)
_arguments "${_arguments_options[@]}" \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':allowed_ips:' \
&& ret=0
;;
(rotation-interval)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':interval:' \
&& ret=0
;;
(rotate-key)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':state:(on off)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__tunnel__set__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-set-help-command-$line[1]:"
        case $line[1] in
            (mtu)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(quantum-resistant)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(daita)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(daita-direct-only)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(allowed-ips)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rotation-interval)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rotate-key)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__tunnel__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__tunnel__help__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-help-set-command-$line[1]:"
        case $line[1] in
            (mtu)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(quantum-resistant)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(daita)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(daita-direct-only)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(allowed-ips)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rotation-interval)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rotate-key)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(version)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(shell-completions)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':shell -- The shell to generate the script for:(bash elvish fish powershell zsh)' \
'::dir -- Output directory where the shell completions are written:_files' \
&& ret=0
;;
(factory-reset)
_arguments "${_arguments_options[@]}" \
'-y[]' \
'--assume-yes[]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(reset-settings)
_arguments "${_arguments_options[@]}" \
'-y[]' \
'--assume-yes[]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__custom-list_commands" \
"*::: :->custom-list" \
&& ret=0

    case $state in
    (custom-list)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-custom-list-command-$line[1]:"
        case $line[1] in
            (new)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- A name for the new custom list:' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
'::name -- A custom list. If omitted, all custom lists are shown:' \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__custom-list__edit_commands" \
"*::: :->edit" \
&& ret=0

    case $state in
    (edit)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-custom-list-edit-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- A custom list:' \
':country -- A two-letter country code, or '\''any'\'':' \
'::city -- A three-letter city code:' \
'::hostname -- A host name, such as "se-got-wg-101":' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- A custom list:' \
':country -- A two-letter country code, or '\''any'\'':' \
'::city -- A three-letter city code:' \
'::hostname -- A host name, such as "se-got-wg-101":' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- Current name of the custom list:' \
':new_name -- A new name for the custom list:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__custom-list__edit__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-custom-list-edit-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- A custom list:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__custom-list__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-custom-list-help-command-$line[1]:"
        case $line[1] in
            (new)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__custom-list__help__edit_commands" \
"*::: :->edit" \
&& ret=0

    case $state in
    (edit)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-custom-list-help-edit-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(delete)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(import-settings)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':file -- File to read from. If this is "-", read from standard input:' \
&& ret=0
;;
(export-settings)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':file -- File to write to. If this is "-", write to standard output:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-command-$line[1]:"
        case $line[1] in
            (account)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__account_commands" \
"*::: :->account" \
&& ret=0

    case $state in
    (account)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-account-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(login)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(logout)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(list-devices)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(revoke-device)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(redeem)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(auto-connect)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__auto-connect_commands" \
"*::: :->auto-connect" \
&& ret=0

    case $state in
    (auto-connect)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-auto-connect-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(beta-program)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__beta-program_commands" \
"*::: :->beta-program" \
&& ret=0

    case $state in
    (beta-program)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-beta-program-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(lockdown-mode)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__lockdown-mode_commands" \
"*::: :->lockdown-mode" \
&& ret=0

    case $state in
    (lockdown-mode)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-lockdown-mode-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-debug-command-$line[1]:"
        case $line[1] in
            (block-connection)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(relay)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__debug__relay_commands" \
"*::: :->relay" \
&& ret=0

    case $state in
    (relay)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-debug-relay-command-$line[1]:"
        case $line[1] in
            (disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(rollout)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__debug__rollout_commands" \
"*::: :->rollout" \
&& ret=0

    case $state in
    (rollout)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-debug-rollout-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(reroll)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(seed)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(dns)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__dns_commands" \
"*::: :->dns" \
&& ret=0

    case $state in
    (dns)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-dns-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__dns__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-dns-set-command-$line[1]:"
        case $line[1] in
            (default)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(lan)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__lan_commands" \
"*::: :->lan" \
&& ret=0

    case $state in
    (lan)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-lan-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(connect)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disconnect)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(reconnect)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(relay)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__relay_commands" \
"*::: :->relay" \
&& ret=0

    case $state in
    (relay)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-relay-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__relay__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-relay-set-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(provider)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ownership)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(port)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ip-version)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(multihop)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(entry)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__relay__set__entry_commands" \
"*::: :->entry" \
&& ret=0

    case $state in
    (entry)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-relay-set-entry-command-$line[1]:"
        case $line[1] in
            (location)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(custom)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(override)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__relay__override_commands" \
"*::: :->override" \
&& ret=0

    case $state in
    (override)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-relay-override-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__relay__override__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-relay-override-set-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(unset)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__relay__override__unset_commands" \
"*::: :->unset" \
&& ret=0

    case $state in
    (unset)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-relay-override-unset-command-$line[1]:"
        case $line[1] in
            (ipv4)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(clear-all)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(api-access)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__api-access_commands" \
"*::: :->api-access" \
&& ret=0

    case $state in
    (api-access)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-api-access-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__api-access__add_commands" \
"*::: :->add" \
&& ret=0

    case $state in
    (add)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-api-access-add-command-$line[1]:"
        case $line[1] in
            (socks5)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__api-access__add__socks5_commands" \
"*::: :->socks5" \
&& ret=0

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-api-access-add-socks5-command-$line[1]:"
        case $line[1] in
            (remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(obfuscation)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__obfuscation_commands" \
"*::: :->obfuscation" \
&& ret=0

    case $state in
    (obfuscation)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-obfuscation-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__obfuscation__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-obfuscation-set-command-$line[1]:"
        case $line[1] in
            (mode)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(udp2tcp)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(split-tunnel)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__split-tunnel_commands" \
"*::: :->split-tunnel" \
&& ret=0

    case $state in
    (split-tunnel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-split-tunnel-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(clear)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(status)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__status_commands" \
"*::: :->status" \
&& ret=0

    case $state in
    (status)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-status-command-$line[1]:"
        case $line[1] in
            (listen)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(tunnel)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__tunnel_commands" \
"*::: :->tunnel" \
&& ret=0

    case $state in
    (tunnel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-tunnel-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__tunnel__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-tunnel-set-command-$line[1]:"
        case $line[1] in
            (mtu)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(quantum-resistant)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(daita)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(daita-direct-only)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(allowed-ips)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rotation-interval)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rotate-key)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ipv6)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(version)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(shell-completions)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(factory-reset)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(reset-settings)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(custom-list)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__custom-list_commands" \
"*::: :->custom-list" \
&& ret=0

    case $state in
    (custom-list)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-custom-list-command-$line[1]:"
        case $line[1] in
            (new)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__custom-list__edit_commands" \
"*::: :->edit" \
&& ret=0

    case $state in
    (edit)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-custom-list-edit-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(delete)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(import-settings)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(export-settings)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_mullvad_commands] )) ||
_mullvad_commands() {
    local commands; commands=(
'account:Control and display information about your Mullvad account' \
'auto-connect:Control the daemon auto-connect setting' \
'beta-program:Receive notifications about beta updates' \
'lockdown-mode:Control whether to block network access when disconnected from VPN' \
'debug:Debug commands used for internal testing of the app' \
'dns:Configure DNS servers to use when connected' \
'lan:Control the allow local network sharing setting' \
'connect:Connect to a VPN relay' \
'disconnect:Disconnect from the VPN' \
'reconnect:Reconnect to any matching VPN relay' \
'relay:Manage relay and tunnel constraints' \
'api-access:Manage Mullvad API access methods' \
'obfuscation:Manage use of obfuscation protocols for WireGuard. Can make WireGuard traffic look like something else on the network. Helps circumvent censorship and to establish a tunnel when on restricted networks' \
'split-tunnel:Manage split tunneling. To launch applications outside the tunnel, use the program '\''mullvad-exclude'\'' instead of this command' \
'status:Return the state of the VPN tunnel' \
'tunnel:Manage tunnel options' \
'version:Show information about the current Mullvad version and available versions' \
'shell-completions:Generate completion scripts for the specified shell' \
'factory-reset:Reset settings, caches, and logs' \
'reset-settings:Reset settings only, but remain logged in and keep logs and caches' \
'custom-list:Manage custom lists' \
'import-settings:Apply a JSON patch generated by '\''export-settings'\''' \
'export-settings:Export a JSON patch based on the current settings' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad commands' commands "$@"
}
(( $+functions[_mullvad__account_commands] )) ||
_mullvad__account_commands() {
    local commands; commands=(
'create:Create and log in on a new account' \
'login:Log in on an account' \
'logout:Log out of the current account' \
'get:Display information about the current account' \
'list-devices:List devices associated with an account' \
'revoke-device:Revoke a device associated with an account' \
'redeem:Redeem a voucher' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad account commands' commands "$@"
}
(( $+functions[_mullvad__help__account_commands] )) ||
_mullvad__help__account_commands() {
    local commands; commands=(
'create:Create and log in on a new account' \
'login:Log in on an account' \
'logout:Log out of the current account' \
'get:Display information about the current account' \
'list-devices:List devices associated with an account' \
'revoke-device:Revoke a device associated with an account' \
'redeem:Redeem a voucher' \
    )
    _describe -t commands 'mullvad help account commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add_commands] )) ||
_mullvad__api-access__add_commands() {
    local commands; commands=(
'socks5:Configure a SOCKS5 proxy' \
'shadowsocks:Configure a custom Shadowsocks proxy to use as an API access method' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad api-access add commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__add_commands] )) ||
_mullvad__api-access__help__add_commands() {
    local commands; commands=(
'socks5:Configure a SOCKS5 proxy' \
'shadowsocks:Configure a custom Shadowsocks proxy to use as an API access method' \
    )
    _describe -t commands 'mullvad api-access help add commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__add_commands] )) ||
_mullvad__custom-list__edit__add_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list edit add commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__help__add_commands] )) ||
_mullvad__custom-list__edit__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list edit help add commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__edit__add_commands] )) ||
_mullvad__custom-list__help__edit__add_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list help edit add commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__add_commands] )) ||
_mullvad__help__api-access__add_commands() {
    local commands; commands=(
'socks5:Configure a SOCKS5 proxy' \
'shadowsocks:Configure a custom Shadowsocks proxy to use as an API access method' \
    )
    _describe -t commands 'mullvad help api-access add commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list__edit__add_commands] )) ||
_mullvad__help__custom-list__edit__add_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help custom-list edit add commands' commands "$@"
}
(( $+functions[_mullvad__help__split-tunnel__add_commands] )) ||
_mullvad__help__split-tunnel__add_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help split-tunnel add commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__add_commands] )) ||
_mullvad__split-tunnel__add_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel add commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__help__add_commands] )) ||
_mullvad__split-tunnel__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel help add commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__allowed-ips_commands] )) ||
_mullvad__help__tunnel__set__allowed-ips_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set allowed-ips commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__allowed-ips_commands] )) ||
_mullvad__tunnel__help__set__allowed-ips_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set allowed-ips commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__allowed-ips_commands] )) ||
_mullvad__tunnel__set__allowed-ips_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set allowed-ips commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__allowed-ips_commands] )) ||
_mullvad__tunnel__set__help__allowed-ips_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help allowed-ips commands' commands "$@"
}
(( $+functions[_mullvad__api-access_commands] )) ||
_mullvad__api-access_commands() {
    local commands; commands=(
'get:Display the current API access method' \
'add:Add a custom API access method' \
'list:Lists all API access methods' \
'edit:Edit a custom API access method' \
'remove:Remove a custom API access method' \
'enable:Enable an API access method' \
'disable:Disable an API access method' \
'use:Try to use a specific API access method (If the API is unreachable, reverts back to the previous access method)' \
'test:Try to reach the Mullvad API using a specific access method' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad api-access commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access_commands] )) ||
_mullvad__help__api-access_commands() {
    local commands; commands=(
'get:Display the current API access method' \
'add:Add a custom API access method' \
'list:Lists all API access methods' \
'edit:Edit a custom API access method' \
'remove:Remove a custom API access method' \
'enable:Enable an API access method' \
'disable:Disable an API access method' \
'use:Try to use a specific API access method (If the API is unreachable, reverts back to the previous access method)' \
'test:Try to reach the Mullvad API using a specific access method' \
    )
    _describe -t commands 'mullvad help api-access commands' commands "$@"
}
(( $+functions[_mullvad__auto-connect_commands] )) ||
_mullvad__auto-connect_commands() {
    local commands; commands=(
'get:Display the current auto-connect setting' \
'set:Change auto-connect setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad auto-connect commands' commands "$@"
}
(( $+functions[_mullvad__help__auto-connect_commands] )) ||
_mullvad__help__auto-connect_commands() {
    local commands; commands=(
'get:Display the current auto-connect setting' \
'set:Change auto-connect setting' \
    )
    _describe -t commands 'mullvad help auto-connect commands' commands "$@"
}
(( $+functions[_mullvad__beta-program_commands] )) ||
_mullvad__beta-program_commands() {
    local commands; commands=(
'get:Get beta notifications setting' \
'set:Change beta notifications setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad beta-program commands' commands "$@"
}
(( $+functions[_mullvad__help__beta-program_commands] )) ||
_mullvad__help__beta-program_commands() {
    local commands; commands=(
'get:Get beta notifications setting' \
'set:Change beta notifications setting' \
    )
    _describe -t commands 'mullvad help beta-program commands' commands "$@"
}
(( $+functions[_mullvad__debug__block-connection_commands] )) ||
_mullvad__debug__block-connection_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug block-connection commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__block-connection_commands] )) ||
_mullvad__debug__help__block-connection_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug help block-connection commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__block-connection_commands] )) ||
_mullvad__help__debug__block-connection_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help debug block-connection commands' commands "$@"
}
(( $+functions[_mullvad__help__split-tunnel__clear_commands] )) ||
_mullvad__help__split-tunnel__clear_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help split-tunnel clear commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__clear_commands] )) ||
_mullvad__split-tunnel__clear_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel clear commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__help__clear_commands] )) ||
_mullvad__split-tunnel__help__clear_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel help clear commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__clear-all_commands] )) ||
_mullvad__help__relay__override__clear-all_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay override clear-all commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__clear-all_commands] )) ||
_mullvad__relay__help__override__clear-all_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help override clear-all commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__clear-all_commands] )) ||
_mullvad__relay__override__clear-all_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override clear-all commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__clear-all_commands] )) ||
_mullvad__relay__override__help__clear-all_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override help clear-all commands' commands "$@"
}
(( $+functions[_mullvad__connect_commands] )) ||
_mullvad__connect_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad connect commands' commands "$@"
}
(( $+functions[_mullvad__help__connect_commands] )) ||
_mullvad__help__connect_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help connect commands' commands "$@"
}
(( $+functions[_mullvad__account__create_commands] )) ||
_mullvad__account__create_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account create commands' commands "$@"
}
(( $+functions[_mullvad__account__help__create_commands] )) ||
_mullvad__account__help__create_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help create commands' commands "$@"
}
(( $+functions[_mullvad__help__account__create_commands] )) ||
_mullvad__help__account__create_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help account create commands' commands "$@"
}
(( $+functions[_mullvad__dns__help__set__custom_commands] )) ||
_mullvad__dns__help__set__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns help set custom commands' commands "$@"
}
(( $+functions[_mullvad__dns__set__custom_commands] )) ||
_mullvad__dns__set__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns set custom commands' commands "$@"
}
(( $+functions[_mullvad__dns__set__help__custom_commands] )) ||
_mullvad__dns__set__help__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns set help custom commands' commands "$@"
}
(( $+functions[_mullvad__help__dns__set__custom_commands] )) ||
_mullvad__help__dns__set__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help dns set custom commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__custom_commands] )) ||
_mullvad__help__relay__set__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set custom commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__custom_commands] )) ||
_mullvad__relay__help__set__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set custom commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom_commands] )) ||
_mullvad__relay__set__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set custom commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__custom_commands] )) ||
_mullvad__relay__set__help__custom_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help custom commands' commands "$@"
}
(( $+functions[_mullvad__custom-list_commands] )) ||
_mullvad__custom-list_commands() {
    local commands; commands=(
'new:Create a new custom list' \
'list:Show all custom lists or retrieve a specific custom list' \
'edit:Edit a custom list' \
'delete:Delete a custom list' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad custom-list commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list_commands] )) ||
_mullvad__help__custom-list_commands() {
    local commands; commands=(
'new:Create a new custom list' \
'list:Show all custom lists or retrieve a specific custom list' \
'edit:Edit a custom list' \
'delete:Delete a custom list' \
    )
    _describe -t commands 'mullvad help custom-list commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__custom-list_commands] )) ||
_mullvad__help__relay__set__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set custom-list commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__entry__custom-list_commands] )) ||
_mullvad__help__relay__set__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set entry custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__custom-list_commands] )) ||
_mullvad__relay__help__set__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__entry__custom-list_commands] )) ||
_mullvad__relay__help__set__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set entry custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom-list_commands] )) ||
_mullvad__relay__set__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__entry__custom-list_commands] )) ||
_mullvad__relay__set__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set entry custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__entry__help__custom-list_commands] )) ||
_mullvad__relay__set__entry__help__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set entry help custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__custom-list_commands] )) ||
_mullvad__relay__set__help__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__entry__custom-list_commands] )) ||
_mullvad__relay__set__help__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help entry custom-list commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__daita_commands] )) ||
_mullvad__help__tunnel__set__daita_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set daita commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__daita_commands] )) ||
_mullvad__tunnel__help__set__daita_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set daita commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__daita_commands] )) ||
_mullvad__tunnel__set__daita_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set daita commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__daita_commands] )) ||
_mullvad__tunnel__set__help__daita_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help daita commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__daita-direct-only_commands] )) ||
_mullvad__help__tunnel__set__daita-direct-only_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set daita-direct-only commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__daita-direct-only_commands] )) ||
_mullvad__tunnel__help__set__daita-direct-only_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set daita-direct-only commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__daita-direct-only_commands] )) ||
_mullvad__tunnel__set__daita-direct-only_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set daita-direct-only commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__daita-direct-only_commands] )) ||
_mullvad__tunnel__set__help__daita-direct-only_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help daita-direct-only commands' commands "$@"
}
(( $+functions[_mullvad__debug_commands] )) ||
_mullvad__debug_commands() {
    local commands; commands=(
'block-connection:Block all internet connection by setting an invalid relay constraint' \
'relay:Relay' \
'rollout:Handy commands for interacting with the app release rollout system' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad debug commands' commands "$@"
}
(( $+functions[_mullvad__help__debug_commands] )) ||
_mullvad__help__debug_commands() {
    local commands; commands=(
'block-connection:Block all internet connection by setting an invalid relay constraint' \
'relay:Relay' \
'rollout:Handy commands for interacting with the app release rollout system' \
    )
    _describe -t commands 'mullvad help debug commands' commands "$@"
}
(( $+functions[_mullvad__dns__help__set__default_commands] )) ||
_mullvad__dns__help__set__default_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns help set default commands' commands "$@"
}
(( $+functions[_mullvad__dns__set__default_commands] )) ||
_mullvad__dns__set__default_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns set default commands' commands "$@"
}
(( $+functions[_mullvad__dns__set__help__default_commands] )) ||
_mullvad__dns__set__help__default_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns set help default commands' commands "$@"
}
(( $+functions[_mullvad__help__dns__set__default_commands] )) ||
_mullvad__help__dns__set__default_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help dns set default commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__delete_commands] )) ||
_mullvad__custom-list__delete_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list delete commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__delete_commands] )) ||
_mullvad__custom-list__help__delete_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list help delete commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list__delete_commands] )) ||
_mullvad__help__custom-list__delete_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help custom-list delete commands' commands "$@"
}
(( $+functions[_mullvad__help__split-tunnel__delete_commands] )) ||
_mullvad__help__split-tunnel__delete_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help split-tunnel delete commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__delete_commands] )) ||
_mullvad__split-tunnel__delete_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel delete commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__help__delete_commands] )) ||
_mullvad__split-tunnel__help__delete_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel help delete commands' commands "$@"
}
(( $+functions[_mullvad__api-access__disable_commands] )) ||
_mullvad__api-access__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access disable commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__disable_commands] )) ||
_mullvad__api-access__help__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help disable commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__relay__disable_commands] )) ||
_mullvad__debug__help__relay__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug help relay disable commands' commands "$@"
}
(( $+functions[_mullvad__debug__relay__disable_commands] )) ||
_mullvad__debug__relay__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug relay disable commands' commands "$@"
}
(( $+functions[_mullvad__debug__relay__help__disable_commands] )) ||
_mullvad__debug__relay__help__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug relay help disable commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__disable_commands] )) ||
_mullvad__help__api-access__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access disable commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__relay__disable_commands] )) ||
_mullvad__help__debug__relay__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help debug relay disable commands' commands "$@"
}
(( $+functions[_mullvad__disconnect_commands] )) ||
_mullvad__disconnect_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad disconnect commands' commands "$@"
}
(( $+functions[_mullvad__help__disconnect_commands] )) ||
_mullvad__help__disconnect_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help disconnect commands' commands "$@"
}
(( $+functions[_mullvad__dns_commands] )) ||
_mullvad__dns_commands() {
    local commands; commands=(
'get:Display the current DNS settings' \
'set:Set DNS servers to use' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad dns commands' commands "$@"
}
(( $+functions[_mullvad__help__dns_commands] )) ||
_mullvad__help__dns_commands() {
    local commands; commands=(
'get:Display the current DNS settings' \
'set:Set DNS servers to use' \
    )
    _describe -t commands 'mullvad help dns commands' commands "$@"
}
(( $+functions[_mullvad__api-access__edit_commands] )) ||
_mullvad__api-access__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access edit commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__edit_commands] )) ||
_mullvad__api-access__help__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help edit commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit_commands] )) ||
_mullvad__custom-list__edit_commands() {
    local commands; commands=(
'add:Add a location to some custom list' \
'remove:Remove a location from some custom list' \
'rename:Rename a custom list' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad custom-list edit commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__edit_commands] )) ||
_mullvad__custom-list__help__edit_commands() {
    local commands; commands=(
'add:Add a location to some custom list' \
'remove:Remove a location from some custom list' \
'rename:Rename a custom list' \
    )
    _describe -t commands 'mullvad custom-list help edit commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__edit_commands] )) ||
_mullvad__help__api-access__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access edit commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list__edit_commands] )) ||
_mullvad__help__custom-list__edit_commands() {
    local commands; commands=(
'add:Add a location to some custom list' \
'remove:Remove a location from some custom list' \
'rename:Rename a custom list' \
    )
    _describe -t commands 'mullvad help custom-list edit commands' commands "$@"
}
(( $+functions[_mullvad__api-access__enable_commands] )) ||
_mullvad__api-access__enable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access enable commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__enable_commands] )) ||
_mullvad__api-access__help__enable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help enable commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__relay__enable_commands] )) ||
_mullvad__debug__help__relay__enable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug help relay enable commands' commands "$@"
}
(( $+functions[_mullvad__debug__relay__enable_commands] )) ||
_mullvad__debug__relay__enable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug relay enable commands' commands "$@"
}
(( $+functions[_mullvad__debug__relay__help__enable_commands] )) ||
_mullvad__debug__relay__help__enable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug relay help enable commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__enable_commands] )) ||
_mullvad__help__api-access__enable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access enable commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__relay__enable_commands] )) ||
_mullvad__help__debug__relay__enable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help debug relay enable commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__entry_commands] )) ||
_mullvad__help__relay__set__entry_commands() {
    local commands; commands=(
'location:Location of entry relay. This can be '\''any'\'' or any location that is valid with '\''set location'\'', such as '\''se got'\''' \
'custom-list:Name of custom list to use to pick entry endpoint' \
    )
    _describe -t commands 'mullvad help relay set entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__entry_commands] )) ||
_mullvad__relay__help__set__entry_commands() {
    local commands; commands=(
'location:Location of entry relay. This can be '\''any'\'' or any location that is valid with '\''set location'\'', such as '\''se got'\''' \
'custom-list:Name of custom list to use to pick entry endpoint' \
    )
    _describe -t commands 'mullvad relay help set entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__entry_commands] )) ||
_mullvad__relay__set__entry_commands() {
    local commands; commands=(
'location:Location of entry relay. This can be '\''any'\'' or any location that is valid with '\''set location'\'', such as '\''se got'\''' \
'custom-list:Name of custom list to use to pick entry endpoint' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__entry_commands] )) ||
_mullvad__relay__set__help__entry_commands() {
    local commands; commands=(
'location:Location of entry relay. This can be '\''any'\'' or any location that is valid with '\''set location'\'', such as '\''se got'\''' \
'custom-list:Name of custom list to use to pick entry endpoint' \
    )
    _describe -t commands 'mullvad relay set help entry commands' commands "$@"
}
(( $+functions[_mullvad__export-settings_commands] )) ||
_mullvad__export-settings_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad export-settings commands' commands "$@"
}
(( $+functions[_mullvad__help__export-settings_commands] )) ||
_mullvad__help__export-settings_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help export-settings commands' commands "$@"
}
(( $+functions[_mullvad__factory-reset_commands] )) ||
_mullvad__factory-reset_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad factory-reset commands' commands "$@"
}
(( $+functions[_mullvad__help__factory-reset_commands] )) ||
_mullvad__help__factory-reset_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help factory-reset commands' commands "$@"
}
(( $+functions[_mullvad__account__get_commands] )) ||
_mullvad__account__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account get commands' commands "$@"
}
(( $+functions[_mullvad__account__help__get_commands] )) ||
_mullvad__account__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help get commands' commands "$@"
}
(( $+functions[_mullvad__api-access__get_commands] )) ||
_mullvad__api-access__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access get commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__get_commands] )) ||
_mullvad__api-access__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help get commands' commands "$@"
}
(( $+functions[_mullvad__auto-connect__get_commands] )) ||
_mullvad__auto-connect__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad auto-connect get commands' commands "$@"
}
(( $+functions[_mullvad__auto-connect__help__get_commands] )) ||
_mullvad__auto-connect__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad auto-connect help get commands' commands "$@"
}
(( $+functions[_mullvad__beta-program__get_commands] )) ||
_mullvad__beta-program__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad beta-program get commands' commands "$@"
}
(( $+functions[_mullvad__beta-program__help__get_commands] )) ||
_mullvad__beta-program__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad beta-program help get commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__rollout__get_commands] )) ||
_mullvad__debug__help__rollout__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug help rollout get commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__get_commands] )) ||
_mullvad__debug__rollout__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug rollout get commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__help__get_commands] )) ||
_mullvad__debug__rollout__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug rollout help get commands' commands "$@"
}
(( $+functions[_mullvad__dns__get_commands] )) ||
_mullvad__dns__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns get commands' commands "$@"
}
(( $+functions[_mullvad__dns__help__get_commands] )) ||
_mullvad__dns__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns help get commands' commands "$@"
}
(( $+functions[_mullvad__help__account__get_commands] )) ||
_mullvad__help__account__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help account get commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__get_commands] )) ||
_mullvad__help__api-access__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access get commands' commands "$@"
}
(( $+functions[_mullvad__help__auto-connect__get_commands] )) ||
_mullvad__help__auto-connect__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help auto-connect get commands' commands "$@"
}
(( $+functions[_mullvad__help__beta-program__get_commands] )) ||
_mullvad__help__beta-program__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help beta-program get commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__rollout__get_commands] )) ||
_mullvad__help__debug__rollout__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help debug rollout get commands' commands "$@"
}
(( $+functions[_mullvad__help__dns__get_commands] )) ||
_mullvad__help__dns__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help dns get commands' commands "$@"
}
(( $+functions[_mullvad__help__lan__get_commands] )) ||
_mullvad__help__lan__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help lan get commands' commands "$@"
}
(( $+functions[_mullvad__help__lockdown-mode__get_commands] )) ||
_mullvad__help__lockdown-mode__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help lockdown-mode get commands' commands "$@"
}
(( $+functions[_mullvad__help__obfuscation__get_commands] )) ||
_mullvad__help__obfuscation__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help obfuscation get commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__get_commands] )) ||
_mullvad__help__relay__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay get commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__get_commands] )) ||
_mullvad__help__relay__override__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay override get commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__get_commands] )) ||
_mullvad__help__tunnel__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel get commands' commands "$@"
}
(( $+functions[_mullvad__lan__get_commands] )) ||
_mullvad__lan__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lan get commands' commands "$@"
}
(( $+functions[_mullvad__lan__help__get_commands] )) ||
_mullvad__lan__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lan help get commands' commands "$@"
}
(( $+functions[_mullvad__lockdown-mode__get_commands] )) ||
_mullvad__lockdown-mode__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lockdown-mode get commands' commands "$@"
}
(( $+functions[_mullvad__lockdown-mode__help__get_commands] )) ||
_mullvad__lockdown-mode__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lockdown-mode help get commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__get_commands] )) ||
_mullvad__obfuscation__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation get commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__help__get_commands] )) ||
_mullvad__obfuscation__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation help get commands' commands "$@"
}
(( $+functions[_mullvad__relay__get_commands] )) ||
_mullvad__relay__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay get commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__get_commands] )) ||
_mullvad__relay__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help get commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__get_commands] )) ||
_mullvad__relay__help__override__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help override get commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__get_commands] )) ||
_mullvad__relay__override__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override get commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__get_commands] )) ||
_mullvad__relay__override__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override help get commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__get_commands] )) ||
_mullvad__tunnel__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel get commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__get_commands] )) ||
_mullvad__tunnel__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help get commands' commands "$@"
}
(( $+functions[_mullvad__account__help_commands] )) ||
_mullvad__account__help_commands() {
    local commands; commands=(
'create:Create and log in on a new account' \
'login:Log in on an account' \
'logout:Log out of the current account' \
'get:Display information about the current account' \
'list-devices:List devices associated with an account' \
'revoke-device:Revoke a device associated with an account' \
'redeem:Redeem a voucher' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad account help commands' commands "$@"
}
(( $+functions[_mullvad__account__help__help_commands] )) ||
_mullvad__account__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help help commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__help_commands] )) ||
_mullvad__api-access__add__help_commands() {
    local commands; commands=(
'socks5:Configure a SOCKS5 proxy' \
'shadowsocks:Configure a custom Shadowsocks proxy to use as an API access method' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad api-access add help commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__help__help_commands] )) ||
_mullvad__api-access__add__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add help help commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__socks5__help_commands] )) ||
_mullvad__api-access__add__socks5__help_commands() {
    local commands; commands=(
'remote:Configure a remote SOCKS5 proxy' \
'local:Configure a local SOCKS5 proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad api-access add socks5 help commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__socks5__help__help_commands] )) ||
_mullvad__api-access__add__socks5__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add socks5 help help commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help_commands] )) ||
_mullvad__api-access__help_commands() {
    local commands; commands=(
'get:Display the current API access method' \
'add:Add a custom API access method' \
'list:Lists all API access methods' \
'edit:Edit a custom API access method' \
'remove:Remove a custom API access method' \
'enable:Enable an API access method' \
'disable:Disable an API access method' \
'use:Try to use a specific API access method (If the API is unreachable, reverts back to the previous access method)' \
'test:Try to reach the Mullvad API using a specific access method' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad api-access help commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__help_commands] )) ||
_mullvad__api-access__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help help commands' commands "$@"
}
(( $+functions[_mullvad__auto-connect__help_commands] )) ||
_mullvad__auto-connect__help_commands() {
    local commands; commands=(
'get:Display the current auto-connect setting' \
'set:Change auto-connect setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad auto-connect help commands' commands "$@"
}
(( $+functions[_mullvad__auto-connect__help__help_commands] )) ||
_mullvad__auto-connect__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad auto-connect help help commands' commands "$@"
}
(( $+functions[_mullvad__beta-program__help_commands] )) ||
_mullvad__beta-program__help_commands() {
    local commands; commands=(
'get:Get beta notifications setting' \
'set:Change beta notifications setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad beta-program help commands' commands "$@"
}
(( $+functions[_mullvad__beta-program__help__help_commands] )) ||
_mullvad__beta-program__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad beta-program help help commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__help_commands] )) ||
_mullvad__custom-list__edit__help_commands() {
    local commands; commands=(
'add:Add a location to some custom list' \
'remove:Remove a location from some custom list' \
'rename:Rename a custom list' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad custom-list edit help commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__help__help_commands] )) ||
_mullvad__custom-list__edit__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list edit help help commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help_commands] )) ||
_mullvad__custom-list__help_commands() {
    local commands; commands=(
'new:Create a new custom list' \
'list:Show all custom lists or retrieve a specific custom list' \
'edit:Edit a custom list' \
'delete:Delete a custom list' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad custom-list help commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__help_commands] )) ||
_mullvad__custom-list__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list help help commands' commands "$@"
}
(( $+functions[_mullvad__debug__help_commands] )) ||
_mullvad__debug__help_commands() {
    local commands; commands=(
'block-connection:Block all internet connection by setting an invalid relay constraint' \
'relay:Relay' \
'rollout:Handy commands for interacting with the app release rollout system' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad debug help commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__help_commands] )) ||
_mullvad__debug__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug help help commands' commands "$@"
}
(( $+functions[_mullvad__debug__relay__help_commands] )) ||
_mullvad__debug__relay__help_commands() {
    local commands; commands=(
'disable:Inactivate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad debug relay help commands' commands "$@"
}
(( $+functions[_mullvad__debug__relay__help__help_commands] )) ||
_mullvad__debug__relay__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug relay help help commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__help_commands] )) ||
_mullvad__debug__rollout__help_commands() {
    local commands; commands=(
'get:Print your rollout threshold' \
'reroll:Generate a new rollout threshold (overwrites the current threshold value)' \
'seed:Set your rollout threshold seed to a known value' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad debug rollout help commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__help__help_commands] )) ||
_mullvad__debug__rollout__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug rollout help help commands' commands "$@"
}
(( $+functions[_mullvad__dns__help_commands] )) ||
_mullvad__dns__help_commands() {
    local commands; commands=(
'get:Display the current DNS settings' \
'set:Set DNS servers to use' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad dns help commands' commands "$@"
}
(( $+functions[_mullvad__dns__help__help_commands] )) ||
_mullvad__dns__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns help help commands' commands "$@"
}
(( $+functions[_mullvad__dns__set__help_commands] )) ||
_mullvad__dns__set__help_commands() {
    local commands; commands=(
'default:Use a default DNS server, with or without content blocking' \
'custom:Set a list of custom DNS servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad dns set help commands' commands "$@"
}
(( $+functions[_mullvad__dns__set__help__help_commands] )) ||
_mullvad__dns__set__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad dns set help help commands' commands "$@"
}
(( $+functions[_mullvad__help_commands] )) ||
_mullvad__help_commands() {
    local commands; commands=(
'account:Control and display information about your Mullvad account' \
'auto-connect:Control the daemon auto-connect setting' \
'beta-program:Receive notifications about beta updates' \
'lockdown-mode:Control whether to block network access when disconnected from VPN' \
'debug:Debug commands used for internal testing of the app' \
'dns:Configure DNS servers to use when connected' \
'lan:Control the allow local network sharing setting' \
'connect:Connect to a VPN relay' \
'disconnect:Disconnect from the VPN' \
'reconnect:Reconnect to any matching VPN relay' \
'relay:Manage relay and tunnel constraints' \
'api-access:Manage Mullvad API access methods' \
'obfuscation:Manage use of obfuscation protocols for WireGuard. Can make WireGuard traffic look like something else on the network. Helps circumvent censorship and to establish a tunnel when on restricted networks' \
'split-tunnel:Manage split tunneling. To launch applications outside the tunnel, use the program '\''mullvad-exclude'\'' instead of this command' \
'status:Return the state of the VPN tunnel' \
'tunnel:Manage tunnel options' \
'version:Show information about the current Mullvad version and available versions' \
'shell-completions:Generate completion scripts for the specified shell' \
'factory-reset:Reset settings, caches, and logs' \
'reset-settings:Reset settings only, but remain logged in and keep logs and caches' \
'custom-list:Manage custom lists' \
'import-settings:Apply a JSON patch generated by '\''export-settings'\''' \
'export-settings:Export a JSON patch based on the current settings' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad help commands' commands "$@"
}
(( $+functions[_mullvad__help__help_commands] )) ||
_mullvad__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help help commands' commands "$@"
}
(( $+functions[_mullvad__lan__help_commands] )) ||
_mullvad__lan__help_commands() {
    local commands; commands=(
'get:Display the current local network sharing setting' \
'set:Change allow LAN setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad lan help commands' commands "$@"
}
(( $+functions[_mullvad__lan__help__help_commands] )) ||
_mullvad__lan__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lan help help commands' commands "$@"
}
(( $+functions[_mullvad__lockdown-mode__help_commands] )) ||
_mullvad__lockdown-mode__help_commands() {
    local commands; commands=(
'get:Display the current lockdown mode setting' \
'set:Change the lockdown mode setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad lockdown-mode help commands' commands "$@"
}
(( $+functions[_mullvad__lockdown-mode__help__help_commands] )) ||
_mullvad__lockdown-mode__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lockdown-mode help help commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__help_commands] )) ||
_mullvad__obfuscation__help_commands() {
    local commands; commands=(
'get:Get current obfuscation settings' \
'set:Set obfuscation settings' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad obfuscation help commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__help__help_commands] )) ||
_mullvad__obfuscation__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation help help commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__help_commands] )) ||
_mullvad__obfuscation__set__help_commands() {
    local commands; commands=(
'mode:Specify which obfuscation protocol to use, if any' \
'udp2tcp:Configure udp2tcp obfuscation' \
'shadowsocks:Configure Shadowsocks obfuscation' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad obfuscation set help commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__help__help_commands] )) ||
_mullvad__obfuscation__set__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation set help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__help_commands] )) ||
_mullvad__relay__help_commands() {
    local commands; commands=(
'get:Display the current relay constraints' \
'set:Set relay constraints, such as location and port' \
'list:List available relays' \
'update:Update the relay list' \
'override:Override options for individual relays/servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay help commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__help_commands] )) ||
_mullvad__relay__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help_commands] )) ||
_mullvad__relay__override__help_commands() {
    local commands; commands=(
'get:Show current custom fields for servers' \
'set:Set a custom field for a server' \
'unset:Unset a custom field for a server' \
'clear-all:Unset custom IPs for all servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay override help commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__help_commands] )) ||
_mullvad__relay__override__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__set__help_commands] )) ||
_mullvad__relay__override__set__help_commands() {
    local commands; commands=(
'ipv4:Override entry IPv4 address for a given relay' \
'ipv6:Override entry IPv6 address for a given relay' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay override set help commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__set__help__help_commands] )) ||
_mullvad__relay__override__set__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override set help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__unset__help_commands] )) ||
_mullvad__relay__override__unset__help_commands() {
    local commands; commands=(
'ipv4:Remove overridden entry IPv4 address for the given server' \
'ipv6:Remove overridden entry IPv6 address for the given server' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay override unset help commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__unset__help__help_commands] )) ||
_mullvad__relay__override__unset__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override unset help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__entry__help_commands] )) ||
_mullvad__relay__set__entry__help_commands() {
    local commands; commands=(
'location:Location of entry relay. This can be '\''any'\'' or any location that is valid with '\''set location'\'', such as '\''se got'\''' \
'custom-list:Name of custom list to use to pick entry endpoint' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set entry help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__entry__help__help_commands] )) ||
_mullvad__relay__set__entry__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set entry help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help_commands] )) ||
_mullvad__relay__set__help_commands() {
    local commands; commands=(
'location:Select a relay using country, city or hostname. The '\''mullvad relay list'\'' command shows the available relays and their geographical location' \
'custom-list:Set custom list to select relays from. Use the '\''custom-lists list'\'' command to show available alternatives' \
'provider:Set hosting provider(s) to select relays from. The '\''list'\'' command shows the available relays and their providers' \
'ownership:Filter relays based on ownership. The '\''list'\'' command shows the available relays and whether they'\''re rented' \
'port:Set tunnel port constraint' \
'ip-version:Set tunnel IP version constraint' \
'multihop:Enable or disable multihop' \
'entry:Set entry location constraints for multihop' \
'custom:Set a custom WireGuard relay' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__help_commands] )) ||
_mullvad__relay__set__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help help commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__help_commands] )) ||
_mullvad__split-tunnel__help_commands() {
    local commands; commands=(
'list:List all processes that are excluded from the tunnel' \
'add:Add a PID to exclude from the tunnel' \
'delete:Stop excluding a PID from the tunnel' \
'clear:Stop excluding all processes from the tunnel' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad split-tunnel help commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__help__help_commands] )) ||
_mullvad__split-tunnel__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel help help commands' commands "$@"
}
(( $+functions[_mullvad__status__help_commands] )) ||
_mullvad__status__help_commands() {
    local commands; commands=(
'listen:Listen for tunnel state changes' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad status help commands' commands "$@"
}
(( $+functions[_mullvad__status__help__help_commands] )) ||
_mullvad__status__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad status help help commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help_commands] )) ||
_mullvad__tunnel__help_commands() {
    local commands; commands=(
'get:Show current tunnel options' \
'set:Set tunnel options' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad tunnel help commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__help_commands] )) ||
_mullvad__tunnel__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help help commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help_commands] )) ||
_mullvad__tunnel__set__help_commands() {
    local commands; commands=(
'mtu:Configure the tunnel MTU, or '\''any'\''' \
'quantum-resistant:Configure quantum-resistant key exchange' \
'daita:Configure whether to enable DAITA' \
'daita-direct-only:Configure whether to enable DAITA direct only' \
'allowed-ips:Specify custom allowed IPs for WireGuard tunnels. Use comma-separated values of IPs and IP ranges in CIDR notation. A empty string resets to the default value, where all traffic is allowed, i.e. (0.0.0.0/0,\:\:/0). For CIDR ranges, host bits must be zero (e.g., "10.0.0.0/24" is valid, "10.0.0.1/24" is not)' \
'rotation-interval:The key rotation interval. Number of hours, or '\''any'\''' \
'rotate-key:Replace the WireGuard key with a new one' \
'ipv6:Enable or disable IPv6 in the tunnel' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad tunnel set help commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__help_commands] )) ||
_mullvad__tunnel__set__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help help commands' commands "$@"
}
(( $+functions[_mullvad__help__import-settings_commands] )) ||
_mullvad__help__import-settings_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help import-settings commands' commands "$@"
}
(( $+functions[_mullvad__import-settings_commands] )) ||
_mullvad__import-settings_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad import-settings commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__ip-version_commands] )) ||
_mullvad__help__relay__set__ip-version_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set ip-version commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__ip-version_commands] )) ||
_mullvad__relay__help__set__ip-version_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set ip-version commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__ip-version_commands] )) ||
_mullvad__relay__set__help__ip-version_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help ip-version commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__ip-version_commands] )) ||
_mullvad__relay__set__ip-version_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set ip-version commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__set__ipv4_commands] )) ||
_mullvad__help__relay__override__set__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay override set ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__unset__ipv4_commands] )) ||
_mullvad__help__relay__override__unset__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay override unset ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__set__ipv4_commands] )) ||
_mullvad__relay__help__override__set__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help override set ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__unset__ipv4_commands] )) ||
_mullvad__relay__help__override__unset__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help override unset ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__set__ipv4_commands] )) ||
_mullvad__relay__override__help__set__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override help set ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__unset__ipv4_commands] )) ||
_mullvad__relay__override__help__unset__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override help unset ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__set__help__ipv4_commands] )) ||
_mullvad__relay__override__set__help__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override set help ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__set__ipv4_commands] )) ||
_mullvad__relay__override__set__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override set ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__unset__help__ipv4_commands] )) ||
_mullvad__relay__override__unset__help__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override unset help ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__unset__ipv4_commands] )) ||
_mullvad__relay__override__unset__ipv4_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override unset ipv4 commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__set__ipv6_commands] )) ||
_mullvad__help__relay__override__set__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay override set ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__unset__ipv6_commands] )) ||
_mullvad__help__relay__override__unset__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay override unset ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__ipv6_commands] )) ||
_mullvad__help__tunnel__set__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__set__ipv6_commands] )) ||
_mullvad__relay__help__override__set__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help override set ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__unset__ipv6_commands] )) ||
_mullvad__relay__help__override__unset__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help override unset ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__set__ipv6_commands] )) ||
_mullvad__relay__override__help__set__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override help set ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__unset__ipv6_commands] )) ||
_mullvad__relay__override__help__unset__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override help unset ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__set__help__ipv6_commands] )) ||
_mullvad__relay__override__set__help__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override set help ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__set__ipv6_commands] )) ||
_mullvad__relay__override__set__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override set ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__unset__help__ipv6_commands] )) ||
_mullvad__relay__override__unset__help__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override unset help ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__unset__ipv6_commands] )) ||
_mullvad__relay__override__unset__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay override unset ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__ipv6_commands] )) ||
_mullvad__tunnel__help__set__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__ipv6_commands] )) ||
_mullvad__tunnel__set__help__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__ipv6_commands] )) ||
_mullvad__tunnel__set__ipv6_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set ipv6 commands' commands "$@"
}
(( $+functions[_mullvad__help__lan_commands] )) ||
_mullvad__help__lan_commands() {
    local commands; commands=(
'get:Display the current local network sharing setting' \
'set:Change allow LAN setting' \
    )
    _describe -t commands 'mullvad help lan commands' commands "$@"
}
(( $+functions[_mullvad__lan_commands] )) ||
_mullvad__lan_commands() {
    local commands; commands=(
'get:Display the current local network sharing setting' \
'set:Change allow LAN setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad lan commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__list_commands] )) ||
_mullvad__api-access__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help list commands' commands "$@"
}
(( $+functions[_mullvad__api-access__list_commands] )) ||
_mullvad__api-access__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access list commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__list_commands] )) ||
_mullvad__custom-list__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list help list commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__list_commands] )) ||
_mullvad__custom-list__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list list commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__list_commands] )) ||
_mullvad__help__api-access__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access list commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list__list_commands] )) ||
_mullvad__help__custom-list__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help custom-list list commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__list_commands] )) ||
_mullvad__help__relay__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay list commands' commands "$@"
}
(( $+functions[_mullvad__help__split-tunnel__list_commands] )) ||
_mullvad__help__split-tunnel__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help split-tunnel list commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__list_commands] )) ||
_mullvad__relay__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help list commands' commands "$@"
}
(( $+functions[_mullvad__relay__list_commands] )) ||
_mullvad__relay__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay list commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__help__list_commands] )) ||
_mullvad__split-tunnel__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel help list commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel__list_commands] )) ||
_mullvad__split-tunnel__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad split-tunnel list commands' commands "$@"
}
(( $+functions[_mullvad__account__help__list-devices_commands] )) ||
_mullvad__account__help__list-devices_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help list-devices commands' commands "$@"
}
(( $+functions[_mullvad__account__list-devices_commands] )) ||
_mullvad__account__list-devices_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account list-devices commands' commands "$@"
}
(( $+functions[_mullvad__help__account__list-devices_commands] )) ||
_mullvad__help__account__list-devices_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help account list-devices commands' commands "$@"
}
(( $+functions[_mullvad__help__status__listen_commands] )) ||
_mullvad__help__status__listen_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help status listen commands' commands "$@"
}
(( $+functions[_mullvad__status__help__listen_commands] )) ||
_mullvad__status__help__listen_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad status help listen commands' commands "$@"
}
(( $+functions[_mullvad__status__listen_commands] )) ||
_mullvad__status__listen_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad status listen commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__help__socks5__local_commands] )) ||
_mullvad__api-access__add__help__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add help socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__socks5__help__local_commands] )) ||
_mullvad__api-access__add__socks5__help__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add socks5 help local commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__socks5__local_commands] )) ||
_mullvad__api-access__add__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__add__socks5__local_commands] )) ||
_mullvad__api-access__help__add__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help add socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__add__socks5__local_commands] )) ||
_mullvad__help__api-access__add__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access add socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__entry__location_commands] )) ||
_mullvad__help__relay__set__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set entry location commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__location_commands] )) ||
_mullvad__help__relay__set__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set location commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__entry__location_commands] )) ||
_mullvad__relay__help__set__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set entry location commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__location_commands] )) ||
_mullvad__relay__help__set__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__entry__help__location_commands] )) ||
_mullvad__relay__set__entry__help__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set entry help location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__entry__location_commands] )) ||
_mullvad__relay__set__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set entry location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__entry__location_commands] )) ||
_mullvad__relay__set__help__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help entry location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__location_commands] )) ||
_mullvad__relay__set__help__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__location_commands] )) ||
_mullvad__relay__set__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set location commands' commands "$@"
}
(( $+functions[_mullvad__help__lockdown-mode_commands] )) ||
_mullvad__help__lockdown-mode_commands() {
    local commands; commands=(
'get:Display the current lockdown mode setting' \
'set:Change the lockdown mode setting' \
    )
    _describe -t commands 'mullvad help lockdown-mode commands' commands "$@"
}
(( $+functions[_mullvad__lockdown-mode_commands] )) ||
_mullvad__lockdown-mode_commands() {
    local commands; commands=(
'get:Display the current lockdown mode setting' \
'set:Change the lockdown mode setting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad lockdown-mode commands' commands "$@"
}
(( $+functions[_mullvad__account__help__login_commands] )) ||
_mullvad__account__help__login_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help login commands' commands "$@"
}
(( $+functions[_mullvad__account__login_commands] )) ||
_mullvad__account__login_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account login commands' commands "$@"
}
(( $+functions[_mullvad__help__account__login_commands] )) ||
_mullvad__help__account__login_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help account login commands' commands "$@"
}
(( $+functions[_mullvad__account__help__logout_commands] )) ||
_mullvad__account__help__logout_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help logout commands' commands "$@"
}
(( $+functions[_mullvad__account__logout_commands] )) ||
_mullvad__account__logout_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account logout commands' commands "$@"
}
(( $+functions[_mullvad__help__account__logout_commands] )) ||
_mullvad__help__account__logout_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help account logout commands' commands "$@"
}
(( $+functions[_mullvad__help__obfuscation__set__mode_commands] )) ||
_mullvad__help__obfuscation__set__mode_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help obfuscation set mode commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__help__set__mode_commands] )) ||
_mullvad__obfuscation__help__set__mode_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation help set mode commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__help__mode_commands] )) ||
_mullvad__obfuscation__set__help__mode_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation set help mode commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__mode_commands] )) ||
_mullvad__obfuscation__set__mode_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation set mode commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__mtu_commands] )) ||
_mullvad__help__tunnel__set__mtu_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set mtu commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__mtu_commands] )) ||
_mullvad__tunnel__help__set__mtu_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set mtu commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__mtu_commands] )) ||
_mullvad__tunnel__set__help__mtu_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help mtu commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__mtu_commands] )) ||
_mullvad__tunnel__set__mtu_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set mtu commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__multihop_commands] )) ||
_mullvad__help__relay__set__multihop_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set multihop commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__multihop_commands] )) ||
_mullvad__relay__help__set__multihop_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set multihop commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__multihop_commands] )) ||
_mullvad__relay__set__help__multihop_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help multihop commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__multihop_commands] )) ||
_mullvad__relay__set__multihop_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set multihop commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__new_commands] )) ||
_mullvad__custom-list__help__new_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list help new commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__new_commands] )) ||
_mullvad__custom-list__new_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list new commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list__new_commands] )) ||
_mullvad__help__custom-list__new_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help custom-list new commands' commands "$@"
}
(( $+functions[_mullvad__help__obfuscation_commands] )) ||
_mullvad__help__obfuscation_commands() {
    local commands; commands=(
'get:Get current obfuscation settings' \
'set:Set obfuscation settings' \
    )
    _describe -t commands 'mullvad help obfuscation commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation_commands] )) ||
_mullvad__obfuscation_commands() {
    local commands; commands=(
'get:Get current obfuscation settings' \
'set:Set obfuscation settings' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad obfuscation commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override_commands] )) ||
_mullvad__help__relay__override_commands() {
    local commands; commands=(
'get:Show current custom fields for servers' \
'set:Set a custom field for a server' \
'unset:Unset a custom field for a server' \
'clear-all:Unset custom IPs for all servers' \
    )
    _describe -t commands 'mullvad help relay override commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override_commands] )) ||
_mullvad__relay__help__override_commands() {
    local commands; commands=(
'get:Show current custom fields for servers' \
'set:Set a custom field for a server' \
'unset:Unset a custom field for a server' \
'clear-all:Unset custom IPs for all servers' \
    )
    _describe -t commands 'mullvad relay help override commands' commands "$@"
}
(( $+functions[_mullvad__relay__override_commands] )) ||
_mullvad__relay__override_commands() {
    local commands; commands=(
'get:Show current custom fields for servers' \
'set:Set a custom field for a server' \
'unset:Unset a custom field for a server' \
'clear-all:Unset custom IPs for all servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay override commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__ownership_commands] )) ||
_mullvad__help__relay__set__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set ownership commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__ownership_commands] )) ||
_mullvad__relay__help__set__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set ownership commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__ownership_commands] )) ||
_mullvad__relay__set__help__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help ownership commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__ownership_commands] )) ||
_mullvad__relay__set__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set ownership commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__port_commands] )) ||
_mullvad__help__relay__set__port_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set port commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__port_commands] )) ||
_mullvad__relay__help__set__port_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set port commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__port_commands] )) ||
_mullvad__relay__set__help__port_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help port commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__port_commands] )) ||
_mullvad__relay__set__port_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set port commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__provider_commands] )) ||
_mullvad__help__relay__set__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set provider commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__provider_commands] )) ||
_mullvad__relay__help__set__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set provider commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__provider_commands] )) ||
_mullvad__relay__set__help__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help provider commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__provider_commands] )) ||
_mullvad__relay__set__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set provider commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__quantum-resistant_commands] )) ||
_mullvad__help__tunnel__set__quantum-resistant_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set quantum-resistant commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__quantum-resistant_commands] )) ||
_mullvad__tunnel__help__set__quantum-resistant_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set quantum-resistant commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__quantum-resistant_commands] )) ||
_mullvad__tunnel__set__help__quantum-resistant_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help quantum-resistant commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__quantum-resistant_commands] )) ||
_mullvad__tunnel__set__quantum-resistant_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set quantum-resistant commands' commands "$@"
}
(( $+functions[_mullvad__help__reconnect_commands] )) ||
_mullvad__help__reconnect_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help reconnect commands' commands "$@"
}
(( $+functions[_mullvad__reconnect_commands] )) ||
_mullvad__reconnect_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad reconnect commands' commands "$@"
}
(( $+functions[_mullvad__account__help__redeem_commands] )) ||
_mullvad__account__help__redeem_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help redeem commands' commands "$@"
}
(( $+functions[_mullvad__account__redeem_commands] )) ||
_mullvad__account__redeem_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account redeem commands' commands "$@"
}
(( $+functions[_mullvad__help__account__redeem_commands] )) ||
_mullvad__help__account__redeem_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help account redeem commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__relay_commands] )) ||
_mullvad__debug__help__relay_commands() {
    local commands; commands=(
'disable:Inactivate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
    )
    _describe -t commands 'mullvad debug help relay commands' commands "$@"
}
(( $+functions[_mullvad__debug__relay_commands] )) ||
_mullvad__debug__relay_commands() {
    local commands; commands=(
'disable:Inactivate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad debug relay commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__relay_commands] )) ||
_mullvad__help__debug__relay_commands() {
    local commands; commands=(
'disable:Inactivate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country' \
    )
    _describe -t commands 'mullvad help debug relay commands' commands "$@"
}
(( $+functions[_mullvad__help__relay_commands] )) ||
_mullvad__help__relay_commands() {
    local commands; commands=(
'get:Display the current relay constraints' \
'set:Set relay constraints, such as location and port' \
'list:List available relays' \
'update:Update the relay list' \
'override:Override options for individual relays/servers' \
    )
    _describe -t commands 'mullvad help relay commands' commands "$@"
}
(( $+functions[_mullvad__relay_commands] )) ||
_mullvad__relay_commands() {
    local commands; commands=(
'get:Display the current relay constraints' \
'set:Set relay constraints, such as location and port' \
'list:List available relays' \
'update:Update the relay list' \
'override:Override options for individual relays/servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__help__socks5__remote_commands] )) ||
_mullvad__api-access__add__help__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add help socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__socks5__help__remote_commands] )) ||
_mullvad__api-access__add__socks5__help__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add socks5 help remote commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__socks5__remote_commands] )) ||
_mullvad__api-access__add__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__add__socks5__remote_commands] )) ||
_mullvad__api-access__help__add__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help add socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__add__socks5__remote_commands] )) ||
_mullvad__help__api-access__add__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access add socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__remove_commands] )) ||
_mullvad__api-access__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help remove commands' commands "$@"
}
(( $+functions[_mullvad__api-access__remove_commands] )) ||
_mullvad__api-access__remove_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access remove commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__help__remove_commands] )) ||
_mullvad__custom-list__edit__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list edit help remove commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__remove_commands] )) ||
_mullvad__custom-list__edit__remove_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list edit remove commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__edit__remove_commands] )) ||
_mullvad__custom-list__help__edit__remove_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list help edit remove commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__remove_commands] )) ||
_mullvad__help__api-access__remove_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access remove commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list__edit__remove_commands] )) ||
_mullvad__help__custom-list__edit__remove_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help custom-list edit remove commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__help__rename_commands] )) ||
_mullvad__custom-list__edit__help__rename_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list edit help rename commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__edit__rename_commands] )) ||
_mullvad__custom-list__edit__rename_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list edit rename commands' commands "$@"
}
(( $+functions[_mullvad__custom-list__help__edit__rename_commands] )) ||
_mullvad__custom-list__help__edit__rename_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad custom-list help edit rename commands' commands "$@"
}
(( $+functions[_mullvad__help__custom-list__edit__rename_commands] )) ||
_mullvad__help__custom-list__edit__rename_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help custom-list edit rename commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__rollout__reroll_commands] )) ||
_mullvad__debug__help__rollout__reroll_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug help rollout reroll commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__help__reroll_commands] )) ||
_mullvad__debug__rollout__help__reroll_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug rollout help reroll commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__reroll_commands] )) ||
_mullvad__debug__rollout__reroll_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug rollout reroll commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__rollout__reroll_commands] )) ||
_mullvad__help__debug__rollout__reroll_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help debug rollout reroll commands' commands "$@"
}
(( $+functions[_mullvad__help__reset-settings_commands] )) ||
_mullvad__help__reset-settings_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help reset-settings commands' commands "$@"
}
(( $+functions[_mullvad__reset-settings_commands] )) ||
_mullvad__reset-settings_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad reset-settings commands' commands "$@"
}
(( $+functions[_mullvad__account__help__revoke-device_commands] )) ||
_mullvad__account__help__revoke-device_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account help revoke-device commands' commands "$@"
}
(( $+functions[_mullvad__account__revoke-device_commands] )) ||
_mullvad__account__revoke-device_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad account revoke-device commands' commands "$@"
}
(( $+functions[_mullvad__help__account__revoke-device_commands] )) ||
_mullvad__help__account__revoke-device_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help account revoke-device commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__rollout_commands] )) ||
_mullvad__debug__help__rollout_commands() {
    local commands; commands=(
'get:Print your rollout threshold' \
'reroll:Generate a new rollout threshold (overwrites the current threshold value)' \
'seed:Set your rollout threshold seed to a known value' \
    )
    _describe -t commands 'mullvad debug help rollout commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout_commands] )) ||
_mullvad__debug__rollout_commands() {
    local commands; commands=(
'get:Print your rollout threshold' \
'reroll:Generate a new rollout threshold (overwrites the current threshold value)' \
'seed:Set your rollout threshold seed to a known value' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad debug rollout commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__rollout_commands] )) ||
_mullvad__help__debug__rollout_commands() {
    local commands; commands=(
'get:Print your rollout threshold' \
'reroll:Generate a new rollout threshold (overwrites the current threshold value)' \
'seed:Set your rollout threshold seed to a known value' \
    )
    _describe -t commands 'mullvad help debug rollout commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__rotate-key_commands] )) ||
_mullvad__help__tunnel__set__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__rotate-key_commands] )) ||
_mullvad__tunnel__help__set__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__rotate-key_commands] )) ||
_mullvad__tunnel__set__help__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__rotate-key_commands] )) ||
_mullvad__tunnel__set__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__rotation-interval_commands] )) ||
_mullvad__help__tunnel__set__rotation-interval_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set rotation-interval commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__rotation-interval_commands] )) ||
_mullvad__tunnel__help__set__rotation-interval_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set rotation-interval commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__rotation-interval_commands] )) ||
_mullvad__tunnel__set__help__rotation-interval_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help rotation-interval commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__rotation-interval_commands] )) ||
_mullvad__tunnel__set__rotation-interval_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set rotation-interval commands' commands "$@"
}
(( $+functions[_mullvad__debug__help__rollout__seed_commands] )) ||
_mullvad__debug__help__rollout__seed_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug help rollout seed commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__help__seed_commands] )) ||
_mullvad__debug__rollout__help__seed_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug rollout help seed commands' commands "$@"
}
(( $+functions[_mullvad__debug__rollout__seed_commands] )) ||
_mullvad__debug__rollout__seed_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad debug rollout seed commands' commands "$@"
}
(( $+functions[_mullvad__help__debug__rollout__seed_commands] )) ||
_mullvad__help__debug__rollout__seed_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help debug rollout seed commands' commands "$@"
}
(( $+functions[_mullvad__auto-connect__help__set_commands] )) ||
_mullvad__auto-connect__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad auto-connect help set commands' commands "$@"
}
(( $+functions[_mullvad__auto-connect__set_commands] )) ||
_mullvad__auto-connect__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad auto-connect set commands' commands "$@"
}
(( $+functions[_mullvad__beta-program__help__set_commands] )) ||
_mullvad__beta-program__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad beta-program help set commands' commands "$@"
}
(( $+functions[_mullvad__beta-program__set_commands] )) ||
_mullvad__beta-program__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad beta-program set commands' commands "$@"
}
(( $+functions[_mullvad__dns__help__set_commands] )) ||
_mullvad__dns__help__set_commands() {
    local commands; commands=(
'default:Use a default DNS server, with or without content blocking' \
'custom:Set a list of custom DNS servers' \
    )
    _describe -t commands 'mullvad dns help set commands' commands "$@"
}
(( $+functions[_mullvad__dns__set_commands] )) ||
_mullvad__dns__set_commands() {
    local commands; commands=(
'default:Use a default DNS server, with or without content blocking' \
'custom:Set a list of custom DNS servers' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad dns set commands' commands "$@"
}
(( $+functions[_mullvad__help__auto-connect__set_commands] )) ||
_mullvad__help__auto-connect__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help auto-connect set commands' commands "$@"
}
(( $+functions[_mullvad__help__beta-program__set_commands] )) ||
_mullvad__help__beta-program__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help beta-program set commands' commands "$@"
}
(( $+functions[_mullvad__help__dns__set_commands] )) ||
_mullvad__help__dns__set_commands() {
    local commands; commands=(
'default:Use a default DNS server, with or without content blocking' \
'custom:Set a list of custom DNS servers' \
    )
    _describe -t commands 'mullvad help dns set commands' commands "$@"
}
(( $+functions[_mullvad__help__lan__set_commands] )) ||
_mullvad__help__lan__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help lan set commands' commands "$@"
}
(( $+functions[_mullvad__help__lockdown-mode__set_commands] )) ||
_mullvad__help__lockdown-mode__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help lockdown-mode set commands' commands "$@"
}
(( $+functions[_mullvad__help__obfuscation__set_commands] )) ||
_mullvad__help__obfuscation__set_commands() {
    local commands; commands=(
'mode:Specify which obfuscation protocol to use, if any' \
'udp2tcp:Configure udp2tcp obfuscation' \
'shadowsocks:Configure Shadowsocks obfuscation' \
    )
    _describe -t commands 'mullvad help obfuscation set commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__set_commands] )) ||
_mullvad__help__relay__override__set_commands() {
    local commands; commands=(
'ipv4:Override entry IPv4 address for a given relay' \
'ipv6:Override entry IPv6 address for a given relay' \
    )
    _describe -t commands 'mullvad help relay override set commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set_commands] )) ||
_mullvad__help__relay__set_commands() {
    local commands; commands=(
'location:Select a relay using country, city or hostname. The '\''mullvad relay list'\'' command shows the available relays and their geographical location' \
'custom-list:Set custom list to select relays from. Use the '\''custom-lists list'\'' command to show available alternatives' \
'provider:Set hosting provider(s) to select relays from. The '\''list'\'' command shows the available relays and their providers' \
'ownership:Filter relays based on ownership. The '\''list'\'' command shows the available relays and whether they'\''re rented' \
'port:Set tunnel port constraint' \
'ip-version:Set tunnel IP version constraint' \
'multihop:Enable or disable multihop' \
'entry:Set entry location constraints for multihop' \
'custom:Set a custom WireGuard relay' \
    )
    _describe -t commands 'mullvad help relay set commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set_commands] )) ||
_mullvad__help__tunnel__set_commands() {
    local commands; commands=(
'mtu:Configure the tunnel MTU, or '\''any'\''' \
'quantum-resistant:Configure quantum-resistant key exchange' \
'daita:Configure whether to enable DAITA' \
'daita-direct-only:Configure whether to enable DAITA direct only' \
'allowed-ips:Specify custom allowed IPs for WireGuard tunnels. Use comma-separated values of IPs and IP ranges in CIDR notation. A empty string resets to the default value, where all traffic is allowed, i.e. (0.0.0.0/0,\:\:/0). For CIDR ranges, host bits must be zero (e.g., "10.0.0.0/24" is valid, "10.0.0.1/24" is not)' \
'rotation-interval:The key rotation interval. Number of hours, or '\''any'\''' \
'rotate-key:Replace the WireGuard key with a new one' \
'ipv6:Enable or disable IPv6 in the tunnel' \
    )
    _describe -t commands 'mullvad help tunnel set commands' commands "$@"
}
(( $+functions[_mullvad__lan__help__set_commands] )) ||
_mullvad__lan__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lan help set commands' commands "$@"
}
(( $+functions[_mullvad__lan__set_commands] )) ||
_mullvad__lan__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lan set commands' commands "$@"
}
(( $+functions[_mullvad__lockdown-mode__help__set_commands] )) ||
_mullvad__lockdown-mode__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lockdown-mode help set commands' commands "$@"
}
(( $+functions[_mullvad__lockdown-mode__set_commands] )) ||
_mullvad__lockdown-mode__set_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad lockdown-mode set commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__help__set_commands] )) ||
_mullvad__obfuscation__help__set_commands() {
    local commands; commands=(
'mode:Specify which obfuscation protocol to use, if any' \
'udp2tcp:Configure udp2tcp obfuscation' \
'shadowsocks:Configure Shadowsocks obfuscation' \
    )
    _describe -t commands 'mullvad obfuscation help set commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set_commands] )) ||
_mullvad__obfuscation__set_commands() {
    local commands; commands=(
'mode:Specify which obfuscation protocol to use, if any' \
'udp2tcp:Configure udp2tcp obfuscation' \
'shadowsocks:Configure Shadowsocks obfuscation' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad obfuscation set commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__set_commands] )) ||
_mullvad__relay__help__override__set_commands() {
    local commands; commands=(
'ipv4:Override entry IPv4 address for a given relay' \
'ipv6:Override entry IPv6 address for a given relay' \
    )
    _describe -t commands 'mullvad relay help override set commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set_commands] )) ||
_mullvad__relay__help__set_commands() {
    local commands; commands=(
'location:Select a relay using country, city or hostname. The '\''mullvad relay list'\'' command shows the available relays and their geographical location' \
'custom-list:Set custom list to select relays from. Use the '\''custom-lists list'\'' command to show available alternatives' \
'provider:Set hosting provider(s) to select relays from. The '\''list'\'' command shows the available relays and their providers' \
'ownership:Filter relays based on ownership. The '\''list'\'' command shows the available relays and whether they'\''re rented' \
'port:Set tunnel port constraint' \
'ip-version:Set tunnel IP version constraint' \
'multihop:Enable or disable multihop' \
'entry:Set entry location constraints for multihop' \
'custom:Set a custom WireGuard relay' \
    )
    _describe -t commands 'mullvad relay help set commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__set_commands] )) ||
_mullvad__relay__override__help__set_commands() {
    local commands; commands=(
'ipv4:Override entry IPv4 address for a given relay' \
'ipv6:Override entry IPv6 address for a given relay' \
    )
    _describe -t commands 'mullvad relay override help set commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__set_commands] )) ||
_mullvad__relay__override__set_commands() {
    local commands; commands=(
'ipv4:Override entry IPv4 address for a given relay' \
'ipv6:Override entry IPv6 address for a given relay' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay override set commands' commands "$@"
}
(( $+functions[_mullvad__relay__set_commands] )) ||
_mullvad__relay__set_commands() {
    local commands; commands=(
'location:Select a relay using country, city or hostname. The '\''mullvad relay list'\'' command shows the available relays and their geographical location' \
'custom-list:Set custom list to select relays from. Use the '\''custom-lists list'\'' command to show available alternatives' \
'provider:Set hosting provider(s) to select relays from. The '\''list'\'' command shows the available relays and their providers' \
'ownership:Filter relays based on ownership. The '\''list'\'' command shows the available relays and whether they'\''re rented' \
'port:Set tunnel port constraint' \
'ip-version:Set tunnel IP version constraint' \
'multihop:Enable or disable multihop' \
'entry:Set entry location constraints for multihop' \
'custom:Set a custom WireGuard relay' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set_commands] )) ||
_mullvad__tunnel__help__set_commands() {
    local commands; commands=(
'mtu:Configure the tunnel MTU, or '\''any'\''' \
'quantum-resistant:Configure quantum-resistant key exchange' \
'daita:Configure whether to enable DAITA' \
'daita-direct-only:Configure whether to enable DAITA direct only' \
'allowed-ips:Specify custom allowed IPs for WireGuard tunnels. Use comma-separated values of IPs and IP ranges in CIDR notation. A empty string resets to the default value, where all traffic is allowed, i.e. (0.0.0.0/0,\:\:/0). For CIDR ranges, host bits must be zero (e.g., "10.0.0.0/24" is valid, "10.0.0.1/24" is not)' \
'rotation-interval:The key rotation interval. Number of hours, or '\''any'\''' \
'rotate-key:Replace the WireGuard key with a new one' \
'ipv6:Enable or disable IPv6 in the tunnel' \
    )
    _describe -t commands 'mullvad tunnel help set commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set_commands] )) ||
_mullvad__tunnel__set_commands() {
    local commands; commands=(
'mtu:Configure the tunnel MTU, or '\''any'\''' \
'quantum-resistant:Configure quantum-resistant key exchange' \
'daita:Configure whether to enable DAITA' \
'daita-direct-only:Configure whether to enable DAITA direct only' \
'allowed-ips:Specify custom allowed IPs for WireGuard tunnels. Use comma-separated values of IPs and IP ranges in CIDR notation. A empty string resets to the default value, where all traffic is allowed, i.e. (0.0.0.0/0,\:\:/0). For CIDR ranges, host bits must be zero (e.g., "10.0.0.0/24" is valid, "10.0.0.1/24" is not)' \
'rotation-interval:The key rotation interval. Number of hours, or '\''any'\''' \
'rotate-key:Replace the WireGuard key with a new one' \
'ipv6:Enable or disable IPv6 in the tunnel' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad tunnel set commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__help__shadowsocks_commands] )) ||
_mullvad__api-access__add__help__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add help shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__shadowsocks_commands] )) ||
_mullvad__api-access__add__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access add shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__add__shadowsocks_commands] )) ||
_mullvad__api-access__help__add__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help add shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__add__shadowsocks_commands] )) ||
_mullvad__help__api-access__add__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access add shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__help__obfuscation__set__shadowsocks_commands] )) ||
_mullvad__help__obfuscation__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help obfuscation set shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__help__set__shadowsocks_commands] )) ||
_mullvad__obfuscation__help__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation help set shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__help__shadowsocks_commands] )) ||
_mullvad__obfuscation__set__help__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation set help shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__shadowsocks_commands] )) ||
_mullvad__obfuscation__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation set shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__help__shell-completions_commands] )) ||
_mullvad__help__shell-completions_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help shell-completions commands' commands "$@"
}
(( $+functions[_mullvad__shell-completions_commands] )) ||
_mullvad__shell-completions_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad shell-completions commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__help__socks5_commands] )) ||
_mullvad__api-access__add__help__socks5_commands() {
    local commands; commands=(
'remote:Configure a remote SOCKS5 proxy' \
'local:Configure a local SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad api-access add help socks5 commands' commands "$@"
}
(( $+functions[_mullvad__api-access__add__socks5_commands] )) ||
_mullvad__api-access__add__socks5_commands() {
    local commands; commands=(
'remote:Configure a remote SOCKS5 proxy' \
'local:Configure a local SOCKS5 proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad api-access add socks5 commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__add__socks5_commands] )) ||
_mullvad__api-access__help__add__socks5_commands() {
    local commands; commands=(
'remote:Configure a remote SOCKS5 proxy' \
'local:Configure a local SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad api-access help add socks5 commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__add__socks5_commands] )) ||
_mullvad__help__api-access__add__socks5_commands() {
    local commands; commands=(
'remote:Configure a remote SOCKS5 proxy' \
'local:Configure a local SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad help api-access add socks5 commands' commands "$@"
}
(( $+functions[_mullvad__help__split-tunnel_commands] )) ||
_mullvad__help__split-tunnel_commands() {
    local commands; commands=(
'list:List all processes that are excluded from the tunnel' \
'add:Add a PID to exclude from the tunnel' \
'delete:Stop excluding a PID from the tunnel' \
'clear:Stop excluding all processes from the tunnel' \
    )
    _describe -t commands 'mullvad help split-tunnel commands' commands "$@"
}
(( $+functions[_mullvad__split-tunnel_commands] )) ||
_mullvad__split-tunnel_commands() {
    local commands; commands=(
'list:List all processes that are excluded from the tunnel' \
'add:Add a PID to exclude from the tunnel' \
'delete:Stop excluding a PID from the tunnel' \
'clear:Stop excluding all processes from the tunnel' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad split-tunnel commands' commands "$@"
}
(( $+functions[_mullvad__help__status_commands] )) ||
_mullvad__help__status_commands() {
    local commands; commands=(
'listen:Listen for tunnel state changes' \
    )
    _describe -t commands 'mullvad help status commands' commands "$@"
}
(( $+functions[_mullvad__status_commands] )) ||
_mullvad__status_commands() {
    local commands; commands=(
'listen:Listen for tunnel state changes' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad status commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__test_commands] )) ||
_mullvad__api-access__help__test_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help test commands' commands "$@"
}
(( $+functions[_mullvad__api-access__test_commands] )) ||
_mullvad__api-access__test_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access test commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__test_commands] )) ||
_mullvad__help__api-access__test_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access test commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel_commands] )) ||
_mullvad__help__tunnel_commands() {
    local commands; commands=(
'get:Show current tunnel options' \
'set:Set tunnel options' \
    )
    _describe -t commands 'mullvad help tunnel commands' commands "$@"
}
(( $+functions[_mullvad__tunnel_commands] )) ||
_mullvad__tunnel_commands() {
    local commands; commands=(
'get:Show current tunnel options' \
'set:Set tunnel options' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad tunnel commands' commands "$@"
}
(( $+functions[_mullvad__help__obfuscation__set__udp2tcp_commands] )) ||
_mullvad__help__obfuscation__set__udp2tcp_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help obfuscation set udp2tcp commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__help__set__udp2tcp_commands] )) ||
_mullvad__obfuscation__help__set__udp2tcp_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation help set udp2tcp commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__help__udp2tcp_commands] )) ||
_mullvad__obfuscation__set__help__udp2tcp_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation set help udp2tcp commands' commands "$@"
}
(( $+functions[_mullvad__obfuscation__set__udp2tcp_commands] )) ||
_mullvad__obfuscation__set__udp2tcp_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad obfuscation set udp2tcp commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__override__unset_commands] )) ||
_mullvad__help__relay__override__unset_commands() {
    local commands; commands=(
'ipv4:Remove overridden entry IPv4 address for the given server' \
'ipv6:Remove overridden entry IPv6 address for the given server' \
    )
    _describe -t commands 'mullvad help relay override unset commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__override__unset_commands] )) ||
_mullvad__relay__help__override__unset_commands() {
    local commands; commands=(
'ipv4:Remove overridden entry IPv4 address for the given server' \
'ipv6:Remove overridden entry IPv6 address for the given server' \
    )
    _describe -t commands 'mullvad relay help override unset commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__help__unset_commands] )) ||
_mullvad__relay__override__help__unset_commands() {
    local commands; commands=(
'ipv4:Remove overridden entry IPv4 address for the given server' \
'ipv6:Remove overridden entry IPv6 address for the given server' \
    )
    _describe -t commands 'mullvad relay override help unset commands' commands "$@"
}
(( $+functions[_mullvad__relay__override__unset_commands] )) ||
_mullvad__relay__override__unset_commands() {
    local commands; commands=(
'ipv4:Remove overridden entry IPv4 address for the given server' \
'ipv6:Remove overridden entry IPv6 address for the given server' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay override unset commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__update_commands] )) ||
_mullvad__help__relay__update_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay update commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__update_commands] )) ||
_mullvad__relay__help__update_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help update commands' commands "$@"
}
(( $+functions[_mullvad__relay__update_commands] )) ||
_mullvad__relay__update_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay update commands' commands "$@"
}
(( $+functions[_mullvad__api-access__help__use_commands] )) ||
_mullvad__api-access__help__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access help use commands' commands "$@"
}
(( $+functions[_mullvad__api-access__use_commands] )) ||
_mullvad__api-access__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad api-access use commands' commands "$@"
}
(( $+functions[_mullvad__help__api-access__use_commands] )) ||
_mullvad__help__api-access__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help api-access use commands' commands "$@"
}
(( $+functions[_mullvad__help__version_commands] )) ||
_mullvad__help__version_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help version commands' commands "$@"
}
(( $+functions[_mullvad__version_commands] )) ||
_mullvad__version_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad version commands' commands "$@"
}

if [ "$funcstack[1]" = "_mullvad" ]; then
    _mullvad "$@"
else
    compdef _mullvad mullvad
fi
