#compdef apt-swarm

autoload -U is-at-least

_apt-swarm() {
    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[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_apt-swarm_commands" \
"*::: :->apt-swarm" \
&& ret=0
    case $state in
    (apt-swarm)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:apt-swarm-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::paths -- The input files to read (- for stdin):_default' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'--scan[Instead of exact matches, scan with the given prefix(es)]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::release_hashes:_default' \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
'-j+[Number of concurrent requests]:CONCURRENCY:_default' \
'--concurrency=[Number of concurrent requests]:CONCURRENCY:_default' \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(latest)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'-K[Print only the key]' \
'--key[Print only the key]' \
'-D[Print only the date]' \
'--date[Print only the date]' \
'-B[Print only the body (with the signature stripped)]' \
'--body[Print only the body (with the signature stripped)]' \
'-H[Print only the header (everything before the first empty line)]' \
'--header[Print only the header (everything before the first empty line)]' \
'-A[Print only the attachment (everything after the first empty line)]' \
'--attachment[Print only the attachment (everything after the first empty line)]' \
'-F[Permit dates from the future]' \
'--allow-future-dates[Permit dates from the future]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
':fingerprint -- The signing key to query:_default' \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'-s[Count keys present in database instead of listing them]' \
'--count[Count keys present in database instead of listing them]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'::prefix -- Use a specific prefix to filter by:_default' \
&& ret=0
;;
(keyring)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'--json[Output keyring as json]' \
'-s[Show the number of known signatures for a given subkey]' \
'--stats[Show the number of known signatures for a given subkey]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
'*--key=[Only sync data for specific keys, identified by their fingerprint]:KEYS:_default' \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'-n[Run the sync but do not import]' \
'--dry-run[Run the sync but do not import]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
':addr -- The address to connect to:_default' \
&& ret=0
;;
(p2p)
_arguments "${_arguments_options[@]}" : \
'--irc-channel=[The irc server and channel to connect to]:IRC_CHANNEL:_default' \
'*--dns=[The dns names to query for bootstrapping]:DNS:_default' \
'*-B+[The addresses to bind a sync port for p2p traffic (if not disabled)]:BIND:_default' \
'*--bind=[The addresses to bind a sync port for p2p traffic (if not disabled)]:BIND:_default' \
'*-A+[Configure addresses to announce if somebody wants to sync from us]:ANNOUNCE:_default' \
'*--announce=[Configure addresses to announce if somebody wants to sync from us]:ANNOUNCE:_default' \
'--check-container-updates=[Monitor a container registry for updates and terminate if an update is available (eg. ghcr.io/kpcyrd/apt-swarm\:edge)]:IMAGE:_default' \
'--update-assume-commit=[The VCS commit to assume for our currently running image]:COMMIT:_default' \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'--no-irc[Do not connect to irc for peer discovery]' \
'--no-dns[Do not query any configured dnsseeds]' \
'--no-bootstrap[Do not use any bootstrapping mechanism, initial peers need to be added manually]' \
'--no-fetch[Do not actively fetch updates from the configured repositories]' \
'--no-bind[Do not bind a sync port for p2p traffic]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(plumbing)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_apt-swarm__plumbing_commands" \
"*::: :->plumbing" \
&& ret=0

    case $state in
    (plumbing)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:apt-swarm-plumbing-command-$line[1]:"
        case $line[1] in
            (attach-sig)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
':content:_files' \
'*::signatures:_files' \
&& ret=0
;;
(canonicalize)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'--verify[Verify signatures belong to trusted key in keyring]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::paths -- The input files to read (- for stdin):_default' \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
':shell:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(container-update-check)
_arguments "${_arguments_options[@]}" : \
'--image=[The image to monitor for updates (eg. ghcr.io/kpcyrd/apt-swarm\:edge)]:IMAGE:_default' \
'--commit=[The commit to assume for our currently running image]:COMMIT:_default' \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(db-server)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(dns-bootstrap)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'-4[Only print ipv4 records]' \
'--ipv4-only[Only print ipv4 records]' \
'-6[Only print ipv6 records]' \
'--ipv6-only[Only print ipv6 records]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::dns -- The dns name to query:_default' \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
':url -- The resource to fetch:_default' \
&& ret=0
;;
(fingerprint)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::paths -- The input files to read (- for stdin):_default' \
&& ret=0
;;
(fsck)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'::prefix:_default' \
&& ret=0
;;
(git-object)
_arguments "${_arguments_options[@]}" : \
'-k+[]:KIND:(commit tag)' \
'--kind=[]:KIND:(commit tag)' \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::paths:_default' \
&& ret=0
;;
(git-scrape)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::paths:_files' \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'-b[Calculate a batch index, they are bigger but allow syncs with fewer round-trips]' \
'--batch[Calculate a batch index, they are bigger but allow syncs with fewer round-trips]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
':fingerprint -- The signing key to index:_default' \
':hash_algo -- Only entries with this hash algorithm:_default' \
'::prefix -- Calculate an index based on a specific prefix:_default' \
&& ret=0
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(paths)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(peerdb-add)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::addrs:_default' \
&& ret=0
;;
(peerdb-list)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::filters -- Filter by ip address or network (without port):_default' \
&& ret=0
;;
(peerdb-gc)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(sync-pull)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'-n[Run the sync but do not import]' \
'--dry-run[Run the sync but do not import]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
'*::keys:_default' \
&& ret=0
;;
(sync-yield)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config file to use]:CONFIG:_files' \
'--config=[Path to config file to use]:CONFIG:_files' \
'--proxy=[Configure a socks5 proxy for outgoing connections]:PROXY:_default' \
'--data-path=[Configure the path where persistent data should be stored]:DATA_PATH:_files' \
'--pex[Enable access to peer-exchange queries]' \
'*-v[Increase logging output (can be used multiple times)]' \
'*--verbose[Increase logging output (can be used multiple times)]' \
'*-q[Reduce logging output (can be used multiple times)]' \
'*--quiet[Reduce logging output (can be used multiple times)]' \
'-C[Always enable colored output]' \
'--colors[Always enable colored output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_apt-swarm__plumbing__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:apt-swarm-plumbing-help-command-$line[1]:"
        case $line[1] in
            (attach-sig)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(canonicalize)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(container-update-check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(db-server)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(dns-bootstrap)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fingerprint)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fsck)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(git-object)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(git-scrape)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paths)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peerdb-add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peerdb-list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peerdb-gc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sync-pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sync-yield)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_apt-swarm__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:apt-swarm-help-command-$line[1]:"
        case $line[1] in
            (import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(latest)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(ls)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(keyring)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(p2p)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(plumbing)
_arguments "${_arguments_options[@]}" : \
":: :_apt-swarm__help__plumbing_commands" \
"*::: :->plumbing" \
&& ret=0

    case $state in
    (plumbing)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:apt-swarm-help-plumbing-command-$line[1]:"
        case $line[1] in
            (attach-sig)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(canonicalize)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(container-update-check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(db-server)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(dns-bootstrap)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fetch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fingerprint)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(fsck)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(git-object)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(git-scrape)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(index)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(paths)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peerdb-add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peerdb-list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(peerdb-gc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sync-pull)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sync-yield)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_apt-swarm_commands] )) ||
