/
lib
/
python3
/
dist-packages
/
debian
/
_deb822_repro
/
__pycache__
/
Upload File
HOME
� )uyc<% � �� � d dl Z d dlZ d dlZd dlZd dlZd dlmZ d dlmZm Z m Z mZmZm Z mZmZmZmZ d dlmZ d dlmZmZmZ ee e eef ge e eef f Zn# e$ r dZd� ZY nw xY werd dlmZ d d lmZ d dd�d�Zdd �d�Zej dk sere j j e Z!n G d� de j j ee e� � Z! G d� de!e ee � � Z" dd�Z#dS )� N)�ABC) �Optional�Union�Iterable�Callable� TYPE_CHECKING�Iterator�Type�cast�List�Generic)�T)�TE�R�TokenOrElementFc � � |S �N� )�t�vs �</usr/lib/python3/dist-packages/debian/_deb822_repro/_util.py�<lambda>r s � �� � �� Deb822Element)�Deb822Token� )�end_marker_after�output_functionc � � ddl m} d}t | |� � r| g} ddt | � � fg}d}|�t j }|r�|d \ }}} | D ]�} |dz }|�dt |� � z }t | |� � r]|� || j j t | � � � � � f� � ||| j j z � � d} nd ||t | � � z � � ��|� � � d}|�0||z |k r'|r%|�dt |� � z } ||dz |z � � |��dS dS ) a~ Debugging aid, which can dump a Deb822Element or a list of tokens/elements :param ast_tree: Either a Deb822Element or an iterable Deb822Token/Deb822Element entries (both types may be mixed in the same iterable, which enable it to dump the ast tree at different stages of parse_deb822_file method) :param end_marker_after: The dump will add "end of element" markers if a given element spans at least this many tokens/elements. Can be disabled with by passing None as value. Use 0 for unconditionally marking all elements (note that tokens never get an "end of element" marker as they are not an elements). :param output_function: Callable that receives a single str argument and is responsible for "displaying" that line. The callable may be invoked multiple times (one per line of output). Defaults to logging.info if omitted. r r N� ���� z z # <-- END OF ) �debian._deb822_repro.parsingr � isinstance�iter�logging�info�len�append� __class__�__name__� iter_parts�str�pop)�ast_treer r r �prefix�stack� current_no�start_no�name�current_iter�currents r � print_astr8 s� � �. ;�:�:�:�:�:� �F��(�M�*�*� ��:����T�(�^�^� $�%�E��J���!�,�� � A�',�R�y�$��$��#� A� A�G��!�O�J��~���E� � �*���'�=�1�1� ����j�'�*;�*D�d�7�K]�K]�K_�K_�F`�F`�a�b�b�b�����):�)C� C�D�D�D������O�F�S��\�\�1�2�2�2�2� �I�I�K�K�K��F��+��;K�0K�z�0Y�0Y�^b�0Y��>�!�C��J�J�.�F����� 8�4� ?�@�@�@�'