#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
;;
(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
;;
(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
;;
(bridge)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__bridge_commands" \
"*::: :->bridge" \
&& ret=0

    case $state in
    (bridge)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-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__bridge__set_commands" \
"*::: :->set" \
&& ret=0

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-set-command-$line[1]:"
        case $line[1] in
            (state)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':policy:(auto on off)' \
&& ret=0
;;
(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
;;
(provider)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
'*::providers -- Either '\''any'\'', or provider to select from:' \
&& 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
;;
(custom)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__bridge__set__custom_commands" \
"*::: :->custom" \
&& ret=0

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

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

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-set-custom-set-socks5-command-$line[1]:"
        case $line[1] in
            (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: ' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':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
;;
(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: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':remote_ip -- The IP of the remote proxy server:' \
':remote_port -- The port of the remote proxy server:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__bridge__set__custom__set__socks5__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-set-custom-set-socks5-help-command-$line[1]:"
        case $line[1] in
            (local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remote)
_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)' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':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__bridge__set__custom__set__help_commands" \
"*::: :->help" \
&& ret=0

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

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-set-custom-set-help-socks5-command-$line[1]:"
        case $line[1] in
            (local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(edit)
_arguments "${_arguments_options[@]}" \
'--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]' \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__bridge__set__custom__help_commands" \
"*::: :->help" \
&& ret=0

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

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

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-set-custom-help-set-socks5-command-$line[1]:"
        case $line[1] in
            (local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__bridge__set__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-set-help-command-$line[1]:"
        case $line[1] in
            (state)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(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
;;
(custom)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__bridge__set__help__custom_commands" \
"*::: :->custom" \
&& ret=0

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

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

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-set-help-custom-set-socks5-command-$line[1]:"
        case $line[1] in
            (local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(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
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__bridge__help_commands" \
"*::: :->help" \
&& ret=0

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

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-help-set-command-$line[1]:"
        case $line[1] in
            (state)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(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
;;
(custom)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__bridge__help__set__custom_commands" \
"*::: :->custom" \
&& ret=0

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

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

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-bridge-help-set-custom-set-socks5-command-$line[1]:"
        case $line[1] in
            (local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(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
;;
(tunnel)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay__set__tunnel_commands" \
"*::: :->tunnel" \
&& ret=0

    case $state in
    (tunnel)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-tunnel-command-$line[1]:"
        case $line[1] in
            (openvpn)
_arguments "${_arguments_options[@]}" \
'-p+[Port to use, or '\''any'\'']:PORT: ' \
'--port=[Port to use, or '\''any'\'']:PORT: ' \
'-t+[Transport protocol to use, or '\''any'\'']:TRANSPORT_PROTOCOL: ' \
'--transport-protocol=[Transport protocol to use, or '\''any'\'']:TRANSPORT_PROTOCOL: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
'-p+[Port to use, or '\''any'\'']:PORT: ' \
'--port=[Port to use, or '\''any'\'']:PORT: ' \
'-i+[IP protocol to use, or '\''any'\'']:IP_VERSION: ' \
'--ip-version=[IP protocol to use, or '\''any'\'']:IP_VERSION: ' \
'-m+[Whether to enable multihop. The location constraints are specified with '\''entry-location'\'']:USE_MULTIHOP:(on off)' \
'--use-multihop=[Whether to enable multihop. The location constraints are specified with '\''entry-location'\'']:USE_MULTIHOP:(on off)' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__relay__set__tunnel__wireguard_commands" \
"*::: :->wireguard" \
&& ret=0

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

    case $state in
    (entry)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-tunnel-wireguard-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__tunnel__wireguard__entry__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-tunnel-wireguard-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
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__set__tunnel__wireguard__help_commands" \
"*::: :->help" \
&& ret=0

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

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

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

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

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

    case $state in
    (custom)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-custom-command-$line[1]:"
        case $line[1] in
            (openvpn)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':host -- Hostname or IP:' \
':port -- Remote port:' \
':username -- Username for authentication:' \
':password -- Password for authentication:' \
'::transport_protocol -- Transport protocol to use:' \
&& ret=0
;;
(wireguard)
_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__custom__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-custom-help-command-$line[1]:"
        case $line[1] in
            (openvpn)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(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
;;
(tunnel)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__set__help__tunnel_commands" \
"*::: :->tunnel" \
&& ret=0

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

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

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

    case $state in
    (custom)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-set-help-custom-command-$line[1]:"
        case $line[1] in
            (openvpn)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(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
;;
(tunnel)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__relay__help__set__tunnel_commands" \
"*::: :->tunnel" \
&& ret=0

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

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

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

    case $state in
    (custom)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-relay-help-set-custom-command-$line[1]:"
        case $line[1] in
            (openvpn)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        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 udp2tcp shadowsocks quic)' \
&& 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
            (openvpn)
_arguments "${_arguments_options[@]}" \
'-m+[Configure the mssfix parameter, or '\''any'\'']:MSSFIX: ' \
'--mssfix=[Configure the mssfix parameter, or '\''any'\'']:MSSFIX: ' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
'-m+[Configure the tunnel MTU, or '\''any'\'']:MTU: ' \
'--mtu=[Configure the tunnel MTU, or '\''any'\'']:MTU: ' \
'--quantum-resistant=[Configure quantum-resistant key exchange]:QUANTUM_RESISTANT:(auto on off)' \
'--daita=[Configure whether to enable DAITA]:DAITA:(on off)' \
'--daita-direct-only=[Configure whether to enable DAITA direct only]:DAITA_DIRECT_ONLY:(on off)' \
'--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)]:ALLOWED_IPS: ' \
'--rotation-interval=[The key rotation interval. Number of hours, or '\''any'\'']:ROTATION_INTERVAL: ' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_mullvad__tunnel__set__wireguard_commands" \
"*::: :->wireguard" \
&& ret=0

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

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-set-wireguard-help-command-$line[1]:"
        case $line[1] in
            (rotate-key)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(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
            (openvpn)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__tunnel__set__help__wireguard_commands" \
"*::: :->wireguard" \
&& ret=0

    case $state in
    (wireguard)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-set-help-wireguard-command-$line[1]:"
        case $line[1] in
            (rotate-key)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(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
            (openvpn)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__tunnel__help__set__wireguard_commands" \
"*::: :->wireguard" \
&& ret=0

    case $state in
    (wireguard)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-tunnel-help-set-wireguard-command-$line[1]:"
        case $line[1] in
            (rotate-key)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(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[@]}" \
'-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
;;
        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
;;
(bridge)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__bridge_commands" \
"*::: :->bridge" \
&& ret=0

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

    case $state in
    (set)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-bridge-set-command-$line[1]:"
        case $line[1] in
            (state)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(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
;;
(custom)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__bridge__set__custom_commands" \
"*::: :->custom" \
&& ret=0

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

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

    case $state in
    (socks5)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-bridge-set-custom-set-socks5-command-$line[1]:"
        case $line[1] in
            (local)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remote)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(shadowsocks)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(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
;;
(tunnel)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__relay__set__tunnel_commands" \
"*::: :->tunnel" \
&& ret=0

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

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

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

    case $state in
    (custom)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-relay-set-custom-command-$line[1]:"
        case $line[1] in
            (openvpn)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        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
            (openvpn)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(wireguard)
_arguments "${_arguments_options[@]}" \
":: :_mullvad__help__tunnel__set__wireguard_commands" \
"*::: :->wireguard" \
&& ret=0

    case $state in
    (wireguard)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:mullvad-help-tunnel-set-wireguard-command-$line[1]:"
        case $line[1] in
            (rotate-key)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(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
;;
(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' \
'bridge:Manage use of bridges, socks proxies and Shadowsocks for OpenVPN. Can make OpenVPN tunnels use Shadowsocks via one of the Mullvad bridge servers. Can also make OpenVPN connect through any custom SOCKS5 proxy. These settings also affect how the app reaches the API over Shadowsocks' \
'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' \
'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__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__bridge_commands] )) ||
_mullvad__bridge_commands() {
    local commands; commands=(
'get:Get current bridge settings' \
'set:Set bridge state and settings, such as provider' \
'list:List available bridge relays' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge commands' commands "$@"
}
(( $+functions[_mullvad__help__bridge_commands] )) ||
_mullvad__help__bridge_commands() {
    local commands; commands=(
'get:Get current bridge settings' \
'set:Set bridge state and settings, such as provider' \
'list:List available bridge relays' \
    )
    _describe -t commands 'mullvad help bridge 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__bridge__help__set__custom_commands] )) ||
_mullvad__bridge__help__set__custom_commands() {
    local commands; commands=(
'set:Create or update and enable the custom bridge configuration' \
'edit:Edit an existing custom bridge configuration' \
'use:Use an existing custom bridge configuration' \
'disable:Stop using the custom bridge configuration' \
    )
    _describe -t commands 'mullvad bridge help set custom commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom_commands] )) ||
_mullvad__bridge__set__custom_commands() {
    local commands; commands=(
'set:Create or update and enable the custom bridge configuration' \
'edit:Edit an existing custom bridge configuration' \
'use:Use an existing custom bridge configuration' \
'disable:Stop using the custom bridge configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set custom commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom_commands] )) ||
_mullvad__bridge__set__help__custom_commands() {
    local commands; commands=(
'set:Create or update and enable the custom bridge configuration' \
'edit:Edit an existing custom bridge configuration' \
'use:Use an existing custom bridge configuration' \
'disable:Stop using the custom bridge configuration' \
    )
    _describe -t commands 'mullvad bridge set help custom 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__bridge__set__custom_commands] )) ||
_mullvad__help__bridge__set__custom_commands() {
    local commands; commands=(
'set:Create or update and enable the custom bridge configuration' \
'edit:Edit an existing custom bridge configuration' \
'use:Use an existing custom bridge configuration' \
'disable:Stop using the custom bridge configuration' \
    )
    _describe -t commands 'mullvad help bridge set 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=(
'openvpn:Use a custom OpenVPN relay' \
'wireguard:Use a custom WireGuard relay' \
    )
    _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=(
'openvpn:Use a custom OpenVPN relay' \
'wireguard:Use a custom WireGuard relay' \
    )
    _describe -t commands 'mullvad relay help set custom commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom_commands] )) ||
_mullvad__relay__set__custom_commands() {
    local commands; commands=(
'openvpn:Use a custom OpenVPN relay' \
'wireguard:Use a custom WireGuard relay' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _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=(
'openvpn:Use a custom OpenVPN relay' \
'wireguard:Use a custom WireGuard relay' \
    )
    _describe -t commands 'mullvad relay set help custom commands' commands "$@"
}
(( $+functions[_mullvad__bridge__help__set__custom-list_commands] )) ||
_mullvad__bridge__help__set__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set custom-list commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom-list_commands] )) ||
_mullvad__bridge__set__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom-list commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom-list_commands] )) ||
_mullvad__bridge__set__help__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help custom-list 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__bridge__set__custom-list_commands] )) ||
_mullvad__help__bridge__set__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set 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__tunnel__wireguard__entry__custom-list_commands] )) ||
_mullvad__help__relay__set__tunnel__wireguard__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set tunnel wireguard 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__tunnel__wireguard__entry__custom-list_commands] )) ||
_mullvad__relay__help__set__tunnel__wireguard__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set tunnel wireguard 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__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__tunnel__wireguard__entry__custom-list_commands] )) ||
_mullvad__relay__set__help__tunnel__wireguard__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help tunnel wireguard entry custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__help__wireguard__entry__custom-list_commands] )) ||
_mullvad__relay__set__tunnel__help__wireguard__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel help wireguard entry custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__entry__custom-list_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard entry custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__entry__help__custom-list_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__entry__help__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard entry help custom-list commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__help__entry__custom-list_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__help__entry__custom-list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard help entry custom-list 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' \
'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' \
    )
    _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__bridge__help__set__custom__disable_commands] )) ||
