
    є jK                         d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
 ddlmZmZ  G d de	          Z G d	 d
e          Z G d de	          Z G d dee	          Z G d dee	          ZdS )z#Helpers for working with PDF types.    )abstractmethod)Path)IOAnyOptionalProtocolUnion   )StrByteType
StreamTypec            
           e Zd ZU eed<   	 	 ddededeeedf         e	e         df         d	efd
Z
deded	efdZd	ed          fdZd	efdZ	 ddededeef         d	dfdZdS )PdfObjectProtocolindirect_referenceF pdf_destforce_duplicateignore_fields.Nreturnc                     d S Nr   )selfr   r   r   s       dC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pypdf/_protocols.pyclonezPdfObjectProtocol.clone   s	     	    r   c                     d S r   r   )r   r   r   s      r   _reference_clonez"PdfObjectProtocol._reference_clone       r   c                     d S r   r   r   s    r   
get_objectzPdfObjectProtocol.get_object   r   r   c                     d S r   r   r   s    r   
hash_valuezPdfObjectProtocol.hash_value   r   r   streamencryption_keyc                     d S r   r   )r   r#   r$   s      r   write_to_streamz!PdfObjectProtocol.write_to_stream   	     	r   )Fr   r   )__name__
__module____qualname__r   __annotations__boolr	   tuplestrlistr   r   r   r    bytesr"   r   r&   r   r   r   r   r   
   s*        
 !&AC	   U38_d3i=>	
 
   c S S    H%89    E     MQ  27c58H2I	     r   r   c                       e Zd ZdS )XmpInformationProtocolN)r(   r)   r*   r   r   r   r2   r2   $   s        Dr   r2   c                       e Zd Zedefd            Zedee         fd            Zede	fd            Z
dedee	         fdZedefd            ZdS )	PdfCommonDocProtocolr   c                     d S r   r   r   s    r   
pdf_headerzPdfCommonDocProtocol.pdf_header)       r   c                     d S r   r   r   s    r   pageszPdfCommonDocProtocol.pages-   r7   r   c                     d S r   r   r   s    r   root_objectz PdfCommonDocProtocol.root_object1   r7   r   r   c                     d S r   r   )r   r   s     r   r    zPdfCommonDocProtocol.get_object5   r   r   c                     d S r   r   r   s    r   strictzPdfCommonDocProtocol.strict8   r7   r   N)r(   r)   r*   propertyr.   r6   r/   r   r9   r   r;   r   r    r,   r>   r   r   r   r4   r4   (   s        C    X tCy    X .    XS X>O5P         X  r   r4   c                       e Zd Zeedeeeeef         f         fd                        Zeedee	ef         fd                        Z
dS )PdfReaderProtocolr   c                     d S r   r   r   s    r   xrefzPdfReaderProtocol.xref>   r'   r   c                     d S r   r   r   s    r   trailerzPdfReaderProtocol.trailerC   r'   r   N)r(   r)   r*   r?   r   dictintr   rC   r.   rE   r   r   r   rA   rA   =   s        d3S#X./    ^ X c3h    ^ X  r   rA   c                       e Zd ZU ee         ed<   eeeeef         f         ed<   eed<   eed<   e	de
eef         deeee         f         fd            Ze	dedefd	            Zd
S )PdfWriterProtocol_objects_id_translatedincremental_readerr#   r   c                     d S r   r   )r   r#   s     r   writezPdfWriterProtocol.writeP   r7   r   objc                     d S r   r   )r   rP   s     r   _add_objectzPdfWriterProtocol._add_objectT   r7   r   N)r(   r)   r*   r/   r   r+   rF   rG   r,   r   r	   r   r   r-   r   rO   rR   r   r   r   rI   rI   I   s         3id38n,----LLLE$"34 tRW}9M    ^ s s    ^  r   rI   N)__doc__abcr   pathlibr   typingr   r   r   r   r	   _utilsr   r   r   r2   r4   rA   rI   r   r   r   <module>rX      sT   ) )             5 5 5 5 5 5 5 5 5 5 5 5 5 5 + + + + + + + +       4	 	 	 	 	. 	 	 	    8   *	 	 	 	 	,h 	 	 	    ,h     r   