�
)uyc%H � �� � d Z ddlZ ddlmZmZmZmZmZmZ ddlm Z n# e
$ r Y nw xY wddlZd� Z
ej dg d�� � Z G d� d e� � Z G d
� d� � ZdS )a� architecture matching
This leverages code from dpkg's Dpkg::Arch as well as python rewrites from
other people. Copyright years imported from the sources.
@copyright: 2006-2015 Guillem Jover <guillem@debian.org>
@copyright: 2014, Ansgar Burchardt <ansgar@debian.org>
@copyright: 2014-2017, Johannes Schauer Marin Rodrigues <josch@debian.org>
@copyright: 2022, Niels Thykier <niels@thykier.net>
@license: GPL-2+
� N)�Iterable�Optional�IO�List�Dict�Union)�PathLikec # � K � | D ]D}|� � � }|r|� d� � r�.|� � � V � �Ed S )N�#)�rstrip�
startswith�split)�fd�lines �4/usr/lib/python3/dist-packages/debian/_arch_table.py�_parse_table_filer % sa � � � �� � ���{�{�}�}��� �t���s�+�+� ���j�j�l�l����� � � �
_QuadTuple)�api_name� libc_name�os_name�cpu_namec �8 � � e Zd ZdZ� fd�Zed� � � Z� xZS )�QuadTupleDpkgArchitecturez"Implementation detail of ArchTablec �� �� t |t � � r@| j d|j fv o/| j d|j fv o| j d|j fv o| j d|j fv S t
� � � |� � S �N�any)�
isinstancer r r r r �super�__contains__)�self�item� __class__s �r r z&QuadTupleDpkgArchitecture.__contains__4 s� �� ��d�5�6�6� ?��=�U�D�M�$:�:� ?��~�%���)@�@�?��|��t�|�'<�<�?� �}���
�(>�>�
?� �w�w�#�#�D�)�)�)r c �4 � t d� | D � � � � S )Nc 3 �" |