_mullvad__bridge__help__set__custom__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set custom disable commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__disable_commands] )) ||
_mullvad__bridge__set__custom__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom disable commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__disable_commands] )) ||
_mullvad__bridge__set__custom__help__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom help disable commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__disable_commands] )) ||
_mullvad__bridge__set__help__custom__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help custom 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__bridge__set__custom__disable_commands] )) ||
_mullvad__help__bridge__set__custom__disable_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set custom 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__bridge__help__set__custom__edit_commands] )) ||
_mullvad__bridge__help__set__custom__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set custom edit commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__edit_commands] )) ||
_mullvad__bridge__set__custom__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom edit commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__edit_commands] )) ||
_mullvad__bridge__set__custom__help__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom help edit commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__edit_commands] )) ||
_mullvad__bridge__set__help__custom__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help custom 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__bridge__set__custom__edit_commands] )) ||
_mullvad__help__bridge__set__custom__edit_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set custom 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__tunnel__wireguard__entry_commands] )) ||
_mullvad__help__relay__set__tunnel__wireguard__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 tunnel wireguard entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__tunnel__wireguard__entry_commands] )) ||
_mullvad__relay__help__set__tunnel__wireguard__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 tunnel wireguard entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__tunnel__wireguard__entry_commands] )) ||
_mullvad__relay__set__help__tunnel__wireguard__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 tunnel wireguard entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__help__wireguard__entry_commands] )) ||
_mullvad__relay__set__tunnel__help__wireguard__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 tunnel help wireguard entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__entry_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__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 tunnel wireguard entry commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__help__entry_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__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 tunnel wireguard 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__bridge__get_commands] )) ||
_mullvad__bridge__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge get commands' commands "$@"
}
(( $+functions[_mullvad__bridge__help__get_commands] )) ||
_mullvad__bridge__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge 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__bridge__get_commands] )) ||
_mullvad__help__bridge__get_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge 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__bridge__help_commands] )) ||
_mullvad__bridge__help_commands() {
    local commands; commands=(
'get:Get current bridge settings' \
'set:Set bridge state and settings, such as provider' \
'list:List available bridge relays' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__help__help_commands] )) ||
_mullvad__bridge__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help_commands] )) ||
_mullvad__bridge__set__custom__help_commands() {
    local commands; commands=(
'set:Create or update and enable the custom bridge configuration' \
'edit:Edit an existing custom bridge configuration' \
'use:Use an existing custom bridge configuration' \
'disable:Stop using the custom bridge configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set custom help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__help_commands] )) ||
_mullvad__bridge__set__custom__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom help help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__help_commands] )) ||
_mullvad__bridge__set__custom__set__help_commands() {
    local commands; commands=(
'socks5:' \
'shadowsocks:Configure bundled Shadowsocks proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set custom set help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__help__help_commands] )) ||
_mullvad__bridge__set__custom__set__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set help help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__socks5__help_commands] )) ||
_mullvad__bridge__set__custom__set__socks5__help_commands() {
    local commands; commands=(
'local:Registers a local SOCKS5 proxy. Will allow all local programs to leak traffic *only* to the remote endpoint.' \
'remote:Configure a remote SOCKS5 proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set custom set socks5 help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__socks5__help__help_commands] )) ||
_mullvad__bridge__set__custom__set__socks5__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set socks5 help help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help_commands] )) ||
_mullvad__bridge__set__help_commands() {
    local commands; commands=(
'state:Specify whether to use a bridge' \
'location:Set country or city to select relays from. Use the '\''mullvad bridge list'\'' command to show available alternatives' \
'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' \
'custom:Configure a SOCKS5 proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set help commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__help_commands] )) ||
_mullvad__bridge__set__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set 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' \
'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 or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
'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__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' \
'bridge:Manage use of bridges, socks proxies and Shadowsocks for OpenVPN. Can make OpenVPN tunnels use Shadowsocks via one of the Mullvad bridge servers. Can also make OpenVPN connect through any custom SOCKS5 proxy. These settings also affect how the app reaches the API over Shadowsocks' \
'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' \
'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__custom__help_commands] )) ||
_mullvad__relay__set__custom__help_commands() {
    local commands; commands=(
'openvpn:Use a custom OpenVPN relay' \
'wireguard:Use a custom WireGuard relay' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set custom help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom__help__help_commands] )) ||
_mullvad__relay__set__custom__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set custom 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' \
'tunnel:Set tunnel protocol specific constraints' \
'tunnel-protocol:Set tunnel protocol to use\: '\''wireguard'\'', or '\''openvpn'\''' \
'custom:Set a custom VPN relay to use' \
'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__relay__set__tunnel__help_commands] )) ||
_mullvad__relay__set__tunnel__help_commands() {
    local commands; commands=(
'openvpn:Set OpenVPN-specific constraints' \
'wireguard:Set WireGuard-specific constraints' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set tunnel help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__help__help_commands] )) ||
_mullvad__relay__set__tunnel__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__entry__help_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__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 tunnel wireguard entry help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__entry__help__help_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__entry__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard entry help help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__help_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__help_commands() {
    local commands; commands=(
'entry:Set wireguard entry relay constraints' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set tunnel wireguard help commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__help__help_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard 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=(
'openvpn:Manage options for OpenVPN tunnels' \
'wireguard:Manage options for WireGuard tunnels' \
'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__tunnel__set__wireguard__help_commands] )) ||
_mullvad__tunnel__set__wireguard__help_commands() {
    local commands; commands=(
'rotate-key:Replace the WireGuard key with a new one' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad tunnel set wireguard help commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__wireguard__help__help_commands] )) ||
_mullvad__tunnel__set__wireguard__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set wireguard 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__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__bridge__help__list_commands] )) ||
_mullvad__bridge__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help list commands' commands "$@"
}
(( $+functions[_mullvad__bridge__list_commands] )) ||
_mullvad__bridge__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge 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__bridge__list_commands] )) ||
_mullvad__help__bridge__list_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge 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__bridge__help__set__custom__set__socks5__local_commands] )) ||
_mullvad__bridge__help__set__custom__set__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set custom set socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__set__socks5__local_commands] )) ||
_mullvad__bridge__set__custom__help__set__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom help set socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__help__socks5__local_commands] )) ||
_mullvad__bridge__set__custom__set__help__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set help socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__socks5__help__local_commands] )) ||
_mullvad__bridge__set__custom__set__socks5__help__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set socks5 help local commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__socks5__local_commands] )) ||
_mullvad__bridge__set__custom__set__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__set__socks5__local_commands] )) ||
_mullvad__bridge__set__help__custom__set__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help custom set 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__bridge__set__custom__set__socks5__local_commands] )) ||
_mullvad__help__bridge__set__custom__set__socks5__local_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set custom set socks5 local commands' commands "$@"
}
(( $+functions[_mullvad__bridge__help__set__location_commands] )) ||
_mullvad__bridge__help__set__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set location commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__location_commands] )) ||
_mullvad__bridge__set__help__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help location commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__location_commands] )) ||
_mullvad__bridge__set__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set location commands' commands "$@"
}
(( $+functions[_mullvad__help__bridge__set__location_commands] )) ||
_mullvad__help__bridge__set__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set 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__help__relay__set__tunnel__wireguard__entry__location_commands] )) ||
_mullvad__help__relay__set__tunnel__wireguard__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set tunnel wireguard 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__help__set__tunnel__wireguard__entry__location_commands] )) ||
_mullvad__relay__help__set__tunnel__wireguard__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set tunnel wireguard 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__help__tunnel__wireguard__entry__location_commands] )) ||
_mullvad__relay__set__help__tunnel__wireguard__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help tunnel wireguard entry 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__relay__set__tunnel__help__wireguard__entry__location_commands] )) ||
_mullvad__relay__set__tunnel__help__wireguard__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel help wireguard entry location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__entry__help__location_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__entry__help__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard entry help location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__entry__location_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard entry location commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard__help__entry__location_commands] )) ||
_mullvad__relay__set__tunnel__wireguard__help__entry__location_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel wireguard help entry 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__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__set__custom__openvpn_commands] )) ||
_mullvad__help__relay__set__custom__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set custom openvpn commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__tunnel__openvpn_commands] )) ||
_mullvad__help__relay__set__tunnel__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set tunnel openvpn commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__openvpn_commands] )) ||
_mullvad__help__tunnel__set__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__custom__openvpn_commands] )) ||
_mullvad__relay__help__set__custom__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set custom openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__tunnel__openvpn_commands] )) ||
_mullvad__relay__help__set__tunnel__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set tunnel openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom__help__openvpn_commands] )) ||
_mullvad__relay__set__custom__help__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set custom help openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom__openvpn_commands] )) ||
_mullvad__relay__set__custom__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set custom openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__custom__openvpn_commands] )) ||
_mullvad__relay__set__help__custom__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help custom openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__tunnel__openvpn_commands] )) ||
_mullvad__relay__set__help__tunnel__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help tunnel openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__help__openvpn_commands] )) ||
_mullvad__relay__set__tunnel__help__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel help openvpn commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__openvpn_commands] )) ||
_mullvad__relay__set__tunnel__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel openvpn commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__openvpn_commands] )) ||
_mullvad__tunnel__help__set__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set openvpn commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__openvpn_commands] )) ||
_mullvad__tunnel__set__help__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help openvpn commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__openvpn_commands] )) ||
_mullvad__tunnel__set__openvpn_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set openvpn 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__bridge__help__set__ownership_commands] )) ||
_mullvad__bridge__help__set__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set ownership commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__ownership_commands] )) ||
_mullvad__bridge__set__help__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help ownership commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__ownership_commands] )) ||
_mullvad__bridge__set__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set ownership commands' commands "$@"
}
(( $+functions[_mullvad__help__bridge__set__ownership_commands] )) ||
_mullvad__help__bridge__set__ownership_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set ownership 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__bridge__help__set__provider_commands] )) ||
_mullvad__bridge__help__set__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set provider commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__provider_commands] )) ||
_mullvad__bridge__set__help__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help provider commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__provider_commands] )) ||
_mullvad__bridge__set__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set provider commands' commands "$@"
}
(( $+functions[_mullvad__help__bridge__set__provider_commands] )) ||
_mullvad__help__bridge__set__provider_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set provider 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__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 or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
    )
    _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 or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
