o
    fv                     @   sf   d dl mZmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZ G dd dZdS )	    )AnyIterableListOptionalTuple)settings)PDFSyntaxError)
list_value	int_value
dict_value)choplistc                   @   sl   e Zd ZU dZdefddZdeeeef  fddZ	eeeef  e
d< edeeeef  fd	d
ZdS )
NumberTreezDA PDF number tree.

    See Section 3.8.6 of the PDF Reference.
    objc                 C   sr   t || _d | _d | _d | _d| jv rt| jd | _d| jv r(t| jd | _d| jv r7t| jd | _d S d S )NNumsKidsLimits)r   _objnumskidslimitsr	   )selfr    r   Q/home/ubuntu/webapp/venv/lib/python3.10/site-packages/pdfminer/data_structures.py__init__   s   



zNumberTree.__init__returnc                 C   sX   g }| j rtd| j D ]\}}|t||f q| jr*| jD ]
}|t| 7 }q|S )N   )r   r   appendr
   r   r   _parse)r   itemskv	child_refr   r   r   r      s   
zNumberTree._parsevaluesc                 C   sN   |   }tjrtdd t||dd  D std|S |jdd d |S )Nc                 s   s$    | ]\}}|d  |d  kV  qdS )r   Nr   ).0abr   r   r   	<genexpr>/   s   " z$NumberTree.values.<locals>.<genexpr>   z%Number tree elements are out of orderc                 S   s   | d S )Nr   r   )tr   r   r   <lambda>2   s    z#NumberTree.values.<locals>.<lambda>)key)r   r   STRICTallzipr   sort)r   r"   r   r   r   r"   *   s    zNumberTree.valuesN)__name__
__module____qualname____doc__r   r   r   r   intr   __annotations__propertyr"   r   r   r   r   r   	   s   
  r   N)typingr   r   r   r   r   pdfminerr   pdfminer.pdfparserr   pdfminer.pdftypesr	   r
   r   pdfminer.utilsr   r   r   r   r   r   <module>   s    