<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def list_repos(**kwargs):
    '''
    List all repos known by XBPS

    CLI Example:

    .. code-block:: bash

       salt '*' pkg.list_repos
    '''
    repos = {}
    out = __salt__['cmd.run']('xbps-query -L', output_loglevel='trace')
    for line in out.splitlines():
        repo = {}
        if not line:
            continue
        try:
            nb, url, rsa = line.strip().split(' ', 2)
        except ValueError:
            log.error(
                'Problem parsing xbps-query: '
                'Unexpected formatting in line: "%s"', line
            )
        repo['nbpkg'] = int(nb) if nb.isdigit() else 0
        repo['url'] = url
        repo['rsasigned'] = True if rsa == '(RSA signed)' else False
        repos[repo['url']] = repo
    return repos