'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 or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
'enable:(Re)Activate this _category of relays_ - a category can be one of the following\: a relay, a city, a country or a tunnel protocol (\`openvpn\` or \`wireguard\`)' \
    )
    _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__bridge__help__set__custom__set__socks5__remote_commands] )) ||
_mullvad__bridge__help__set__custom__set__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set custom set socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__set__socks5__remote_commands] )) ||
_mullvad__bridge__set__custom__help__set__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom help set socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__help__socks5__remote_commands] )) ||
_mullvad__bridge__set__custom__set__help__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set help socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__socks5__help__remote_commands] )) ||
_mullvad__bridge__set__custom__set__socks5__help__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set socks5 help remote commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__socks5__remote_commands] )) ||
_mullvad__bridge__set__custom__set__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set socks5 remote commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__set__socks5__remote_commands] )) ||
_mullvad__bridge__set__help__custom__set__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help custom set 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__help__bridge__set__custom__set__socks5__remote_commands] )) ||
_mullvad__help__bridge__set__custom__set__socks5__remote_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set custom set 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__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__help__tunnel__set__wireguard__rotate-key_commands] )) ||
_mullvad__help__tunnel__set__wireguard__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help tunnel set wireguard rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__wireguard__rotate-key_commands] )) ||
_mullvad__tunnel__help__set__wireguard__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel help set wireguard rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__wireguard__rotate-key_commands] )) ||
_mullvad__tunnel__set__help__wireguard__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set help wireguard rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__wireguard__help__rotate-key_commands] )) ||
_mullvad__tunnel__set__wireguard__help__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set wireguard help rotate-key commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__wireguard__rotate-key_commands] )) ||
_mullvad__tunnel__set__wireguard__rotate-key_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad tunnel set wireguard rotate-key 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__bridge__help__set_commands] )) ||
_mullvad__bridge__help__set_commands() {
    local commands; commands=(
'state:Specify whether to use a bridge' \
'location:Set country or city to select relays from. Use the '\''mullvad bridge list'\'' command to show available alternatives' \
'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' \
'custom:Configure a SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad bridge help set commands' commands "$@"
}
(( $+functions[_mullvad__bridge__help__set__custom__set_commands] )) ||
_mullvad__bridge__help__set__custom__set_commands() {
    local commands; commands=(
'socks5:' \
'shadowsocks:Configure bundled Shadowsocks proxy' \
    )
    _describe -t commands 'mullvad bridge help set custom set commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set_commands] )) ||
_mullvad__bridge__set_commands() {
    local commands; commands=(
'state:Specify whether to use a bridge' \
'location:Set country or city to select relays from. Use the '\''mullvad bridge list'\'' command to show available alternatives' \
'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' \
'custom:Configure a SOCKS5 proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__set_commands] )) ||
_mullvad__bridge__set__custom__help__set_commands() {
    local commands; commands=(
'socks5:' \
'shadowsocks:Configure bundled Shadowsocks proxy' \
    )
    _describe -t commands 'mullvad bridge set custom help set commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set_commands] )) ||
_mullvad__bridge__set__custom__set_commands() {
    local commands; commands=(
'socks5:' \
'shadowsocks:Configure bundled Shadowsocks proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set custom set commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__set_commands] )) ||
_mullvad__bridge__set__help__custom__set_commands() {
    local commands; commands=(
'socks5:' \
'shadowsocks:Configure bundled Shadowsocks proxy' \
    )
    _describe -t commands 'mullvad bridge set help custom 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__bridge__set_commands] )) ||
_mullvad__help__bridge__set_commands() {
    local commands; commands=(
'state:Specify whether to use a bridge' \
'location:Set country or city to select relays from. Use the '\''mullvad bridge list'\'' command to show available alternatives' \
'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' \
'custom:Configure a SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad help bridge set commands' commands "$@"
}
(( $+functions[_mullvad__help__bridge__set__custom__set_commands] )) ||
_mullvad__help__bridge__set__custom__set_commands() {
    local commands; commands=(
'socks5:' \
'shadowsocks:Configure bundled Shadowsocks proxy' \
    )
    _describe -t commands 'mullvad help bridge set custom 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' \
'tunnel:Set tunnel protocol specific constraints' \
'tunnel-protocol:Set tunnel protocol to use\: '\''wireguard'\'', or '\''openvpn'\''' \
'custom:Set a custom VPN relay to use' \
    )
    _describe -t commands 'mullvad help relay set commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set_commands] )) ||
_mullvad__help__tunnel__set_commands() {
    local commands; commands=(
'openvpn:Manage options for OpenVPN tunnels' \
'wireguard:Manage options for WireGuard tunnels' \
'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' \
'tunnel:Set tunnel protocol specific constraints' \
'tunnel-protocol:Set tunnel protocol to use\: '\''wireguard'\'', or '\''openvpn'\''' \
'custom:Set a custom VPN relay to use' \
    )
    _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' \
'tunnel:Set tunnel protocol specific constraints' \
'tunnel-protocol:Set tunnel protocol to use\: '\''wireguard'\'', or '\''openvpn'\''' \
'custom:Set a custom VPN relay to use' \
'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=(
'openvpn:Manage options for OpenVPN tunnels' \
'wireguard:Manage options for WireGuard tunnels' \
'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=(
'openvpn:Manage options for OpenVPN tunnels' \
'wireguard:Manage options for WireGuard tunnels' \
'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__bridge__help__set__custom__set__shadowsocks_commands] )) ||
_mullvad__bridge__help__set__custom__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set custom set shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__set__shadowsocks_commands] )) ||
_mullvad__bridge__set__custom__help__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom help set shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__help__shadowsocks_commands] )) ||
_mullvad__bridge__set__custom__set__help__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set help shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__shadowsocks_commands] )) ||
_mullvad__bridge__set__custom__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom set shadowsocks commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__set__shadowsocks_commands] )) ||
_mullvad__bridge__set__help__custom__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help custom set 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__bridge__set__custom__set__shadowsocks_commands] )) ||
_mullvad__help__bridge__set__custom__set__shadowsocks_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set custom set 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__bridge__help__set__custom__set__socks5_commands] )) ||
_mullvad__bridge__help__set__custom__set__socks5_commands() {
    local commands; commands=(
'local:Registers a local SOCKS5 proxy. Will allow all local programs to leak traffic *only* to the remote endpoint.' \
'remote:Configure a remote SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad bridge help set custom set socks5 commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__set__socks5_commands] )) ||
_mullvad__bridge__set__custom__help__set__socks5_commands() {
    local commands; commands=(
'local:Registers a local SOCKS5 proxy. Will allow all local programs to leak traffic *only* to the remote endpoint.' \
'remote:Configure a remote SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad bridge set custom help set socks5 commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__help__socks5_commands] )) ||
_mullvad__bridge__set__custom__set__help__socks5_commands() {
    local commands; commands=(
'local:Registers a local SOCKS5 proxy. Will allow all local programs to leak traffic *only* to the remote endpoint.' \
'remote:Configure a remote SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad bridge set custom set help socks5 commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__set__socks5_commands] )) ||
_mullvad__bridge__set__custom__set__socks5_commands() {
    local commands; commands=(
'local:Registers a local SOCKS5 proxy. Will allow all local programs to leak traffic *only* to the remote endpoint.' \
'remote:Configure a remote SOCKS5 proxy' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad bridge set custom set socks5 commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__set__socks5_commands] )) ||
_mullvad__bridge__set__help__custom__set__socks5_commands() {
    local commands; commands=(
'local:Registers a local SOCKS5 proxy. Will allow all local programs to leak traffic *only* to the remote endpoint.' \
'remote:Configure a remote SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad bridge set help custom set 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__bridge__set__custom__set__socks5_commands] )) ||
_mullvad__help__bridge__set__custom__set__socks5_commands() {
    local commands; commands=(
'local:Registers a local SOCKS5 proxy. Will allow all local programs to leak traffic *only* to the remote endpoint.' \
'remote:Configure a remote SOCKS5 proxy' \
    )
    _describe -t commands 'mullvad help bridge set custom set 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__bridge__help__set__state_commands] )) ||
_mullvad__bridge__help__set__state_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set state commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__state_commands] )) ||
_mullvad__bridge__set__help__state_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help state commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__state_commands] )) ||
_mullvad__bridge__set__state_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set state commands' commands "$@"
}
(( $+functions[_mullvad__help__bridge__set__state_commands] )) ||
_mullvad__help__bridge__set__state_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set state 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__relay__set__tunnel_commands] )) ||
_mullvad__help__relay__set__tunnel_commands() {
    local commands; commands=(
'openvpn:Set OpenVPN-specific constraints' \
'wireguard:Set WireGuard-specific constraints' \
    )
    _describe -t commands 'mullvad help relay set tunnel 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__relay__help__set__tunnel_commands] )) ||
_mullvad__relay__help__set__tunnel_commands() {
    local commands; commands=(
'openvpn:Set OpenVPN-specific constraints' \
'wireguard:Set WireGuard-specific constraints' \
    )
    _describe -t commands 'mullvad relay help set tunnel commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__tunnel_commands] )) ||
_mullvad__relay__set__help__tunnel_commands() {
    local commands; commands=(
'openvpn:Set OpenVPN-specific constraints' \
'wireguard:Set WireGuard-specific constraints' \
    )
    _describe -t commands 'mullvad relay set help tunnel commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel_commands] )) ||
_mullvad__relay__set__tunnel_commands() {
    local commands; commands=(
'openvpn:Set OpenVPN-specific constraints' \
'wireguard:Set WireGuard-specific constraints' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set 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__relay__set__tunnel-protocol_commands] )) ||
_mullvad__help__relay__set__tunnel-protocol_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set tunnel-protocol commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__tunnel-protocol_commands] )) ||
_mullvad__relay__help__set__tunnel-protocol_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set tunnel-protocol commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__tunnel-protocol_commands] )) ||
_mullvad__relay__set__help__tunnel-protocol_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help tunnel-protocol commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel-protocol_commands] )) ||
_mullvad__relay__set__tunnel-protocol_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set tunnel-protocol 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__bridge__help__set__custom__use_commands] )) ||
_mullvad__bridge__help__set__custom__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge help set custom use commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__help__use_commands] )) ||
_mullvad__bridge__set__custom__help__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom help use commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__custom__use_commands] )) ||
_mullvad__bridge__set__custom__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set custom use commands' commands "$@"
}
(( $+functions[_mullvad__bridge__set__help__custom__use_commands] )) ||
_mullvad__bridge__set__help__custom__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad bridge set help custom 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__bridge__set__custom__use_commands] )) ||
_mullvad__help__bridge__set__custom__use_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help bridge set custom 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 "$@"
}
(( $+functions[_mullvad__help__relay__set__custom__wireguard_commands] )) ||
_mullvad__help__relay__set__custom__wireguard_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad help relay set custom wireguard commands' commands "$@"
}
(( $+functions[_mullvad__help__relay__set__tunnel__wireguard_commands] )) ||
_mullvad__help__relay__set__tunnel__wireguard_commands() {
    local commands; commands=(
'entry:Set wireguard entry relay constraints' \
    )
    _describe -t commands 'mullvad help relay set tunnel wireguard commands' commands "$@"
}
(( $+functions[_mullvad__help__tunnel__set__wireguard_commands] )) ||
_mullvad__help__tunnel__set__wireguard_commands() {
    local commands; commands=(
'rotate-key:Replace the WireGuard key with a new one' \
    )
    _describe -t commands 'mullvad help tunnel set wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__custom__wireguard_commands] )) ||
_mullvad__relay__help__set__custom__wireguard_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay help set custom wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__help__set__tunnel__wireguard_commands] )) ||
_mullvad__relay__help__set__tunnel__wireguard_commands() {
    local commands; commands=(
'entry:Set wireguard entry relay constraints' \
    )
    _describe -t commands 'mullvad relay help set tunnel wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom__help__wireguard_commands] )) ||
_mullvad__relay__set__custom__help__wireguard_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set custom help wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__custom__wireguard_commands] )) ||
_mullvad__relay__set__custom__wireguard_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set custom wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__custom__wireguard_commands] )) ||
_mullvad__relay__set__help__custom__wireguard_commands() {
    local commands; commands=()
    _describe -t commands 'mullvad relay set help custom wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__help__tunnel__wireguard_commands] )) ||
_mullvad__relay__set__help__tunnel__wireguard_commands() {
    local commands; commands=(
'entry:Set wireguard entry relay constraints' \
    )
    _describe -t commands 'mullvad relay set help tunnel wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__help__wireguard_commands] )) ||
_mullvad__relay__set__tunnel__help__wireguard_commands() {
    local commands; commands=(
'entry:Set wireguard entry relay constraints' \
    )
    _describe -t commands 'mullvad relay set tunnel help wireguard commands' commands "$@"
}
(( $+functions[_mullvad__relay__set__tunnel__wireguard_commands] )) ||
_mullvad__relay__set__tunnel__wireguard_commands() {
    local commands; commands=(
'entry:Set wireguard entry relay constraints' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad relay set tunnel wireguard commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__help__set__wireguard_commands] )) ||
_mullvad__tunnel__help__set__wireguard_commands() {
    local commands; commands=(
'rotate-key:Replace the WireGuard key with a new one' \
    )
    _describe -t commands 'mullvad tunnel help set wireguard commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__help__wireguard_commands] )) ||
_mullvad__tunnel__set__help__wireguard_commands() {
    local commands; commands=(
'rotate-key:Replace the WireGuard key with a new one' \
    )
    _describe -t commands 'mullvad tunnel set help wireguard commands' commands "$@"
}
(( $+functions[_mullvad__tunnel__set__wireguard_commands] )) ||
_mullvad__tunnel__set__wireguard_commands() {
    local commands; commands=(
'rotate-key:Replace the WireGuard key with a new one' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'mullvad tunnel set wireguard commands' commands "$@"
}

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