_apt-swarm_commands() {
    local commands; commands=(
'import:Import signed InRelease files' \
'export:Export all known InRelease files' \
'fetch:Fetch the latest InRelease files and import them' \
'latest:Query the latest release for a given key' \
'ls:List hashes of all known releases' \
'keyring:List all keys currently configured for monitoring' \
'pull:Connect to a remote node and sync from them' \
'p2p:Run in p2p swarm mode' \
'plumbing:Access to low-level features' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'apt-swarm commands' commands "$@"
}
(( $+functions[_apt-swarm__export_commands] )) ||
_apt-swarm__export_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm export commands' commands "$@"
}
(( $+functions[_apt-swarm__fetch_commands] )) ||
_apt-swarm__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm fetch commands' commands "$@"
}
(( $+functions[_apt-swarm__help_commands] )) ||
_apt-swarm__help_commands() {
    local commands; commands=(
'import:Import signed InRelease files' \
'export:Export all known InRelease files' \
'fetch:Fetch the latest InRelease files and import them' \
'latest:Query the latest release for a given key' \
'ls:List hashes of all known releases' \
'keyring:List all keys currently configured for monitoring' \
'pull:Connect to a remote node and sync from them' \
'p2p:Run in p2p swarm mode' \
'plumbing:Access to low-level features' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'apt-swarm help commands' commands "$@"
}
(( $+functions[_apt-swarm__help__export_commands] )) ||
_apt-swarm__help__export_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help export commands' commands "$@"
}
(( $+functions[_apt-swarm__help__fetch_commands] )) ||
_apt-swarm__help__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help fetch commands' commands "$@"
}
(( $+functions[_apt-swarm__help__help_commands] )) ||
_apt-swarm__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help help commands' commands "$@"
}
(( $+functions[_apt-swarm__help__import_commands] )) ||
_apt-swarm__help__import_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help import commands' commands "$@"
}
(( $+functions[_apt-swarm__help__keyring_commands] )) ||
_apt-swarm__help__keyring_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help keyring commands' commands "$@"
}
(( $+functions[_apt-swarm__help__latest_commands] )) ||
_apt-swarm__help__latest_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help latest commands' commands "$@"
}
(( $+functions[_apt-swarm__help__ls_commands] )) ||
_apt-swarm__help__ls_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help ls commands' commands "$@"
}
(( $+functions[_apt-swarm__help__p2p_commands] )) ||
_apt-swarm__help__p2p_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help p2p commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing_commands] )) ||
_apt-swarm__help__plumbing_commands() {
    local commands; commands=(
'attach-sig:Create a clear-signed document from a detached signature' \
'canonicalize:Transform a signed InRelease file into a canonical representation' \
'completions:Generate shell completions' \
'config:Print applied configuration' \
'container-update-check:Query a container registry for a more recent release of a given image' \
'db-server:Bind a unix domain socket and allow abstract database access from multiple processes' \
'dns-bootstrap:Run dns bootstrap query, print results' \
'fetch:Fetch a link and write response to stdout' \
'fingerprint:Extract the fingerprint of a pgp key' \
'fsck:Verify stored objects' \
'git-object:Convert signed git objects into signature format used by apt-swarm' \
'git-scrape:Attempt to export all signed objects from a git repo' \
'index:Scan the database and calculate the requested index' \
'migrate:Open a fresh database and re-import the old data' \
'paths:Print configured paths' \
'peerdb-add:Add a peerdb entry' \
'peerdb-list:Read and print peerdb file' \
'peerdb-gc:Remove old peerdb entries' \
'sync-pull:Fetch all available signatures over stdio (use with sync-yield)' \
'sync-yield:Provide access to our signatures over stdio (use with sync-pull)' \
    )
    _describe -t commands 'apt-swarm help plumbing commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__attach-sig_commands] )) ||
_apt-swarm__help__plumbing__attach-sig_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing attach-sig commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__canonicalize_commands] )) ||
_apt-swarm__help__plumbing__canonicalize_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing canonicalize commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__completions_commands] )) ||
_apt-swarm__help__plumbing__completions_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing completions commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__config_commands] )) ||
_apt-swarm__help__plumbing__config_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing config commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__container-update-check_commands] )) ||
_apt-swarm__help__plumbing__container-update-check_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing container-update-check commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__db-server_commands] )) ||
_apt-swarm__help__plumbing__db-server_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing db-server commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__dns-bootstrap_commands] )) ||
_apt-swarm__help__plumbing__dns-bootstrap_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing dns-bootstrap commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__fetch_commands] )) ||
_apt-swarm__help__plumbing__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing fetch commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__fingerprint_commands] )) ||
_apt-swarm__help__plumbing__fingerprint_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing fingerprint commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__fsck_commands] )) ||
_apt-swarm__help__plumbing__fsck_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing fsck commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__git-object_commands] )) ||
_apt-swarm__help__plumbing__git-object_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing git-object commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__git-scrape_commands] )) ||
_apt-swarm__help__plumbing__git-scrape_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing git-scrape commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__index_commands] )) ||
_apt-swarm__help__plumbing__index_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing index commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__migrate_commands] )) ||
_apt-swarm__help__plumbing__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing migrate commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__paths_commands] )) ||
_apt-swarm__help__plumbing__paths_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing paths commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__peerdb-add_commands] )) ||
_apt-swarm__help__plumbing__peerdb-add_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing peerdb-add commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__peerdb-gc_commands] )) ||
_apt-swarm__help__plumbing__peerdb-gc_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing peerdb-gc commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__peerdb-list_commands] )) ||
_apt-swarm__help__plumbing__peerdb-list_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing peerdb-list commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__sync-pull_commands] )) ||
_apt-swarm__help__plumbing__sync-pull_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing sync-pull commands' commands "$@"
}
(( $+functions[_apt-swarm__help__plumbing__sync-yield_commands] )) ||
_apt-swarm__help__plumbing__sync-yield_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help plumbing sync-yield commands' commands "$@"
}
(( $+functions[_apt-swarm__help__pull_commands] )) ||
_apt-swarm__help__pull_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm help pull commands' commands "$@"
}
(( $+functions[_apt-swarm__import_commands] )) ||
_apt-swarm__import_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm import commands' commands "$@"
}
(( $+functions[_apt-swarm__keyring_commands] )) ||
_apt-swarm__keyring_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm keyring commands' commands "$@"
}
(( $+functions[_apt-swarm__latest_commands] )) ||
_apt-swarm__latest_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm latest commands' commands "$@"
}
(( $+functions[_apt-swarm__ls_commands] )) ||
_apt-swarm__ls_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm ls commands' commands "$@"
}
(( $+functions[_apt-swarm__p2p_commands] )) ||
_apt-swarm__p2p_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm p2p commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing_commands] )) ||
_apt-swarm__plumbing_commands() {
    local commands; commands=(
'attach-sig:Create a clear-signed document from a detached signature' \
'canonicalize:Transform a signed InRelease file into a canonical representation' \
'completions:Generate shell completions' \
'config:Print applied configuration' \
'container-update-check:Query a container registry for a more recent release of a given image' \
'db-server:Bind a unix domain socket and allow abstract database access from multiple processes' \
'dns-bootstrap:Run dns bootstrap query, print results' \
'fetch:Fetch a link and write response to stdout' \
'fingerprint:Extract the fingerprint of a pgp key' \
'fsck:Verify stored objects' \
'git-object:Convert signed git objects into signature format used by apt-swarm' \
'git-scrape:Attempt to export all signed objects from a git repo' \
'index:Scan the database and calculate the requested index' \
'migrate:Open a fresh database and re-import the old data' \
'paths:Print configured paths' \
'peerdb-add:Add a peerdb entry' \
'peerdb-list:Read and print peerdb file' \
'peerdb-gc:Remove old peerdb entries' \
'sync-pull:Fetch all available signatures over stdio (use with sync-yield)' \
'sync-yield:Provide access to our signatures over stdio (use with sync-pull)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'apt-swarm plumbing commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__attach-sig_commands] )) ||
_apt-swarm__plumbing__attach-sig_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing attach-sig commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__canonicalize_commands] )) ||
_apt-swarm__plumbing__canonicalize_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing canonicalize commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__completions_commands] )) ||
_apt-swarm__plumbing__completions_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing completions commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__config_commands] )) ||
_apt-swarm__plumbing__config_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing config commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__container-update-check_commands] )) ||
_apt-swarm__plumbing__container-update-check_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing container-update-check commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__db-server_commands] )) ||
_apt-swarm__plumbing__db-server_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing db-server commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__dns-bootstrap_commands] )) ||
_apt-swarm__plumbing__dns-bootstrap_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing dns-bootstrap commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__fetch_commands] )) ||
_apt-swarm__plumbing__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing fetch commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__fingerprint_commands] )) ||
_apt-swarm__plumbing__fingerprint_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing fingerprint commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__fsck_commands] )) ||
_apt-swarm__plumbing__fsck_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing fsck commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__git-object_commands] )) ||
_apt-swarm__plumbing__git-object_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing git-object commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__git-scrape_commands] )) ||
_apt-swarm__plumbing__git-scrape_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing git-scrape commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help_commands] )) ||
_apt-swarm__plumbing__help_commands() {
    local commands; commands=(
'attach-sig:Create a clear-signed document from a detached signature' \
'canonicalize:Transform a signed InRelease file into a canonical representation' \
'completions:Generate shell completions' \
'config:Print applied configuration' \
'container-update-check:Query a container registry for a more recent release of a given image' \
'db-server:Bind a unix domain socket and allow abstract database access from multiple processes' \
'dns-bootstrap:Run dns bootstrap query, print results' \
'fetch:Fetch a link and write response to stdout' \
'fingerprint:Extract the fingerprint of a pgp key' \
'fsck:Verify stored objects' \
'git-object:Convert signed git objects into signature format used by apt-swarm' \
'git-scrape:Attempt to export all signed objects from a git repo' \
'index:Scan the database and calculate the requested index' \
'migrate:Open a fresh database and re-import the old data' \
'paths:Print configured paths' \
'peerdb-add:Add a peerdb entry' \
'peerdb-list:Read and print peerdb file' \
'peerdb-gc:Remove old peerdb entries' \
'sync-pull:Fetch all available signatures over stdio (use with sync-yield)' \
'sync-yield:Provide access to our signatures over stdio (use with sync-pull)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'apt-swarm plumbing help commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__attach-sig_commands] )) ||
_apt-swarm__plumbing__help__attach-sig_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help attach-sig commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__canonicalize_commands] )) ||
_apt-swarm__plumbing__help__canonicalize_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help canonicalize commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__completions_commands] )) ||
_apt-swarm__plumbing__help__completions_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help completions commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__config_commands] )) ||
_apt-swarm__plumbing__help__config_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help config commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__container-update-check_commands] )) ||
_apt-swarm__plumbing__help__container-update-check_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help container-update-check commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__db-server_commands] )) ||
_apt-swarm__plumbing__help__db-server_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help db-server commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__dns-bootstrap_commands] )) ||
_apt-swarm__plumbing__help__dns-bootstrap_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help dns-bootstrap commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__fetch_commands] )) ||
_apt-swarm__plumbing__help__fetch_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help fetch commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__fingerprint_commands] )) ||
_apt-swarm__plumbing__help__fingerprint_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help fingerprint commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__fsck_commands] )) ||
_apt-swarm__plumbing__help__fsck_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help fsck commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__git-object_commands] )) ||
_apt-swarm__plumbing__help__git-object_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help git-object commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__git-scrape_commands] )) ||
_apt-swarm__plumbing__help__git-scrape_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help git-scrape commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__help_commands] )) ||
_apt-swarm__plumbing__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help help commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__index_commands] )) ||
_apt-swarm__plumbing__help__index_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help index commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__migrate_commands] )) ||
_apt-swarm__plumbing__help__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help migrate commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__paths_commands] )) ||
_apt-swarm__plumbing__help__paths_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help paths commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__peerdb-add_commands] )) ||
_apt-swarm__plumbing__help__peerdb-add_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help peerdb-add commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__peerdb-gc_commands] )) ||
_apt-swarm__plumbing__help__peerdb-gc_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help peerdb-gc commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__peerdb-list_commands] )) ||
_apt-swarm__plumbing__help__peerdb-list_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help peerdb-list commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__sync-pull_commands] )) ||
_apt-swarm__plumbing__help__sync-pull_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help sync-pull commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__help__sync-yield_commands] )) ||
_apt-swarm__plumbing__help__sync-yield_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing help sync-yield commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__index_commands] )) ||
_apt-swarm__plumbing__index_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing index commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__migrate_commands] )) ||
_apt-swarm__plumbing__migrate_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing migrate commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__paths_commands] )) ||
_apt-swarm__plumbing__paths_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing paths commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__peerdb-add_commands] )) ||
_apt-swarm__plumbing__peerdb-add_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing peerdb-add commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__peerdb-gc_commands] )) ||
_apt-swarm__plumbing__peerdb-gc_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing peerdb-gc commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__peerdb-list_commands] )) ||
_apt-swarm__plumbing__peerdb-list_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing peerdb-list commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__sync-pull_commands] )) ||
_apt-swarm__plumbing__sync-pull_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing sync-pull commands' commands "$@"
}
(( $+functions[_apt-swarm__plumbing__sync-yield_commands] )) ||
_apt-swarm__plumbing__sync-yield_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm plumbing sync-yield commands' commands "$@"
}
(( $+functions[_apt-swarm__pull_commands] )) ||
_apt-swarm__pull_commands() {
    local commands; commands=()
    _describe -t commands 'apt-swarm pull commands' commands "$@"
}

if [ "$funcstack[1]" = "_apt-swarm" ]; then
    _apt-swarm "$@"
else
    compdef _apt-swarm apt-swarm
fi
