
    g                     2    d dl mZ dedefdZdedefdZdS )   )commonmsgreturnc                    t          j        |           rdS t          j        t          j        |                     }|dd         dk    rdS t          j        |dd                   dk    rdS dt          |           v rdS dS )zCheck if a message is likely to be BDS code 2,0

    Args:
        msg (str): 28 hexdigits string

    Returns:
        bool: True or False
    F       001000008   T#)r   allzeroshex2bindatabin2intcs20)r   ds     K/home/andy/.local/lib/python3.11/site-packages/pyModeS/decoder/bds/bds20.pyis20r   	   s     s uv{3''((A1vu ~a"g!##t
d3iiu4    c                    d}t          j        t          j        |                     }d}||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd                            z  }||t          j        |dd	                            z  }||t          j        |d	d
                            z  }||t          j        |d
d                            z  }|S )z}Aircraft callsign

    Args:
        msg (str): 28 hexdigits string

    Returns:
        string: callsign, max. 8 chars
    z@#ABCDEFGHIJKLMNOPQRSTUVWXYZ#####_###############0123456789###### r                &   ,   2   r
   )r   r   r   r   )r   charsr   css       r   r   r   %   s5    OEv{3''((A	B%q2w''
((B%qBx((
))B%qBx((
))B%qBx((
))B%qBx((
))B%qBx((
))B%qBx((
))B%qBx((
))BIr   N)r   r   strboolr   r    r   r   <module>r#      sg         c d    8c c      r   