§
    ¡”jm ã                   ór  — d Z dZddlZddlZddlZddlmZm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mZ dd
lmZmZmZmZmZmZmZmZmZ ddl m!Z!m"Z"m#Z#m$Z$ ddl m%Z& ddl m'Z( ddl m)Z* ddl+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@mAZAmBZB ddlmCZCmDZD ejE        dk    rddlmFZF nddlGmFZF  ejH        eI¦  «        ZJ ejK        d¦  «        ZL G d„ deMe         e8¦  «        ZN G d„ deOeef         e8¦  «        ZP G d„ deP¦  «        ZQdeddfd „ZR G d!„ d"eP¦  «        ZS G d#„ d$eS¦  «        ZT G d%„ d&eS¦  «        ZUd'ZV G d(„ d)eT¦  «        ZW	 d2d*ed+ee         d,edeXeMeX         eOeYeXf         f         dee8eYeXeWf         fd-„ZZ G d.„ d/eQ¦  «        Z[ G d0„ d1eQ¦  «        Z\dS )3zMathieu Fenniakzbiziqe@mathieu.fenniak.neté    N)ÚIterableÚSequence)ÚBytesIO)Úceil)ÚAnyÚCallableÚOptionalÚUnionÚcasté   )ÚPdfReaderProtocolÚPdfWriterProtocolÚXmpInformationProtocol)	ÚWHITESPACESÚBinaryStreamTypeÚ
StreamTypeÚdeprecation_no_replacementÚlogger_warningÚread_non_whitespaceÚread_until_regexÚread_until_whitespaceÚskip_over_comment)ÚCheckboxRadioButtonAttributesÚFieldDictionaryAttributesÚOutlineFontFlagÚStreamAttributes)ÚFilterTypes)ÚTypArguments)ÚTypFitArguments)ÚSTREAM_TRUNCATED_PREMATURELYÚLimitReachedErrorÚPdfReadErrorÚPdfStreamErroré   )
ÚBooleanObjectÚByteStringObjectÚFloatObjectÚIndirectObjectÚ
NameObjectÚ
NullObjectÚNumberObjectÚ	PdfObjectÚTextStringObjectÚis_null_or_none)ÚFit)Úextract_inline__ascii85_decodeÚ extract_inline__ascii_hex_decodeÚextract_inline__dct_decodeÚ!extract_inline__run_length_decodeÚextract_inline_default)Úread_hex_string_from_streamÚread_string_from_stream)é   é   )ÚSelfs   [+-]?(\d+)\s+(\d+)\s+R[^a-zA-Z]c                   óf  — e Zd Zdedd fd„Z	 	 ddededeeee	e
f                           dd fd„Zde
fd	„Zdee         fd
„Zdedee         fd„Zdedd fd„Zdedefd„Zdedefd„Z	 ddedede	ef         ddfd„Ze	 ddedee         dede	ee	         ee
e	f         f         dd fd„¦   «         ZdS )ÚArrayObjectÚpdf_destÚreturnc                 ó  — t          d|                      t          ¦   «         |d¦  «        ¦  «        }| D ]P}t          |d¦  «        r)|                     |                     |¦  «        ¦  «         Œ;|                     |¦  «         ŒQ|S )Nr;   FÚ	replicate)r   Ú_reference_cloner;   ÚhasattrÚappendr?   )Úselfr<   ÚarrÚdatas       úm/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pypdf/generic/_data_structures.pyr?   zArrayObject.replicatee   s�   € õ ØØ×!Ò!¥+¡-¤-°¸5ÑAÔAñ
ô 
ˆð ð 	!ð 	!ˆDÝ�t˜[Ñ)Ô)ð !Ø—
’
˜4Ÿ>š>¨(Ñ3Ô3Ñ4Ô4Ð4Ð4à—
’
˜4Ñ Ô Ð Ð Øˆ
ó    F© Úforce_duplicateÚignore_fieldsc                 ó*  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          d|                      t          ¦   «         |d¬¦  «        ¦  «        }| D �]6}t          |t          ¦  «        rG|                     |                     |||¦  «        ||¦  «        }| 	                    |j         ¦  «         Œ_t          |t          ¦  «        rqt          |                     ¦   «         x}t          ¦  «        rH|                     |                     |d|¬¦  «        ||¦  «        }| 	                    |j         ¦  «         Œåt          |d¦  «        r,| 	                    |                     |||¦  «        ¦  «         �Œ!| 	                    |¦  «         �Œ8|S )úClone object into pdf_dest.r;   T)rI   )rI   rJ   Úclone)Úindirect_referenceÚpdfÚ	Exceptionr   r@   r;   Ú
isinstanceÚStreamObjectrM   rB   r(   Ú
get_objectrA   )rC   r<   rI   rJ   rD   rE   ÚdupÚresolveds           rF   rM   zArrayObject.clonet   s«  € ð	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøåØØ×!Ò!¥+¡-¤-°È4Ð!ÑPÔPñ
ô 
ˆð ð 	!ñ 	!ˆDÝ˜$¥Ñ-Ô-ð !Ø×+Ò+Ø—J’J˜x¨¸-ÑHÔHØØ#ñô �ð
 —
’
˜3Ô1Ñ2Ô2Ð2Ð2Ý˜D¥.Ñ1Ô1ð 
!µjÈTÏ_Ê_ÑM^ÔM^ÐA^ÀÕ`lÑ6mÔ6mð 
!Ø×+Ò+Ø—N’N 8¸TÐQ^�NÑ_Ô_ØØ#ñô �ð
 —
’
˜3Ô1Ñ2Ô2Ð2Ð2Ý˜˜wÑ'Ô'ð !Ø—
’
˜4Ÿ:š: h°ÀÑOÔOÑPÔPÐPÑPà—
’
˜4Ñ Ô Ð Ñ Øˆ
ó   ‚ —
$£$c                 ó\   — t          | j        t          d„ | D ¦   «         ¦  «        f¦  «        S )úq
        Used to detect modified object.

        Returns:
            Hash considering type and value.

        c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S ©N©Úhash_bin)Ú.0Úxs     rF   ú	<genexpr>z'ArrayObject.hash_bin.<locals>.<genexpr>¡   s*   è è € Ð*FÐ*F¸A¨1¯:ª:©<¬<Ð*FÐ*FÐ*FÐ*FÐ*FÐ*FrG   )ÚhashÚ	__class__Útuple©rC   s    rF   r\   zArrayObject.hash_bin™   s0   € õ �T”^¥UÐ*FÐ*FÀÐ*FÑ*FÔ*FÑ%FÔ%FÐGÑHÔHÐHrG   c                 ó    — t          | ¦  «        S )z:Emulate DictionaryObject.items for a list (index, object).)Ú	enumeraterc   s    rF   ÚitemszArrayObject.items£   s   € å˜‰ŒÐrG   Úlstc                 ót  — t          |t          t          t          f¦  «        rt          |¦  «        }n…t          |t          ¦  «        r|g}nlt          |t
          ¦  «        r.|d         dk    rt          |¦  «        g}n:t          |¦  «        g}n)t          |t          ¦  «        rt          |¦  «        g}n|g}|S )Nr   ú/)
rQ   Úlistrb   Úsetr,   Ústrr)   r-   Úbytesr&   )rC   rg   Úresults      rF   Ú_to_lstzArrayObject._to_lst§   s¶   € õ �c�D¥%­Ð-Ñ.Ô.ð 	Ý˜#‘Y”YˆFˆFÝ˜�YÑ'Ô'ð 
	Ø�UˆFˆFÝ˜�SÑ!Ô!ð 	Ø�1Œv˜Š}ˆ}Ý$ S™/œ/Ð*��å*¨3Ñ/Ô/Ð0��Ý˜�UÑ#Ô#ð 	Ý& sÑ+Ô+Ð,ˆFˆFà�UˆFØˆrG   c                 ót   — t          | ¦  «        }|                     |                      |¦  «        ¦  «         |S )aÇ  
        Allow extension by adding list or add one element only

        Args:
            lst: any list, tuples are extended the list.
            other types(numbers,...) will be appended.
            if str is passed it will be converted into TextStringObject
            or NameObject (if starting with "/")
            if bytes is passed it will be converted into ByteStringObject

        Returns:
            ArrayObject with all elements

        )r;   Úextendro   )rC   rg   Útemps      rF   Ú__add__zArrayObject.__add__¹   s4   € õ ˜4Ñ Ô ˆØ�Š�D—L’L Ñ%Ô%Ñ&Ô&Ð&ØˆrG   c                 óV   — |                       |                      |¦  «        ¦  «         | S )aŒ  
         Allow extension by adding list or add one element only

        Args:
            lst: any list, tuples are extended the list.
            other types(numbers,...) will be appended.
            if str is passed it will be converted into TextStringObject
            or NameObject (if starting with "/")
            if bytes is passed it will be converted into ByteStringObject

        )rq   ro   )rC   rg   s     rF   Ú__iadd__zArrayObject.__iadd__Ì   s'   € ð 	�Š�D—L’L Ñ%Ô%Ñ&Ô&Ð&ØˆrG   c                 óˆ   — |                       |¦  «        D ]+}	 |                      |¦  «        }| |= Œ# t          $ r Y Œ(w xY w| S )zAllow to remove items)ro   ÚindexÚ
ValueError)rC   rg   r^   rw   s       rF   Ú__isub__zArrayObject.__isub__Û   s_   € à—’˜cÑ"Ô"ð 	ð 	ˆAðØŸ
š
 1™œ�Ø˜�K�KøÝð ð ð Ø�ðøøøàˆs   ™2²
?¾?NÚstreamÚencryption_keyc                 óÜ   — |�t          dd¦  «         |                     d¦  «         | D ],}|                     d¦  «         |                     |¦  «         Œ-|                     d¦  «         d S )Nú/the encryption_key parameter of write_to_streamú5.0.0ó   [ó    s    ])r   ÚwriteÚwrite_to_stream)rC   rz   r{   rE   s       rF   r‚   zArrayObject.write_to_streamå   s…   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�TÑÔÐØð 	)ð 	)ˆDØ�LŠL˜ÑÔÐØ× Ò  Ñ(Ô(Ð(Ð(Ø�Š�UÑÔÐÐÐrG   rO   Úforced_encodingc                 ó\  — t          ¦   «         }|                      d¦  «        }|dk    rt          d¦  «        ‚	 |                      d¦  «        }|                     ¦   «         r)|                      d¦  «        }|                     ¦   «         °)|dk    rn™|dk    r&|                      dd¦  «         t          | ¦  «         Œ†|                      dd¦  «         |                      d¦  «        }|dk    rn;|                      dd¦  «         |                     t          | ||¦  «        ¦  «         Œò|S )	Nr$   r   zCould not read arrayTrG   ó   %éÿÿÿÿó   ])r;   Úreadr"   ÚisspaceÚseekr   rB   Úread_object)rz   rO   rƒ   rD   ÚtmpÚtokÚ
peek_aheads          rF   Úread_from_streamzArrayObject.read_from_streamò   s$  € õ ‰mŒmˆØ�kŠk˜!‰nŒnˆØ�$Š;ˆ;ÝÐ5Ñ6Ô6Ð6ð	Bà—+’+˜a‘.”.ˆCØ—+’+‘-”-ð %Ø—k’k !‘n”n�ð —+’+‘-”-ð %à�cŠzˆzØØ�dŠ{ˆ{Ø—’˜B Ñ"Ô"Ð"Ý! &Ñ)Ô)Ð)ØØ�KŠK˜˜AÑÔÐàŸš Q™œˆJØ˜TÒ!Ð!ØØ�KŠK˜˜AÑÔÐà�JŠJ•{ 6¨3°Ñ@Ô@ÑAÔAÐAð%	Bð& ˆ
rG   ©FrH   rZ   )Ú__name__Ú
__module__Ú__qualname__r   r?   Úboolr	   r   r
   rl   ÚintrM   r\   r   r   rf   rj   ro   rs   r9   ru   ry   r   rm   r‚   Ústaticmethodr   Údictr�   rH   rG   rF   r;   r;   d   s  € € € € € ðà#ðð 
ðð ð ð ð$ !&Ø=?ð	#ð #à#ð#ð ð#ð   ¨¨s°C¨x¬Ô 9Ô:ð	#ð
 
ð#ð #ð #ð #ðJI˜#ð Ið Ið Ið Ið�x ”}ð ð ð ð ð˜3ð  4¨¤9ð ð ð ð ð$˜3ð  =ð ð ð ð ð&˜Cð  Dð ð ð ð ð˜Cð  Dð ð ð ð ð MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð ð HLðð ØðàÐ'Ô(ðð ˜t S¨$¨s¬)°T¸#¸s¸(´^ÐCÔDðð 
ð	ð ð ñ „\ðð ð rG   r;   c                   óV  — e Zd Zdedd fd„Z	 	 d"dededeeee	e
f                           dd fd„Zd	d dededeeee	e
f                           d
eee
e
f                  ddfd„Zde
fd„Zdedefd„Zd#de	dedefd„Zdededefd„Zd#dedee         defd„Zdedefd„Zedee         fd„¦   «         Z	 d#dedede	ef         ddfd„Zede
de
dee
         dede
f
d„¦   «         Z ede!dedefd„¦   «         Z"e#	 d#dedee         d ede	ee	         e$e
e	f         f         dd fd!„¦   «         Z%dS )$ÚDictionaryObjectr<   r=   c                 ó"  — t          d|                      |                      ¦   «         |d¦  «        ¦  «        }|                      ¦   «         D ]B\  }}t	          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )Nr™   Fr?   )r   r@   ra   rf   rA   r?   )rC   r<   Úd__ÚkÚvs        rF   r?   zDictionaryObject.replicate  s•   € õ ØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸eÑDÔDñ
ô 
ˆð —J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
rG   FrH   rI   rJ   c                 ó`  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          ¦   «         }t	          d|                      |                      ¦   «         ||¦  «        ¦  «        }|€g }t          |                     ¦   «         ¦  «        dk    r| 	                    | ||||¦  «         |S )rL   r™   Nr   )
rN   rO   rP   rk   r   r@   ra   ÚlenÚkeysÚ_clone©rC   r<   rI   rJ   Úvisitedr›   s         rF   rM   zDictionaryObject.clone!  sÄ   € ð	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøõ ),©¬ˆÝØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸oÑNÔNñ
ô 
ˆð Ð ØˆMÝˆs�xŠx‰zŒz‰?Œ?˜aÒÐØ�JŠJ�t˜X ¸ÀwÑOÔOÐOØˆ
rV   Úsrcr£   Nc           
      ó  ‡‡— ‰€J ‚t          ‰¦  «        Šd}|t          ‰¦  «        k     rit          ‰|         t          ¦  «        r6t	          t          ‰|         ¦  «        dk    r‰|= ‰|= ŒT‰|xx         dz  cc<   |dz  }|t          ‰¦  «        k     °it          ˆˆfd„dD ¦   «         ¦  «        �rt          ‰¦  «        ŠdD �]}|D �]û}g }	|‰v �rñ|| v�rìt          ‰                     |¦  «        t          ¦  «        �rÃt          ‰|         t          ¦  «        �r§‰ 	                    dd¦  «        �wt	          t          ‰|         ¦  «         	                    dd¦  «        �H‰ 	                    dd¦  «        t	          t          ‰|         ¦  «         	                    dd¦  «        k    �rt	          d‰|         ¦  «        }
| }|
�ßt	          d|
 
                    |
                     ¦   «         ||¦  «        ¦  «        }|j        �8|j        j        }|j        j        }||f|v rd}
n€|                     ||f¦  «         |	                     |
|f¦  «         |€J ‚|j        |t#          |¦  «        <   |}	 |
‰k    rd}
nt	          d|
|         ¦  «        }
n# t$          $ r d}
Y nw xY w|
­ß|	D ]\  }}|                     |||‰|¦  «         Œ�Œý�Œ‰                     ¦   «         D ]°\  }}|‰vr§t          |t*          ¦  «        rUt-          |d	¦  «        sd|_        |                     ||‰¦  «        }|j        €J ‚|j        | |                     |¦  «        <   Œs|| vr9t-          |d
¦  «        r|                     ||‰¦  «        n|| t#          |¦  «        <   Œ±dS )z°
        Update the object from src.

        Args:
            src: "DictionaryObject":
            pdf_dest:
            force_duplicate:
            ignore_fields:

        Nr   r$   c              3   óÎ  •K  — | ]ß}|‰voÖ|‰v oÒt          ‰                     |¦  «        t          ¦  «        oªt          ‰|         t          ¦  «        o�‰                     d d¦  «        du pwt          t          ‰|         ¦  «                             d d¦  «        du pF‰                     d d¦  «        t          t          ‰|         ¦  «                             d d¦  «        k    V — ŒàdS )ú/TypeN)rQ   Úraw_getr(   r™   Úgetr   )r]   ÚfieldrJ   r¤   s     €€rF   r_   z*DictionaryObject._clone.<locals>.<genexpr>Y  s
  øè è € ð 
ð 
ð ð ˜Ð&ð 	Ø˜�ð	å˜3Ÿ;š; uÑ-Ô-­~Ñ>Ô>ð	õ ˜3˜uœ:Õ'7Ñ8Ô8ð	ð
 —’˜ Ñ&Ô&¨$Ð.ð IÝÕ(¨#¨e¬*Ñ5Ô5×9Ò9¸'À4ÑHÔHÈDÐPðIà—7’7˜7 DÑ)Ô)ÝÕ(¨#¨e¬*Ñ5Ô5×9Ò9¸'À4ÑHÔHòIð
ð 
ð 
ð 
ð 
ð 
rG   )ú/Nextú/Prevú/Nú/V))r«   r¬   )r­   r®   r§   r™   rN   rM   )rj   rŸ   rQ   r•   r   Úanyr¨   r(   r™   r©   r@   ra   rN   ÚidnumÚ
generationÚaddrB   r)   rP   r¡   rf   rR   rA   rM   )rC   r¤   r<   rI   rJ   r£   r^   rg   rœ   ÚobjsÚcur_objÚprev_objÚclonr°   r±   ÚsÚcr�   Úvvs    `  `              rF   r¡   zDictionaryObject._clone9  sR  øø€ ð( Ð(Ð(Ð(Ý˜]Ñ+Ô+ˆØˆØ•#�mÑ$Ô$Ò$Ð$Ý˜-¨Ô*­CÑ0Ô0ð &Ý�˜]¨1Ô-Ñ.Ô.°!Ò3Ð3Ø% aÐ(Ø% aÐ(ØØ˜aÐ Ð Ô  AÑ%Ð Ð Ñ Ø�‰FˆAð •#�mÑ$Ô$Ò$Ð$õ ð 
ð 
ð 
ð 
ð 
ð 8ð
ñ 
ô 
ñ 
ô 
ñ @	õ ! Ñ/Ô/ˆMØ9ð 2ñ 2�Øð 1ñ 1�AØ�Dà˜S˜™Ø T˜M™MÝ& s§{¢{°1¡~¤~µ~ÑFÔFñ *å& s¨1¤vÕ/?Ñ@Ô@ñ *ð  ŸGšG G¨TÑ2Ô2Ð:Ý#Õ$4°c¸!´fÑ=Ô=×AÒAÀ'È4ÑPÔPÐXØ"Ÿwšw w°Ñ5Ô5Ý#Õ$4°c¸!´fÑ=Ô=×AÒAÀ'È4ÑPÔPò Qñ  Qõ ?CØ.°°A´ñ?ô ?˜ð @D˜Ø%Ð1Ý#'Ø 2Ø '× 8Ò 8Ø$+×$5Ò$5Ñ$7Ô$7¸À?ñ!"ô !"ñ$ô $˜Dð  $Ô6ÐBØ(,Ô(?Ô(E Ø-1Ô-DÔ-O 
Ø$)¨:Ð#6¸'Ð#AÐ#AØ.2 GØ$)Ø '§¢¨U°JÐ,?Ñ @Ô @Ð @Ø ŸKšK¨°$¨Ñ8Ô8Ð8Ø#+Ð#7Ð#7Ð#7Ø6:Ô6M˜H¥Z°¡]¤]Ñ3Ø'+˜Hð/Ø#*¨c¢> >Ø.2 G Gå.2Ð3EÀwÈqÄzÑ.RÔ.R GøøÝ#,ð /ð /ð /Ø*.   ð/øøøð1 &Ð1ð4 %)ð ð ™D˜A˜qØŸHšHØ ! 8¨_¸mÈWñô ð ð ùñ_1ðf —I’I‘K”Kð 	ð 	‰DˆAˆqØ˜Ð%Ð%Ý˜a¥Ñ.Ô.ð Ý" 1Ð&:Ñ;Ô;ð 4Ø/3˜Ô,ØŸš ¨?¸MÑJÔJ�BØÔ0Ð<Ð<Ð<Ø.0Ô.C�D˜Ÿš Ñ*Ô*Ñ+Ð+Ø˜d�]�]õ # 1 gÑ.Ô.ð˜Ÿš ¨/¸=ÑIÔIÐIàð � A™œÑ'øð	ð 	s   É-JÊJÊJc                 ó€   — t          | j        t          d„ |                      ¦   «         D ¦   «         ¦  «        f¦  «        S )rX   c              3   óH   K  — | ]\  }}||                      ¦   «         fV — Œd S rZ   r[   )r]   rœ   r�   s      rF   r_   z,DictionaryObject.hash_bin.<locals>.<genexpr>³  s3   è è € Ð#OÐ#O¹$¸!¸Q Q¨¯
ª
©¬Ð$5Ð#OÐ#OÐ#OÐ#OÐ#OÐ#OrG   )r`   ra   rb   rf   rc   s    rF   r\   zDictionaryObject.hash_binª  s?   € õ ØŒ^�UÐ#OÐ#OÀ$Ç*Â*Á,Ä,Ð#OÑ#OÔ#OÑPÔPÐQñ
ô 
ð 	
rG   Úkeyc                 ó8   — t                                | |¦  «        S rZ   )r—   Ú__getitem__©rC   r¼   s     rF   r¨   zDictionaryObject.raw_get¶  s   € Ý×Ò  cÑ*Ô*Ð*rG   Údefaultc                 óÞ   — || v r| |         S 	 d| vr|S t          d¦  «        ‚# t           $ r? t          d| d                              ¦   «         ¦  «                             ||¦  «        cY S w xY w)a>  
        Returns the value of a key or from the parent if not found.
        If not found returns default.

        Args:
            key: string identifying the field to return

            default: default value to return

        Returns:
            Current key or inherited one, otherwise default value.

        ú/ParentzNot presentr™   )ÚKeyErrorr   rS   Úget_inherited)rC   r¼   rÀ   s      rF   rÄ   zDictionaryObject.get_inherited¹  s—   € ð �$ˆ;ˆ;Ø˜”9Ðð	Ø Ð$Ð$Ø�Ý˜=Ñ)Ô)Ð)øÝð 	ð 	ð 	ÝÐ*¨D°¬O×,FÒ,FÑ,HÔ,HÑIÔI×WÒWØ�Wñô ð ð ð ð	øøøs   Ž# ”# £AA,Á+A,Úvaluec                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S ©NzKey must be a PdfObjectzValue must be a PdfObject)rQ   r,   rx   r—   Ú__setitem__©rC   r¼   rÅ   s      rF   rÈ   zDictionaryObject.__setitem__Ò  s\   € Ý˜#�yÑ)Ô)ð 	8ÝÐ6Ñ7Ô7Ð7Ý˜%¥Ñ+Ô+ð 	:ÝÐ8Ñ9Ô9Ð9Ý×Ò  c¨5Ñ1Ô1Ð1rG   c                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S rÇ   )rQ   r,   rx   r—   Ú
setdefaultrÉ   s      rF   rË   zDictionaryObject.setdefaultÙ  sZ   € Ý˜#�yÑ)Ô)ð 	8ÝÐ6Ñ7Ô7Ð7Ý˜%¥Ñ+Ô+ð 	:ÝÐ8Ñ9Ô9Ð9Ý�Š˜t S¨%Ñ0Ô0Ð0rG   c                 ó‚   — t          t          t                               | |¦  «                             ¦   «         ¦  «        S rZ   )r   r,   r—   r¾   rS   r¿   s     rF   r¾   zDictionaryObject.__getitem__à  s.   € Ý•I�t×/Ò/°°cÑ:Ô:×EÒEÑGÔGÑHÔHÐHrG   c                 ó²   — ddl m} |                      dd¦  «        }t          |¦  «        rdS |€
J d¦   «         ‚|                     ¦   «         } ||¦  «        S )u¦  
        Retrieve XMP (Extensible Metadata Platform) data relevant to this
        object, if available.

        See Table 347 â€” Additional entries in a metadata stream dictionary.

        Returns:
          Returns a :class:`~pypdf.xmp.XmpInformation` instance
          that can be used to access XMP metadata from the document. Can also
          return None if no metadata was found on the document root.

        r   )ÚXmpInformationz	/MetadataNÚmypy)ÚxmprÎ   r©   r.   rS   )rC   rÎ   Úmetadatas      rF   Úxmp_metadatazDictionaryObject.xmp_metadataã  ss   € ð 	)Ð(Ð(Ð(Ð(Ð(à—8’8˜K¨Ñ.Ô.ˆÝ˜8Ñ$Ô$ð 	Ø�4ØÐ#Ð# VÑ#Ô#Ð#Ø×&Ò&Ñ(Ô(ˆØˆ~˜hÑ'Ô'Ð'rG   rz   r{   c                 ó´  — |�t          dd¦  «         |                     d¦  «         |                      ¦   «         D ]†\  }}t          |¦  «        dk    r|d         dk    r|d         dk    rŒ1|                     ||¦  «         |                     d¦  «         |                     |¦  «         |                     d	¦  «         Œ‡|                     d
¦  «         d S )Nr}   r~   ó   <<
r   r$   ú%r†   r€   ó   
ó   >>)r   r�   rf   rŸ   r‚   )rC   rz   r{   r¼   rÅ   s        rF   r‚   z DictionaryObject.write_to_streamú  sã   € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�WÑÔÐØŸ*š*™,œ,ð 	 ð 	 ‰JˆC�Ý�3‰xŒx˜!Š|ˆ|  A¤¨#¢ °#°b´'¸S².°.ØØ×Ò ¨Ñ7Ô7Ð7Ø�LŠL˜ÑÔÐØ×!Ò! &Ñ)Ô)Ð)Ø�LŠL˜ÑÔÐÐØ�Š�UÑÔÐÐÐrG   Úposition_beforeÚposition_endÚgenerationsrO   c                 ó’   ‡‡— ‰}|D ]?}|j         |         }ˆˆfd„|                     ¦   «         D ¦   «         }|rt          |g|¢R Ž }Œ@|S )Nc                 ó4   •— g | ]}‰|cxk     r‰k    ¯n n|‘ŒS rH   rH   )r]   r^   rØ   rÙ   s     €€rF   ú
<listcomp>z>DictionaryObject._get_next_object_position.<locals>.<listcomp>  s:   ø€ ÐZÐZÐZ˜A°oÈÐ6YÐ6YÒ6YÐ6YÈ\Ò6YÐ6YÐ6YÐ6YÐ6Y�aÐ6YÐ6YÐ6YrG   )ÚxrefÚvaluesÚmin)	ÚclsrØ   rÙ   rÚ   rO   Úoutr±   Úlocationrß   s	    ``      rF   Ú_get_next_object_positionz*DictionaryObject._get_next_object_position  so   øø€ ð ˆØ%ð 	(ð 	(ˆJØ”x 
Ô+ˆHØZÐZÐZÐZÐZ §¢Ñ!2Ô!2ÐZÑZÔZˆFØð (Ý˜#Ð' Ð'Ð'Ð'�øØˆ
rG   c                 óª  — |                       |                     ¦   «         dt          |j        ¦  «        |¬¦  «        dz
  }|                     ¦   «         }|                     ||                     ¦   «         z
  ¦  «        }|                     d¦  «        }|dk     rt          d|› d�¦  «        ‚|                     ||z   dz   ¦  «         |d |dz
  …         S )	Nl        )rØ   rÙ   rÚ   rO   r$   ó	   endstreamr   z6Unable to find 'endstream' marker for obj starting at ú.é	   )rä   Útellrj   rÞ   rˆ   Úfindr"   rŠ   )rá   rz   rO   Úobject_positionÚcurrent_positionÚ
read_valueÚendstream_positions          rF   Ú_read_unsized_from_streamz*DictionaryObject._read_unsized_from_stream  så   € ð ×7Ò7Ø"ŸKšK™MœM¸ÍTÐRUÔRZÉ^Ì^Ðadð 8ñ 
ô 
àñˆð "Ÿ;š;™=œ=Ðà—[’[ °6·;²;±=´=Ñ!@ÑAÔAˆ
Ø'Ÿ_š_¨\Ñ:Ô:ÐØ Ò!Ð!ÝØ\ÐIYÐ\Ð\Ð\ñô ð ð 	�ŠÐ$Ð'9Ñ9¸AÑ=Ñ>Ô>Ð>ØÐ2Ð.°Ñ2Ð2Ô3Ð3rG   rƒ   c           	      ó  — |                       d¦  «        }|dk    r2t          dt          |                      ¦   «         ¦  «        › d�¦  «        ‚i }	 t	          | ¦  «        }|dk    rŒ|dk    r&|                      dd	¦  «         t          | ¦  «         ŒC|st          t          ¦  «        ‚|d
k    r|                       d	¦  «         �n|                      dd	¦  «         	 	 t          | |¦  «        }t          |t          ¦  «        r�nÛt          |t          ¦  «        st          d|›�¦  «        ‚nI# t          $ r<}|�|j        r‚ t          |                     ¦   «         t           ¦  «         Y d }~�Œd }~ww xY wt	          | ¦  «        }|                      dd	¦  «         t          | ||¦  «        }nÂ# t"          t$          f$ r&}t          |                     ¦   «         ¦  «        ‚d }~wt&          $ r€}|�(|j        r!t          |                     ¦   «         ¦  «        ‚t          |                     ¦   «         t           ¦  «         t)          ¦   «         }	|	                     |¦  «         |	cY d }~S d }~ww xY w|                     |¦  «        s|||<   nTdt          |                      ¦   «         ¦  «        › d|› �}
|�|j        rt          |
¦  «        ‚t          |
t           ¦  «         �Œ�|                      ¦   «         }t	          | ¦  «        }|dk    �r%|                       d¦  «        dk    �r|                       d	¦  «        }|dk    r|                       d	¦  «        }|dk    °|dvrt          d¦  «        ‚|dk    r/|                       d	¦  «        dk    r|                      dd	¦  «         t.          j        |vrk|�|j        rt          d¦  «        ‚t          d|                      ¦   «         › �t           ¦  «         t3          d¦  «        |t          t.          j        ¦  «        <   |t.          j                 }t          |t4          ¦  «        rK|                      ¦   «         }|€
J d¦   «         ‚|                     |¦  «        }|                      |d¦  «         |€d}|                      ¦   «         }|dk    r8ddlm} ||k    rt%          d|› d�¦  «        ‚|                       |¦  «        |d<   n%t=          | t?          j         d¦  «        ¦  «        |d<   t	          | ¦  «        }|                       d¦  «        }||z   dk    rù|                      ¦   «         }|                      d d	¦  «         |                       d!¦  «        }|dk    r|d         d d…         |d<   n·|�P|j        sI|                      |d¦  «         t(           !                    | |¦  «        |d<   |                      ¦   «         }ne|                      |d¦  «         t          d"t          |                      ¦   «         ¦  «        › d#|›d$|›d%�¦  «        ‚n|                      |d¦  «         d|v rtD           #                    |¦  «        S t)          ¦   «         }	|	                     |¦  «         |	S )&Nr   ó   <<zDictionary read error at byte z: stream must begin with '<<'Tó    r…   r†   r$   ó   >z)Expecting a NameObject for key but found z+Multiple definitions in dictionary at byte z	 for key ó   sé   s   treamr€   )rÖ   ó   z)Stream data must be followed by a newlinerö   rÖ   zStream length not definedzStream length not defined @pos=rÏ   r   )ÚMAX_DECLARED_STREAM_LENGTHzDeclared stream length of z  exceeds maximum allowed length.Ú__streamdata__ræ   é   iöÿÿÿrè   z7Unable to find 'endstream' marker after stream at byte z (nd='z', end='z').)$rˆ   r"   Úhexré   r   rŠ   r   r#   r    r‹   rQ   r*   r)   Ústrictr   Ú__repr__r‘   ÚRecursionErrorr!   rP   r™   Úupdater©   r   ÚLENGTHr+   r(   rS   Úfiltersr÷   r   ÚreÚcompilerï   rR   Úinitialize_from_dictionary)rz   rO   rƒ   rŒ   rE   r�   r¼   ÚexcrÅ   ÚretvalÚmsgÚposr·   ÚeolÚlengthÚtÚpstartr÷   ÚeÚndstreamÚends                        rF   r�   z!DictionaryObject.read_from_stream*  sÏ  € ð �kŠk˜!‰nŒnˆØ�%Š<ˆ<Ýð.µ°V·[²[±]´]Ñ1CÔ1Cð .ð .ð .ñô ð ð  "ˆð4	.Ý% fÑ-Ô-ˆCØ�gŠ~ˆ~ØØ�dŠ{ˆ{Ø—’˜B Ñ"Ô"Ð"Ý! &Ñ)Ô)Ð)ØØð CÝ$Õ%AÑBÔBÐBà�dŠ{ˆ{Ø—’˜A‘”�ÙØ�KŠK˜˜AÑÔÐððÝ% f¨cÑ2Ô2�CÝ! #¥zÑ2Ô2ð ÙÝ% c­:Ñ6Ô6ð Ý*ØOÈÐOÐOñô ð ðøõ $ð ð ð Ø�¨3¬:�ØÝ" 3§<¢<¡>¤>µ8Ñ<Ô<Ð<Ø�H�H�H‘Høøøøð	øøøõ
 *¨&Ñ1Ô1�Ø—’˜B Ñ"Ô"Ð"Ý# F¨C°ÑAÔA��øÝ"Õ$5Ð6ð 3ð 3ð 3Ý" 3§<¢<¡>¤>Ñ2Ô2Ð2øøøøÝð ð ð Ø�? s¤z�?Ý& s§|¢|¡~¤~Ñ6Ô6Ð6Ý˜sŸ|š|™~œ~­xÑ8Ô8Ð8Ý)Ñ+Ô+�Ø—’˜dÑ#Ô#Ð#Ø������øøøøðøøøð —8’8˜C‘=”=ð 
.Ø!��S‘	�	ð:Ý˜6Ÿ;š;™=œ=Ñ)Ô)ð:ð :Ø47ð:ð :ð ð �? s¤z�?Ý& sÑ+Ô+Ð+Ý˜s¥HÑ-Ô-Ð-ñi4	.ðl �kŠk‰mŒmˆÝ Ñ'Ô'ˆØ�Š9‰9˜Ÿš Q™œ¨8Ò3Ñ3Ø—+’+˜a‘.”.ˆCð ˜’+�+Ø—k’k !‘n”n�ð ˜’+�+à˜.Ð(Ð(Ý$Ð%PÑQÔQÐQØ�eŠ|ˆ| §¢¨A¡¤°%Ò 7Ð 7Ø—’˜B Ñ"Ô"Ð"åÔ&¨dÐ2Ð2Ø�? s¤z�?Ý(Ð)DÑEÔEÐEÝØE°f·k²k±m´mÐEÐEÅxñô ð õ =IÈÑ<LÔ<L�•ZÕ 0Ô 7Ñ8Ô8Ñ9ØÕ*Ô1Ô2ˆFÝ˜&¥.Ñ1Ô1ð "Ø—K’K‘M”M�Ø��¨‘”�ØŸš¨Ñ/Ô/�Ø—’˜A˜qÑ!Ô!Ð!Øˆ~Ø�Ø—[’[‘]”]ˆFØ˜Š{ˆ{Ø@Ð@Ð@Ð@Ð@Ð@ØÐ6Ò6Ð6Ý+Ð,qÈÐ,qÐ,qÐ,qÑrÔrÐrà)/¯ª°VÑ)<Ô)<�Ð%Ñ&Ð&å)9Ø�BœJ |Ñ4Ô4ñ*ô *�Ð%Ñ&õ $ FÑ+Ô+ˆAØ—{’{ 1‘~”~ˆHØ�H‘ Ò-Ð-ð —k’k‘m”m�Ø—’˜C Ñ#Ô#Ð#Ø—k’k !‘n”n�Ø˜,Ò&Ð&à-1Ð2BÔ-CÀCÀRÀCÔ-H�DÐ)Ñ*Ð*Ø�_¨S¬Z�_Ø—K’K ¨Ñ*Ô*Ð*Ý-=×-WÒ-WÐX^Ð`cÑ-dÔ-d�DÐ)Ñ*Ø Ÿ+š+™-œ-�C�Cà—K’K  QÑ'Ô'Ð'Ý&ðTÝ˜vŸ{š{™}œ}Ñ-Ô-ðTð TØ5=ðTð TØILðTð Tð Tñô ð ð' .ð0 �KŠK˜˜QÑÔÐØ˜tÐ#Ð#Ý×:Ò:¸4Ñ@Ô@Ð@Ý!Ñ#Ô#ˆØ�Š�dÑÔÐØˆsU   Ã%D- Ä'D- Ä,F- Ä-
E3Ä71E.Å(F- Å.E3Å39F- Æ-I,Æ>!GÇI,Ç,A5I'É!I,É'I,r�   rZ   )&r‘   r’   r“   r   r?   r”   r	   r   r
   rl   r•   rM   rk   rb   r¡   r\   r   r¨   rÄ   rÈ   rË   r,   r¾   Úpropertyr   rÒ   r   rm   r‚   Úclassmethodrj   r   rä   r   rï   r–   r—   r�   rH   rG   rF   r™   r™     si  € € € € € ðà#ðð 
ðð ð ð ð" !&Ø=?ð	ð à#ðð ðð   ¨¨s°C¨x¬Ô 9Ô:ð	ð
 
ðð ð ð ð0oàðoð $ðoð ð	oð
   ¨¨s°C¨x¬Ô 9Ô:ðoð �U˜3 ˜8”_Ô%ðoð 
ðoð oð oð oðb

˜#ð 

ð 

ð 

ð 

ð+˜3ð + 3ð +ð +ð +ð +ðð  ð ¨sð ¸cð ð ð ð ð22˜sð 2¨3ð 2°3ð 2ð 2ð 2ð 2ð1ð 1˜cð 1¨(°3¬-ð 1À3ð 1ð 1ð 1ð 1ðI˜sð I yð Ið Ið Ið Ið ð(˜hÐ'=Ô>ð (ð (ð (ñ „Xð(ð. MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð" ð	Ø"%ð	Ø58ð	ØGKÈCÄyð	ØWhð	à	ð	ð 	ð 	ñ „[ð	ð ð4Ø)ð4Ø0Að4à	ð4ð 4ð 4ñ „[ð4ð$ ð HLðHð HØðHàÐ'Ô(ðHð ˜t S¨$¨s¬)°T¸#¸s¸(´^ÐCÔDðHð 
ð	Hð Hð Hñ „\ðHð Hð HrG   r™   c                   ó4  — e Zd Zddee         ddfd„Zdefd„Zdefd„Z	de
e         fd„Zded	eddfd
„Zdeded f         deddfd„Zdeded f         deddfd„Z	 ddeded	edeedef                  def
d„Zdededededdf
d„Zdeddfd„Zdd„Zdd„ZdS )Ú
TreeObjectNÚdctr=   c                 ól   — t                                | ¦  «         |r|                      |¦  «         d S d S rZ   )r™   Ú__init__rþ   )rC   r  s     rF   r  zTreeObject.__init__·  s@   € Ý×!Ò! $Ñ'Ô'Ð'Øð 	Ø�KŠK˜ÑÔÐÐÐð	ð 	rG   c                 ó
   — d| v S )Nú/FirstrH   rc   s    rF   Úhas_childrenzTreeObject.has_children¼  s   € Ø˜4ÐÐrG   c                 ó*   — |                       ¦   «         S rZ   )Úchildrenrc   s    rF   Ú__iter__zTreeObject.__iter__¿  s   € Ø�}Š}‰ŒÐrG   c              #   óø  K  — |                       ¦   «         sd S | t          d¦  «                 }| t          d¦  «                 }|                     ¦   «         }t          ¦   «         }	 t	          |¦  «        }||v rt          d|› �t          ¦  «         d S |                     |¦  «         |V — ||k    rd S |                     t          d¦  «        ¦  «        }t          |¦  «        rd S |                     ¦   «         }Œ–)Nr  ú/LastTz(Detected cycle in outline structure for r«   )
r  r)   rS   rk   Úidr   r‘   r²   r©   r.   )rC   Ú	child_refÚlastÚchildr£   Úchild_ids         rF   r  zTreeObject.childrenÂ  s  è è € Ø× Ò Ñ"Ô"ð 	ØˆFà� HÑ-Ô-Ô.ˆ	Ø•J˜wÑ'Ô'Ô(ˆØ×$Ò$Ñ&Ô&ˆÝ™EœEˆð	+Ý˜%‘y”yˆHØ˜7Ð"Ð"ÝÐQÈ%ÐQÐQÕS[Ñ\Ô\Ð\Ø�Ø�KŠK˜Ñ!Ô!Ð!àˆKˆKˆKà˜Š}ˆ}Ø�ØŸ	š	¥*¨WÑ"5Ô"5Ñ6Ô6ˆIÝ˜yÑ)Ô)ð Ø�Ø×(Ò(Ñ*Ô*ˆEð	+rG   r!  rO   c                 ó4   — |                       |d |¦  «         d S rZ   )Úinsert_child)rC   r!  rO   s      rF   Ú	add_childzTreeObject.add_childÚ  s    € Ø×Ò˜%  sÑ+Ô+Ð+Ð+Ð+rG   ÚparentÚnc                 ó�  — t          |¦  «        rd S |€
J d¦   «         ‚t          d|                     ¦   «         ¦  «        }d|v r‚t          t	          dt          t
          |t          d¦  «                 ¦  «        |z   ¦  «        ¦  «        |t          d¦  «        <   |                      |                     dd ¦  «        |¦  «         d S d S )NrÏ   r  ú/Countr   rÂ   )	r.   r   rS   r+   Úmaxr•   r)   Úinc_parent_counter_defaultr©   )rC   r&  r'  s      rF   r+  z%TreeObject.inc_parent_counter_defaultÝ  sÌ   € õ ˜6Ñ"Ô"ð 	ØˆFØÐ!Ð! 6Ñ!Ô!Ð!Ý�l F×$5Ò$5Ñ$7Ô$7Ñ8Ô8ˆØ�vÐÐÝ+7Ý�A•t�C ­
°8Ñ(<Ô(<Ô!=Ñ>Ô>ÀÑBÑCÔCñ,ô ,ˆF•:˜hÑ'Ô'Ñ(ð ×+Ò+¨F¯JªJ°yÀ$Ñ,GÔ,GÈÑKÔKÐKÐKÐKð	 ÐrG   c                 óâ  — t          |¦  «        rd S |€
J d¦   «         ‚t          d|                     ¦   «         ¦  «        }|                     dd¦  «        dk    }t          t          |                     dd¦  «        ¦  «        }|dk     rt          |¦  «        }t          ||z   |rdndz  ¦  «        |t          d¦  «        <   |sd S |                      |                     d	d ¦  «        |¦  «         d S )
NrÏ   r  z
/%is_open%Tr)  r   r$   r†   rÂ   )	r.   r   rS   r©   r•   Úabsr+   r)   Úinc_parent_counter_outline)rC   r&  r'  Úopnr¸   s        rF   r.  z%TreeObject.inc_parent_counter_outlineê  sô   € õ ˜6Ñ"Ô"ð 	ØˆFØÐ!Ð! 6Ñ!Ô!Ð!Ý�l F×$5Ò$5Ñ$7Ô$7Ñ8Ô8ˆà�jŠj˜ tÑ,Ô,°Ò4ˆÝ•�f—j’j ¨1Ñ-Ô-Ñ.Ô.ˆØˆqŠ5ˆ5Ý�A‘”ˆAÝ'3°Q¸±UÀCÐ?O¸q¸qÈRÑ4PÑ'QÔ'Qˆ�z˜(Ñ#Ô#Ñ$Øð 	ØˆFØ×'Ò'¨¯
ª
°9¸dÑ(CÔ(CÀQÑGÔGÐGÐGÐGrG   ÚbeforeÚinc_parent_counter.c                 ó¦  — |€| j         }|                     ¦   «         }|j        €
J d¦   «         ‚|j        }d| vrŠ|| t          d¦  «        <   t	          d¦  «        | t          d¦  «        <   || t          d¦  «        <   | j        |t          d¦  «        <    || |                     dd¦  «        ¦  «         d|v r|d= d	|v r|d	= |S t          d
| d         ¦  «        }|j        |k    r¯d|v rt          d|d         ¦  «        }n‰t          d|¦  «        |t          d¦  «        <   |j        |t          d	¦  «        <   | j        |t          d¦  «        <   d|v r|d= || t          d¦  «        <    || |                     dd¦  «        ¦  «         |S |j        |k    °¯	 t          |d	         t          ¦  «        sJ ‚||d	         t          d¦  «        <   |d	         |t          d	¦  «        <   n# t          $ r |d= Y nw xY w||t          d¦  «        <   ||t          d	¦  «        <   | j        |t          d¦  «        <    || |                     dd¦  «        ¦  «         |S )NrÏ   r  r   r)  r  rÂ   r$   r«   r¬   r™   r  )
r+  rS   rN   r)   r+   r©   r   rQ   r™   rP   )rC   r!  r0  rO   r1  Ú	child_objÚchild_referenceÚprevs           rF   r$  zTreeObject.insert_childû  s¨  € ð Ð%Ø!%Ô!@ÐØ×$Ò$Ñ&Ô&ˆ	ØÔ'Ð3Ð3°VÑ3Ô3Ð3Ø*/Ô*Bˆð ˜4ÐÐØ)8ˆD•˜HÑ%Ô%Ñ&Ý)5°a©¬ˆD•˜HÑ%Ô%Ñ&Ø(7ˆD•˜GÑ$Ô$Ñ%Ø/3Ô/FˆI•j Ñ+Ô+Ñ,ØÐ˜t Y§]¢]°8¸QÑ%?Ô%?Ñ@Ô@Ð@Ø˜)Ð#Ð#Ø˜gÐ&Ø˜)Ð#Ð#Ø˜gÐ&Ø"Ð"ÝÐ&¨¨W¬Ñ6Ô6ˆàÔ%¨Ò/Ð/Ø˜$ˆˆÝ˜L¨$¨w¬-Ñ8Ô8��å,0°¸Ñ,OÔ,O�•Z Ñ(Ô(Ñ)Ø15Ô1H�	�* WÑ-Ô-Ñ.Ø37Ô3J�	�* YÑ/Ô/Ñ0Ø˜iÐ'Ð'Ø! 'Ð*Ø,;�•Z Ñ(Ô(Ñ)Ø"Ð" 4¨¯ª°xÀÑ)CÔ)CÑDÔDÐDØ&Ð&ð Ô%¨Ò/Ð/ð	#Ý˜d 7œmÕ-=Ñ>Ô>Ð>Ð>Ð>Ø1@ˆD�ŒM�* WÑ-Ô-Ñ.Ø-1°'¬]ˆI•j Ñ)Ô)Ñ*Ð*øÝð 	#ð 	#ð 	#Ø˜'Ð"Ð"Ð"ð	#øøøà)-ˆ	•*˜WÑ%Ô%Ñ&Ø$3ˆ�Z˜Ñ Ô Ñ!Ø+/Ô+Bˆ	•*˜YÑ'Ô'Ñ(ØÐ˜4 §¢¨x¸Ñ!;Ô!;Ñ<Ô<Ð<ØÐs   ÆAG# Ç#G3Ç2G3r5  Úprev_refÚcurr   c                 ó
  — |                      t          d¦  «        d¦  «        }|€Ã|rm|                     ¦   «         }|t          d¦  «        = || t          d¦  «        <   t          | t          d¦  «                 dz
  ¦  «        | t          d¦  «        <   dS t          d¦  «        | t          d¦  «        <   | t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = dS dS |r9|                     ¦   «         }||t          d¦  «        <   ||t          d¦  «        <   n*||k    sJ ‚|t          d¦  «        = || t          d¦  «        <   t          | t          d¦  «                 dz
  ¦  «        | t          d¦  «        <   dS )	z¨
        Adjust the pointers of the linked list and tree node count.

        Args:
            prev:
            prev_ref:
            cur:
            last:

        r«   Nr¬   r  r)  r$   r   r  )r©   r)   rS   r+   )rC   r5  r6  r7  r   Únext_refÚnext_objs          rF   Ú_remove_node_from_treez!TreeObject._remove_node_from_tree.  s—  € ð —7’7�: gÑ.Ô.°Ñ5Ô5ˆØˆ<Øð 2à#×.Ò.Ñ0Ô0�Ø�Z¨Ñ0Ô0Ð1Ø-5�•Z Ñ)Ô)Ñ*Ý-9Ø� HÑ-Ô-Ô.°Ñ2ñ.ô .�•Z Ñ)Ô)Ñ*Ð*Ð*õ .:¸!©_¬_�•Z Ñ)Ô)Ñ*Ø� HÑ-Ô-Ð.Ý˜gÑ&Ô&¨$Ð.Ð.Ø�Z¨Ñ0Ô0Ð1Ð1Ð1ð /Ð.ð ð 	5à#×.Ò.Ñ0Ô0�Ø08�� GÑ,Ô,Ñ-Ø,4�•Z Ñ(Ô(Ñ)Ð)ð ˜d’{�{�{�{Ø� GÑ,Ô,Ð-Ø,4�•Z Ñ(Ô(Ñ)Ý)5°d½:ÀhÑ;OÔ;OÔ6PÐSTÑ6TÑ)UÔ)UˆD•˜HÑ%Ô%Ñ&Ð&Ð&rG   c                 óŒ  — |                      ¦   «         }|j        }t          d¦  «        |vrt          d¦  «        ‚|t          d¦  «                 | k    rt          d¦  «        ‚d}d }d }| t          d¦  «                 }|                      ¦   «         }| t          d¦  «                 }|                      ¦   «         }	|�f||k    r|                      ||||	¦  «         d}nE|}|}t          d¦  «        |v r*|t          d¦  «                 }|                      ¦   «         }nd }d }|­f|st          d	¦  «        ‚t          |¦  «         d S )
NrÂ   ú/Removed child does not appear to be a tree itemz*Removed child is not a member of this treeFr  r  Tr«   z"Removal couldn't find item in tree)rS   rN   r)   rx   r;  Ú_reset_node_tree_relationship)
rC   r!  r3  Úfoundr6  r5  Úcur_refr7  Úlast_refr   s
             rF   Úremove_childzTreeObject.remove_childY  sn  € Ø×$Ò$Ñ&Ô&ˆ	ØÔ,ˆå�iÑ Ô ¨	Ð1Ð1ÝÐNÑOÔOÐOØ•Z 	Ñ*Ô*Ô+¨tÒ3Ð3ÝÐIÑJÔJÐJàˆØˆØˆØ!%¥j°Ñ&:Ô&:Ô!;ˆØ(/×(:Ò(:Ñ(<Ô(<ˆØ�
 7Ñ+Ô+Ô,ˆØ×"Ò"Ñ$Ô$ˆØˆoØ�iÒÐØ×+Ò+¨D°(¸CÀÑFÔFÐFØ�Øð ˆHØˆDÝ˜'Ñ"Ô" cÐ)Ð)Ø�j¨Ñ1Ô1Ô2�Ø×(Ò(Ñ*Ô*��à�Ø�ð ˆoð  ð 	CÝÐAÑBÔBÐBå% iÑ0Ô0Ð0Ð0Ð0rG   c                 ó˜   — t          d¦  «        | vrt          d¦  «        ‚t          d| d         ¦  «                             | ¦  «         dS )z)Remove the object from the tree it is in.rÂ   r=  r  N)r)   rx   r   rB  rc   s    rF   Úremove_from_treezTreeObject.remove_from_tree~  sL   € å�iÑ Ô ¨Ð,Ð,ÝÐNÑOÔOÐOÝˆ\˜4 	œ?Ñ+Ô+×8Ò8¸Ñ>Ô>Ð>Ð>Ð>rG   c                 ó   — | D ]%}|                      ¦   «         }t          |¦  «         Œ&t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = d S d S )Nr)  r  r  )rS   r>  r)   )rC   r!  r3  s      rF   Ú
empty_treezTreeObject.empty_tree„  sª   € Øð 	5ð 	5ˆEØ×(Ò(Ñ*Ô*ˆIÝ)¨)Ñ4Ô4Ð4Ð4å�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�gÑÔ $Ð&Ð&Ø•Z Ñ(Ô(Ð)Ð)Ð)ð 'Ð&rG   rZ   ©r=   N)r‘   r’   r“   r	   r™   r  r”   r  r   r  r   r  r   r%  r
   r(   r•   r+  r.  r   r$  r;  rB  rD  rF  rH   rG   rF   r  r  ¶  s-  € € € € € ðð ˜HÐ%5Ô6ð À$ð ð ð ð ð
 ˜dð  ð  ð  ð  ð˜#ð ð ð ð ð+˜( 3œ-ð +ð +ð +ð +ð0,˜sð ,Ð):ð ,¸tð ,ð ,ð ,ð ,ðLØ˜D .°,Ð>Ô?ðLØDGðLà	ðLð Lð Lð LðHØ˜D .°,Ð>Ô?ðHØDGðHà	ðHð Hð Hð Hð, <@ð1ð 1àð1ð ð1ð ð	1ð
 % X¨c°3¨hÔ%7Ô8ð1ð 
ð1ð 1ð 1ð 1ðf)VØð)VØ#&ð)VØ-0ð)VØ8;ð)Và	ð)Vð )Vð )Vð )VðV#1 #ð #1¨$ð #1ð #1ð #1ð #1ðJ?ð ?ð ?ð ?ð
*ð 
*ð 
*ð 
*ð 
*ð 
*rG   r  r3  r=   c                 ó®   — | t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = t          d¦  «        | v r| t          d¦  «        = dS dS )zœ
    Call this after a node has been removed from a tree.

    This resets the nodes attributes in respect to that tree.

    Args:
        child_obj:

    rÂ   r«   r¬   N)r)   )r3  s    rF   r>  r>  ‘  sh   € ð 	•*˜YÑ'Ô'Ð(Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ð*Ð*ð (Ð'rG   c                   óz  ‡ — e Zd Zdd„Zdedd fd„Zdedededee	e
eef                           d	eeeef                  ddfˆ fd
„Zdefˆ fd„Zdefd„Zdeddfd„Zdefˆ fd„Z	 ddede
deef         ddfd„Zedeeef         de
d         fd„¦   «         Zddeddfd„Zdde
eeef         df         defd„Zˆ xZS )rR   r=   Nc                 ó"   — d| _         d | _        d S ©NrG   )Ú_dataÚdecoded_selfrc   s    rF   r  zStreamObject.__init__£  s   € ØˆŒ
Ø;?ˆÔÐÐrG   r<   c                 óÐ  — t          d|                      |                      ¦   «         |d¦  «        ¦  «        }| j        |_        	 | j        }|€d | _        n(t          d|                     |¦  «        ¦  «        | _        n# t          $ r Y nw xY w|                      ¦   «         D ]B\  }}t          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )NrR   FÚDecodedStreamObjectr?   )	r   r@   ra   rL  rM  r?   rP   rf   rA   ©rC   r<   r›   rM  rœ   r�   s         rF   r?   zStreamObject.replicate§  s  € õ ØØ×!Ò! $§.¢.Ñ"2Ô"2°H¸eÑDÔDñ
ô 
ˆð ”JˆŒ	ð		ØÔ,ˆLØÐ#Ø$(�Ô!Ð!å$(Ø)¨<×+AÒ+AÀ(Ñ+KÔ+Kñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøà—J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
s   Á9A? Á?
BÂBr¤   rI   rJ   r£   c                 ó<  •— t          d|¦  «        j        | _        	 t          d|¦  «        j        }|€d| _        n*t          d|                     |||¦  «        ¦  «        | _        n# t          $ r Y nw xY wt          ¦   «                              |||||¦  «         dS )úœ
        Update the object from src.

        Args:
            src:
            pdf_dest:
            force_duplicate:
            ignore_fields:

        rR   NrO  )r   rL  rM  rM   rP   Úsuperr¡   )rC   r¤   r<   rI   rJ   r£   rM  ra   s          €rF   r¡   zStreamObject._cloneÀ  s²   ø€ õ$ ˜.¨#Ñ.Ô.Ô4ˆŒ
ð
	Ý °Ñ4Ô4ÔAˆLØÐ#Ø$(�Ô!Ð!å$(Ø)Ø ×&Ò& x°À-ÑPÔPñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøå‰Œ�Š�s˜H o°}ÀgÑNÔNÐNÐNÐNs   �A	A' Á'
A4Á3A4c                 ól   •— t          t          ¦   «                              ¦   «         | j        f¦  «        S )rX   )r`   rS  r\   rL  )rC   ra   s    €rF   r\   zStreamObject.hash_binà  s*   ø€ õ •U‘W”W×%Ò%Ñ'Ô'¨¬Ð4Ñ5Ô5Ð5rG   c                 ó   — | j         S rZ   ©rL  rc   s    rF   Úget_datazStreamObject.get_dataë  s
   € ØŒzÐrG   rE   c                 ó   — || _         d S rZ   rV  )rC   rE   s     rF   Úset_datazStreamObject.set_dataî  s   € ØˆŒ
ˆ
ˆ
rG   c                 óv   •— t          ¦   «                              ¦   «         }||                      ¦   «         z  }|S rZ   )rS  Úhash_value_datarW  ©rC   rE   ra   s     €rF   r[  zStreamObject.hash_value_datañ  s/   ø€ Ý‰wŒw×&Ò&Ñ(Ô(ˆØ�—’‘”ÑˆØˆrG   rz   r{   c                 óx  — |�t          dd¦  «         t          t          | j        ¦  «        ¦  «        | t	          t
          j        ¦  «        <   t                               | |¦  «         | t
          j        = | 	                    d¦  «         | 	                    | j        ¦  «         | 	                    d¦  «         d S )Nr}   r~   s   
stream
s
   
endstream)
r   r+   rŸ   rL  r)   r   rÿ   r™   r‚   r�   )rC   rz   r{   s      rF   r‚   zStreamObject.write_to_streamö  sª   € ð Ð%Ý&ØAÀ7ñô ð õ 5AÅÀTÄZÁÄÑ4QÔ4Qˆ�ZÕ(Ô/Ñ0Ô0Ñ1Ý×(Ò(¨¨vÑ6Ô6Ð6ØÕ!Ô(Ð)Ø�Š�]Ñ#Ô#Ð#Ø�Š�T”ZÑ Ô Ð Ø�Š�^Ñ$Ô$Ð$Ð$Ð$rG   )ÚEncodedStreamObjectrO  c                 óÜ   — t           j        | v rt          ¦   «         }nt          ¦   «         }| d         |_        | d= t           j        | v r| t           j        = |                     | ¦  «         |S )Nrø   )r   ÚFILTERr^  rO  rL  rÿ   rþ   )rE   r  s     rF   r  z'StreamObject.initialize_from_dictionary  sq   € õ
 Ô" dÐ*Ð*Ý(Ñ*Ô*ˆFˆFå(Ñ*Ô*ˆFØÐ,Ô-ˆŒØÐ!Ð"ÝÔ" dÐ*Ð*ØÕ%Ô,Ð-Ø�Š�dÑÔÐØˆrG   r†   Úlevelr^  c           	      ó"  — ddl m} t          j        | v �ra| t          j                 }t	          |t
          ¦  «        rÊt          t          t          j        ¦  «        g|¢¦  «        }	 t          t          ¦   «         g|  
                    t          j        t          ¦   «         ¦  «        ¢¦  «        }nâ# t          $ rJ t          t          ¦   «         |  
                    t          j        t          ¦   «         ¦  «        g¦  «        }Y n�w xY wt          t          t          j        ¦  «        |g¦  «        }t          t          ¦   «         |  
                    t          j        t          ¦   «         ¦  «        g¦  «        }nt          t          j        ¦  «        }d }t          ¦   «         }|                     | ¦  «         ||t          t          j        ¦  «        <   |�||t          t          j        ¦  «        <   |                     | j        |¦  «        |_        |S )Nr   ©ÚFlateDecode)r   rd  r   r`  rQ   r;   r)   ÚFTÚFLATE_DECODEr*   r©   ÚDECODE_PARMSÚ	TypeErrorr^  rþ   ÚencoderL  )rC   ra  rd  ÚfÚparamsr  s         rF   Úflate_encodezStreamObject.flate_encode  sÅ  € Ø)Ð)Ð)Ð)Ð)Ð)åÔ" dÐ*Ñ*ØÕ%Ô,Ô-ˆAÝ˜!�[Ñ)Ô)ð Ý¥­B¬OÑ!<Ô!<Ð A¸qÐ AÑBÔB�ðÝ(Ý#™œÐ_¨¯ªÕ1AÔ1NÕP[ÑP]ÔP]Ñ(^Ô(^Ð_ñô �F�Føõ !ð ð ð å(Ý#™œ t§x¢xÕ0@Ô0MÍ{É}Ì}Ñ']Ô']Ð^ñô �F�F�Fðøøøõ  ¥­B¬OÑ!<Ô!<¸aÐ @ÑAÔA�Ý$Ý‘\”\ 4§8¢8Õ,<Ô,IÍ:É<Ì<Ñ#XÔ#XÐYñô ��õ �2œ?Ñ+Ô+ˆAØˆFÝ$Ñ&Ô&ˆØ�Š�dÑÔÐØ67ˆ�zÕ*Ô1Ñ2Ô2Ñ3ØÐØ@FˆF•:Õ.Ô;Ñ<Ô<Ñ=Ø"×)Ò)¨$¬*°eÑ<Ô<ˆŒØˆs   Á'AB0 Â0ADÄDÚpillow_parametersc                 óþ   — ddl m} |                      dd¦  «        dk    rH	 | j        › d�}n'# t          $ r |                      ¦   «         › d�}Y nw xY wt          |t          ¦  «          || |¦  «        \  }}}|€dS |S )	a  
        Try to decode the stream object as an image

        Args:
            pillow_parameters: parameters provided to Pillow Image.save() method,
                cf. <https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.save>

        Returns:
            a PIL image if proper decoding has been found
        Raises:
            Exception: Errors during decoding will be reported.
                It is recommended to catch exceptions to prevent
                stops in your program.

        r$   )Ú_xobj_to_imagez/SubtypeÚ z/Imagez does not seem to be an Imagez$ object does not seem to be an ImageN)Ú_image_xobjectro  r©   rN   ÚAttributeErrorrü   r   r‘   )rC   rm  ro  r  Ú	extensionÚ_Úimgs          rF   Údecode_as_imagezStreamObject.decode_as_image4  sº   € ð  	3Ð2Ð2Ð2Ð2Ð2à�8Š8�J Ñ#Ô# xÒ/Ð/ðOØÔ0ÐOÐOÐO��øÝ!ð Oð Oð OØŸš™œÐNÐNÐN���ðOøøøå˜3¥Ñ)Ô)Ð)Ø*˜N¨4Ð1BÑCÔCÑˆ	�1�cØÐØ�4Øˆ
s   ¢
- ­!AÁArG  rZ   )r†   )r‘   r’   r“   r  r   r?   r™   r”   r	   r   r
   rl   r•   rk   rb   r¡   r\   rm   rW  rY  r[  r   r‚   r–   r—   r   r  rl  rv  Ú__classcell__©ra   s   @rF   rR   rR   ¢  sM  ø€ € € € € ð@ð @ð @ð @ðà#ðð 
ðð ð ð ð2OàðOð $ðOð ð	Oð
   ¨¨s°C¨x¬Ô 9Ô:ðOð �U˜3 ˜8”_Ô%ðOð 
ðOð Oð Oð Oð Oð Oð@	6˜#ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð˜%ð ð ð ð ð˜Uð  tð ð ð ð ð ð ð ð ð ð ð ð MQð%ð %Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð ðØ�3˜�8Œnðà	Ð;Ô	<ðð ð ñ „\ððð  #ð Ð/Dð ð ð ð ð@ð °°t¸CÀ¸H´~ÀtÐ7KÔ1Lð ÐX[ð ð ð ð ð ð ð ð rG   rR   c                   ó   — e Zd ZdS )rO  N)r‘   r’   r“   rH   rG   rF   rO  rO  R  s   € € € € € Ø€DrG   rO  c                   ó<   ‡ — e Zd Zdd„Zdefd„Zdeddfˆ fd„Zˆ xZS )r^  r=   Nc                 ó   — d | _         d S rZ   )rM  rc   s    rF   r  zEncodedStreamObject.__init__W  s   € Ø;?ˆÔÐÐrG   c                 ód  — ddl m} | j        �| j                             ¦   «         S t	          ¦   «         }|                      || ¦  «        ¦  «         |                      ¦   «         D ]/\  }}|t          j        t          j	        t          j
        fvr|||<   Œ0|| _        |                     ¦   «         S )Nr   )Údecode_stream_data)r   r}  rM  rW  rO  rY  rf   r   rÿ   r`  rg  )rC   r}  Údecodedr¼   rÅ   s        rF   rW  zEncodedStreamObject.get_data[  s¼   € Ø0Ð0Ð0Ð0Ð0Ð0àÔÐ(àÔ$×-Ò-Ñ/Ô/Ð/õ &Ñ'Ô'ˆØ×ÒÐ+Ð+¨DÑ1Ô1Ñ2Ô2Ð2ØŸ*š*™,œ,ð 	%ð 	%‰JˆC�ØÕ+Ô2Õ4DÔ4KÕM]ÔMjÐkÐkÐkØ$�˜‘øØ#ˆÔØ×ÒÑ!Ô!Ð!rG   rE   c                 óà  •— ddl m} |                      t          j        d¦  «        t
          j        t
          j        gfv r t          |t          ¦  «        st          d¦  «        ‚| j
        €|                      ¦   «          | j
        €
J d¦   «         ‚| j
                             |¦  «         t          ¦   «                              |                     |¦  «        ¦  «         d S t          d¦  «        ‚)Nr   rc  rp  zData must be bytesrÏ   zJStreams encoded with a filter different from FlateDecode are not supported)r   rd  r©   r   r`  re  rf  rQ   rm   rh  rM  rW  rY  rS  ri  r"   )rC   rE   rd  ra   s      €rF   rY  zEncodedStreamObject.set_datal  sä   ø€ Ø)Ð)Ð)Ð)Ð)Ð)à�8Š8Õ$Ô+¨RÑ0Ô0µR´_ÅrÄÐFWÐ4XÐXÐXÝ˜d¥EÑ*Ô*ð 6ÝÐ 4Ñ5Ô5Ð5ØÔ Ð(Ø—’‘”�ØÔ$Ð0Ð0°&Ñ0Ô0Ð0ØÔ×&Ò& tÑ,Ô,Ð,Ý‰GŒG×Ò˜[×/Ò/°Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6åØ\ñô ð rG   rG  )r‘   r’   r“   r  rm   rW  rY  rw  rx  s   @rF   r^  r^  V  s~   ø€ € € € € ð@ð @ð @ð @ð"˜%ð "ð "ð "ð "ð"˜Uð  tð ð ð ð ð ð ð ð ð ð rG   r^  i'  c                   ó*  ‡ — e Zd ZdZ	 ddedededeee         ee	ef         f         ddfˆ fd„Z
dedd fd	„Z	 	 ddededeeeee	f                           dd fd„Zdedededeeeee	f                           deee	e	f                  ddfˆ fd„Zdeddfd„Zdedeeef         fd„Zdefd„Zdeddfˆ fd„Zedeeeef                  fd„¦   «         Zej        deeeef                  ddfd„¦   «         Zdd„Z	 ddededeef         ddfˆ fd„Zˆ xZ S ) ÚContentStreama¥  
    In order to be fast, this data structure can contain either:

    * raw data in ._data
    * parsed stream operations in ._operations.

    At any time, ContentStream object can either have both of those fields defined,
    or one field defined and the other set to None.

    These fields are "rebuilt" lazily, when accessed:

    * when .get_data() is called, if ._data is None, it is rebuilt from ._operations.
    * when .operations is called, if ._operations is None, it is rebuilt from ._data.

    Conversely, these fields can be invalidated:

    * when .set_data() is called, ._operations is set to None.
    * when .operations is set, ._data is set to None.
    Nrz   rO   rƒ   r=   c                 óú  •— || _         g | _        |€#t          ¦   «                              d¦  «         �n¿|                     ¦   «         }t          |t          ¦  «        �r\ddlm} t          |¦  «        x}t          k    rt          d|› dt          › d�¦  «        ‚t          ¦   «         }d}|D ]ß}|                     ¦   «         }	t          |	t          ¦  «        rŒ,t          |	t          ¦  «        s,t          dt!          |	¦  «        j        › d�t"          ¦  «         nG|	                     ¦   «         }
|t          |
¦  «        z  }||k    rt          d	|› d|› d
�¦  «        ‚||
z  }t          |¦  «        dk    s|dd …         dk    r
|dz  }|dz  }Œàt          ¦   «                              t'          |¦  «        ¦  «         n9|                     ¦   «         }|€J ‚t          ¦   «                              |¦  «         || _        d S )NrG   r   )Ú$MAX_ARRAY_BASED_STREAM_OUTPUT_LENGTHzArray-based stream has z > z
 elements.zExpected StreamObject, got z instead. Data might be wrong.z Array-based stream has at least z output bytes.r†   rÖ   r$   )rO   Ú_operationsrS  rY  rS   rQ   r;   Úpypdf.filtersrƒ  rŸ   ÚCONTENT_STREAM_ARRAY_MAX_LENGTHr!   Ú	bytearrayr*   rR   r   Útyper‘   rW  rm   rƒ   )rC   rz   rO   rƒ   rƒ  Ústream_lengthrE   r	  r·   Ú
s_resolvedÚnew_dataÚstream_datara   s               €rF   r  zContentStream.__init__•  s?  ø€ ð ˆŒØ46ˆÔð ˆ>Ý‰GŒG×Ò˜SÑ!Ô!Ð!Ñ!à×&Ò&Ñ(Ô(ˆFÝ˜&¥+Ñ.Ô.ñ %.ØNÐNÐNÐNÐNÐNå%(¨¡[¤[Ð0�MÕ4SÒSÐSÝ+Øo°-ÐoÐoÕDcÐoÐoÐoñô ð õ !‘{”{�Ø�Øð &ð &�AØ!"§¢¡¤�JÝ! *­jÑ9Ô9ð !Ø Ý% jµ,Ñ?Ô?ð )õ 'Øs½$¸zÑ:JÔ:JÔ:SÐsÐsÐsÝ$ñô ð ð ð
 $.×#6Ò#6Ñ#8Ô#8˜Ø¥# h¡-¤-Ñ/˜Ø!Ð$HÒHÐHÝ"3ð!XÀ6ð !Xð !XØ#Gð!Xð !Xð !Xñ#ô #ð ð  Ñ(˜Ý˜4‘y”y A’~�~¨¨b¨c¨c¬°eÒ);Ð);à !™˜Ø ™˜øÝ‘”× Ò ¥ t¡¤Ñ-Ô-Ð-Ð-à$ŸošoÑ/Ô/�Ø"Ð.Ð.Ð.Ý‘”× Ò  Ñ-Ô-Ð-Ø.ˆÔÐÐrG   r<   c           	      óÔ  — t          d|                      |                      d d ¦  «        |d¦  «        ¦  «        }| j        |_        	 | j        }|€d | _        n(t          d|                     |¦  «        ¦  «        | _        n# t          $ r Y nw xY w|                      ¦   «         D ]B\  }}t          |d¦  «        r|                     |¦  «        n|||                     |¦  «        <   ŒC|S )Nr�  FrO  r?   )r   r@   ra   rL  rM  r?   rP   rf   rA   rY  rO   rj   r„  rƒ   rP  s         rF   r?   zContentStream.replicateÌ  s  € õ ØØ×!Ò! $§.¢.°°tÑ"<Ô"<¸hÈÑNÔNñ
ô 
ˆð ”JˆŒ	ð		ØÔ,ˆLØÐ#Ø$(�Ô!Ð!å$(Ø)¨<×+AÒ+AÀ(Ñ+KÔ+Kñ%ô %�Ô!øøõ ð 	ð 	ð 	ØˆDð	øøøà—J’J‘L”Lð 	ð 	‰DˆAˆqå)0°°KÑ)@Ô)@ÐG�—’˜HÑ%Ô%Ð%Àað �—’˜HÑ%Ô%Ñ&Ð&ð ˆ
s   Á9B Â
BÂBFrH   rI   rJ   c           	      ó  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          ¦   «         }t	          d|                      |                      dd¦  «        ||¦  «        ¦  «        }|€g }|                     | ||||¦  «         |S )zÂ
        Clone object into pdf_dest.

        Args:
            pdf_dest:
            force_duplicate:
            ignore_fields:

        Returns:
            The cloned ContentStream

        r�  N)rN   rO   rP   rk   r   r@   ra   r¡   r¢   s         rF   rM   zContentStream.cloneê  s´   € ð$	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøõ ),©¬ˆÝØØ×!Ò!Ø—’˜t TÑ*Ô*¨H°oñô ñ
ô 
ˆð Ð ØˆMØ�
Š
�4˜ ?°MÀ7ÑKÔKÐKØˆ
rV   r¤   r£   c                 óÌ   •— t          d|¦  «        }t          ¦   «                              |j        ¦  «         || _        t          |j        ¦  «        | _        |j        | _        dS )rR  r�  N)r   rS  rY  rL  rO   rj   r„  rƒ   )rC   r¤   r<   rI   rJ   r£   Úsrc_csra   s          €rF   r¡   zContentStream._clone  sY   ø€ õ$ �o sÑ+Ô+ˆÝ‰Œ×Ò˜œÑ&Ô&Ð&ØˆŒÝ Ô 2Ñ3Ô3ˆÔØ%Ô5ˆÔÐÐrG   c                 óJ  — |                      dd¦  «         g }	 t          |¦  «        }|dv rd S |                      dd¦  «         |                     ¦   «         s|dv ryt          |t          j        ¦  «        }|dk    r:|g k    sJ ‚|                      |¦  «        }| j                             |df¦  «         nl| j                             ||f¦  «         g }nM|d	k    r|d
vr| 	                    d¦  «        }|d
v°n)|                     t          |d | j        ¦  «        ¦  «         �Œ)Nr   T)rG   r   r†   r$   )ó   'ó   "ó   BIó   INLINE IMAGEr…   )rö   rÖ   rG   )rŠ   r   Úisalphar   r)   Údelimiter_patternÚ_read_inline_imager„  rB   rˆ   r‹   rƒ   )rC   rz   ÚoperandsÚpeekÚoperatorÚiis         rF   Ú_parse_content_streamz#ContentStream._parse_content_stream(  sL  € à�Š�A�qÑÔÐØ57ˆð	QÝ& vÑ.Ô.ˆDØ�xÐÐØ�Ø�KŠK˜˜AÑÔÐØ�|Š|‰~Œ~ð Q ¨Ð!5Ð!5Ý+¨FµJÔ4PÑQÔQ�Ø˜uÒ$Ð$ð $ rš>˜>˜>˜>Ø×0Ò0°Ñ8Ô8�BØÔ$×+Ò+¨R°Ð,AÑBÔBÐBÐBàÔ$×+Ò+¨X°xÐ,@ÑAÔAÐAØ!�H�HØ˜’�ð Ð"5Ð5Ð5Ø!Ÿ;š; q™>œ>�Dð Ð"5Ð5Ð5øð —’¥¨F°D¸$Ô:NÑ OÔ OÑPÔPÐPñ3	QrG   c           	      ó¶  — t          ¦   «         }	 t          |¦  «        }|                     dd¦  «         |dk    rnUt          || j        ¦  «        }t          |¦  «        }|                     dd¦  «         t          || j        ¦  «        }|||<   Œ�|                     d¦  «        }|d d…         dk    sJ ‚|                     d|                     d	d
¦  «        ¦  «        }|                     ¦   «         }t          |t          ¦  «        r|d         }d|v sd|v rt          |¦  «        }	�nad|v sd|v rt          |¦  «        }	�nHd|v sd|v rt          |¦  «        }	�n/d|v sd|v rt          |¦  «        }	�n|d
k    �r |                     dd¦  «        }
t          |
t          ¦  «        r|
d         }
d|
v rd}n@d|
v rd}n9|                     d|
dv rdnd¦  «        }|dk    r|dz  }nt          |¦  «        }	d}|dk    rZ|                     t          t!          t"          |d         ¦  «        |z  ¦  «        t!          t"          |d         ¦  «        z  ¦  «        }	t          |¦  «        }|                     dd¦  «         nt          |¦  «        }	|                     d¦  «        }|                     dd¦  «         |d d…         dk    s|dd…         t$          vr�|                     |d¦  «         t          |¦  «        }	|                     d¦  «        }|                     dd¦  «         |d d…         dk    s|dd…         t$          vrt'          d |›�¦  «        ‚||	d!œS )"NTr†   r$   ó   Ir7   r   s   IDú/Fz/Filterznot setr   ÚAHxÚASCIIHexDecodeÚA85ÚASCII85DecodeÚRLÚRunLengthDecodeÚDCTÚ	DCTDecodez/CSrp  ÚRGBÚCMYKé   z/BPC>   ú/Gú/Iú/Indexedú/DeviceGrayrù   g       @z/Wz/Hó   EIzHCould not extract inline image, even using fallback. Expected 'EI', got )ÚsettingsrE   )r™   r   rŠ   r‹   rO   rˆ   r©   ré   rQ   rj   r1   r0   r3   r2   r4   r   r   r•   r   r#   )rC   rz   r±  r�   r¼   rÅ   rŒ   ÚfiltrÚsavposrE   ÚcsÚlcsÚbitsÚeis                 rF   r˜  z ContentStream._read_inline_imageG  s•  € õ $Ñ%Ô%ˆð
	"Ý% fÑ-Ô-ˆCØ�KŠK˜˜AÑÔÐØ�dŠ{ˆ{àÝ˜f d¤hÑ/Ô/ˆCÝ% fÑ-Ô-ˆCØ�KŠK˜˜AÑÔÐÝ ¨¬Ñ1Ô1ˆEØ!ˆH�S‰Mð
	"ð �kŠk˜!‰nŒnˆØ�2�A�2Œw˜%ÒÐÐÐØ—’˜T 8§<¢<°	¸9Ñ#EÔ#EÑFÔFˆØ—’‘”ˆÝ�e�TÑ"Ô"ð 	Ø˜!”HˆEØ�Eˆ>ˆ>Ð-°Ð6Ð6Ý3°FÑ;Ô;ˆD‰DØ�eˆ^ˆ^˜°%Ð7Ð7Ý1°&Ñ9Ô9ˆD‰DØ�Uˆ]ˆ]Ð/°5Ð8Ð8Ý4°VÑ<Ô<ˆD‰DØ�eˆ^ˆ^˜{¨eÐ3Ð3Ý-¨fÑ5Ô5ˆD‰DØ�iÒÑØ—’˜e RÑ(Ô(ˆBÝ˜"�dÑ#Ô#ð Ø˜”U�Ø˜ˆ{ˆ{Ø��Ø˜2��Ø��à—|’|ØØÐFÐFÐF�A�AÈBñô �ð ˜!’8�8Ø ™*�C�Cå1°&Ñ9Ô9�DØ�CØ�QŠwˆwØ—{’{Ý��c 8¨D¤>Ñ2Ô2°SÑ8Ñ9Ô9½DÅÀhÈtÄnÑ<UÔ<UÑUñô �õ % VÑ,Ô,ˆBØ�KŠK˜˜AÑÔÐÐå)¨&Ñ1Ô1ˆDà�[Š[˜‰^Œ^ˆØ�Š�B˜ÑÔÐØˆbˆqˆbŒ6�UŠ?ˆ?˜b  1 œg­[Ð8Ð8à�KŠK˜ Ñ"Ô"Ð"Ý)¨&Ñ1Ô1ˆDØ—’˜Q‘”ˆBØ�KŠK˜˜AÑÔÐØ�"�1�"Œv˜Šˆ " Q q S¤'µÐ"<Ð"<õ %ØeÐ_aÐeÐeñô ð ð %¨dÐ3Ð3Ð3rG   c                 ó°  — | j         �sHt          ¦   «         }| j        D �]\  }}|dk    r³|                     d¦  «         t          ¦   «         }|d                              |¦  «         |                     |                     ¦   «         dd…         ¦  «         |                     d¦  «         |                     |d         ¦  «         |                     d¦  «         nD|D ],}|                     |¦  «         |                     d	¦  «         Œ-|                     |¦  «         |                     d
¦  «         �Œ|                     ¦   «         | _         | j         S )Nr•  r”  r±  r   éþÿÿÿs   ID rE   r°  r€   rÖ   )rL  r   r„  r�   r‚   Úgetvalue)rC   r‹  r™  r›  Ú	dict_textÚops         rF   rW  zContentStream.get_data“  sJ  € ØŒzñ 	-Ý‘y”yˆHØ&*Ô&6ð &ñ &Ñ"�˜(Ø˜Ò.Ð.Ø—N’N 5Ñ)Ô)Ð)Ý '¡	¤	�IØ˜ZÔ(×8Ò8¸ÑCÔCÐCØ—N’N 9×#5Ò#5Ñ#7Ô#7¸¸"¸Ô#=Ñ>Ô>Ð>Ø—N’N 6Ñ*Ô*Ð*Ø—N’N 8¨FÔ#3Ñ4Ô4Ð4Ø—N’N 5Ñ)Ô)Ð)Ð)à&ð -ð -˜Ø×*Ò*¨8Ñ4Ô4Ð4Ø Ÿš tÑ,Ô,Ð,Ð,Ø—N’N 8Ñ,Ô,Ð,Ø—’˜uÑ%Ô%Ð%Ñ%Ø!×*Ò*Ñ,Ô,ˆDŒJØŒzÐrG   rE   c                 óX   •— t          ¦   «                              |¦  «         g | _        d S rZ   )rS  rY  r„  r\  s     €rF   rY  zContentStream.set_data©  s)   ø€ Ý‰Œ×Ò˜ÑÔÐØˆÔÐÐrG   c                 óˆ   — | j         s5| j        r.|                      t          | j        ¦  «        ¦  «         d| _        | j         S rK  )r„  rL  r�  r   rc   s    rF   Ú
operationszContentStream.operations­  sD   € àÔð 	 D¤Jð 	Ø×&Ò&¥w¨t¬zÑ':Ô':Ñ;Ô;Ð;ØˆDŒJØÔÐrG   r¿  c                 ó"   — || _         d| _        d S rK  )r„  rL  )rC   r¿  s     rF   r¿  zContentStream.operations´  s   € à%ˆÔØˆŒ
ˆ
ˆ
rG   c                 óÀ   — | j         r;| j                              dg df¦  «         | j                              g df¦  «         d S | j        rd| j        z   dz   | _        d S d S )Nr   ó   qó   Qs   q
s   
Q
)r„  ÚinsertrB   rL  rc   s    rF   Úisolate_graphics_statez$ContentStream.isolate_graphics_state¹  sv   € ØÔð 	8ØÔ×#Ò# A¨¨D zÑ2Ô2Ð2ØÔ×#Ò# R¨ JÑ/Ô/Ð/Ð/Ð/ØŒZð 	8Ø $¤*Ñ,¨xÑ7ˆDŒJˆJˆJð	8ð 	8rG   r{   c                 ó�   •— | j         s| j        r|                      ¦   «          t          ¦   «                              ||¦  «         d S rZ   )rL  r„  rW  rS  r‚   )rC   rz   r{   ra   s      €rF   r‚   zContentStream.write_to_streamÁ  sF   ø€ ð Œzð 	˜dÔ.ð 	Ø�MŠM‰OŒOˆOÝ‰Œ×Ò ¨Ñ7Ô7Ð7Ð7Ð7rG   rZ   r�   rG  )!r‘   r’   r“   Ú__doc__r   r
   rl   rj   r—   r•   r  r   r?   r”   r	   r   rM   r™   rk   rb   r¡   r   r�  r˜  rm   rW  rY  r  r¿  ÚsetterrÅ  r‚   rw  rx  s   @rF   r�  r�  €  s  ø€ € € € € ðð ð0 HLð	5/ð 5/àð5/ð ð5/ð ˜t S¨$¨s¬)°T¸#¸s¸(´^ÐCÔDð	5/ð
 
ð5/ð 5/ð 5/ð 5/ð 5/ð 5/ðnà#ðð 
ðð ð ð ðB !&Ø=?ð	"ð "àð"ð ð"ð   ¨¨s°C¨x¬Ô 9Ô:ð	"ð
 
ð"ð "ð "ð "ðH6àð6ð $ð6ð ð	6ð
   ¨¨s°C¨x¬Ô 9Ô:ð6ð �U˜3 ˜8”_Ô%ð6ð 
ð6ð 6ð 6ð 6ð 6ð 6ð4Q¨Jð Q¸4ð Qð Qð Qð Qð>I4¨ð I4¸¸SÀ#¸X¼ð I4ð I4ð I4ð I4ðX˜%ð ð ð ð ð,˜Uð  tð ð ð ð ð ð ð ð ˜D  s¨E zÔ!2Ô3ð  ð  ð  ñ „Xð ð Ôð T¨%°°U°
Ô*;Ô%<ð Àð ð ð ñ Ôðð8ð 8ð 8ð 8ð MQð8ð 8Ø ð8Ø27¸¸cÀ5Ð8HÔ2Ið8à	ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8rG   r�  rz   rO   rƒ   c                 ó&  — |                       d¦  «        }|                      dd¦  «         |dk    rt          j        | |¦  «        S |dk    r]|                       d¦  «        }|                      dd¦  «         |dk    rt                               | ||¦  «        S t          | |¦  «        S |dk    rt                               | ||¦  «        S |d	v rt          j        | ¦  «        S |d
k    rt          | |¦  «        S |dk    r'|                       d¦  «        dk    rt          ¦   «         S |dk    rt          j        | ¦  «        S |dk    rEt          | ¦  «         t          | ¦  «        }|                      dd¦  «         t          | ||¦  «        S |dv rˆ|                       d¦  «        }|                      t          |¦  «         d¦  «         t                               |¦  «        �!|€
J d¦   «         ‚t!          j        | |¦  «        S t#          j        | ¦  «        S |                      ¦   «         }|                      dd¦  «         |                       d¦  «        }|                      |¦  «         t'          | ¦  «         t)          d|›d|› d|›�¦  «        ‚)Nr$   r†   ó   /ó   <r   r¹  rñ   r   )ó   tó   fó   (ó   eé   s   endobjó   nr…   s   0123456789+-.é   rÏ   iìÿÿÿéP   z(Invalid Elementary Object starting with z @z: )rˆ   rŠ   r)   r�   r™   r5   r;   r%   r6   r*   r   r   r‹   rŸ   ÚIndirectPatternÚmatchr(   r+   ré   r   r"   )rz   rO   rƒ   r�   rš  r  Ústream_extracts          rF   r‹   r‹   É  s|  € ð
 �+Š+�a‰.Œ.€CØ
‡K‚K��AÑÔÐØ
ˆd‚{€{ÝÔ*¨6°3Ñ7Ô7Ð7Ø
ˆd‚{€{à�{Š{˜1‰~Œ~ˆØ�Š�B˜ÑÔÐØ�5Š=ˆ=Ý#×4Ò4°V¸SÀ/ÑRÔRÐRÝ*¨6°?ÑCÔCÐCØ
ˆd‚{€{Ý×+Ò+¨F°C¸ÑIÔIÐIØ
ˆlÐÐÝÔ-¨fÑ5Ô5Ð5Ø
ˆd‚{€{Ý& v¨Ñ?Ô?Ð?Ø
ˆd‚{€{�v—{’{ 1‘~”~¨Ò2Ð2Ý‰|Œ|ÐØ
ˆd‚{€{ÝÔ*¨6Ñ2Ô2Ð2Ø
ˆd‚{€{å˜&Ñ!Ô!Ð!Ý! &Ñ)Ô)ˆØ�Š�B˜ÑÔÐÝ˜6 3¨Ñ8Ô8Ð8Ø
ÐÐÐà�{Š{˜2‰ŒˆØ�Š•S˜‘Y”Y�J Ñ"Ô"Ð"Ý× Ò  Ñ&Ô&Ð2Ø�?�? F‘?”?�?Ý!Ô2°6¸3Ñ?Ô?Ð?ÝÔ,¨VÑ4Ô4Ð4Ø
�+Š+‰-Œ-€CØ
‡K‚K��QÑÔÐØ—[’[ ‘_”_€NØ
‡K‚K�ÑÔÐÝ˜&Ñ!Ô!Ð!Ý
ØU°3ÐUÐU¸CÐUÐUÀ>ÐUÐUñô ð rG   c                   ó²  — e Zd ZdZdeddfd„Zedee         fd„¦   «         Z	edee         fd„¦   «         Z
eded         fd	„¦   «         Zedee         fd
„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         ZdS )ÚFieldz‹
    A class representing a field dictionary.

    This class is accessed through
    :meth:`get_fields()<pypdf.PdfReader.get_fields>`
    rE   r=   Nc                 ó~  — t                                | ¦  «         t          j        ¦   «         t	          j        ¦   «         z   }|j        | _        |D ]+}	 ||         | t          |¦  «        <   Œ# t          $ r Y Œ(w xY wt          |  	                    d¦  «        t          ¦  «        r™t          t          | t          d¦  «                 ¦  «                             ¦   «         }t          |t          ¦  «        r|                     ¦   «         }n|€d}nt          d¦  «        ‚t!          |¦  «        | t          d¦  «        <   d S d S )Nr®   rp  zShould never happen)r™   r  r   Ú
attributesr   rN   r)   rÃ   rQ   r©   r^  r   rW  rm   ÚdecoderP   r-   )rC   rE   Úfield_attributesÚattrÚdÚd_strs         rF   r  zField.__init__  s>  € Ý×!Ò! $Ñ'Ô'Ð'å%Ô0Ñ2Ô2Ý+Ô6Ñ8Ô8ñ9ð 	ð #'Ô"9ˆÔØ$ð 	ð 	ˆDðØ)-¨d¬�•Z Ñ%Ô%Ñ&Ð&øÝð ð ð Ø�ðøøøå�d—h’h˜t‘n”nÕ&9Ñ:Ô:ð 	=ÝÕ(¨$­z¸$Ñ/?Ô/?Ô*@ÑAÔA×JÒJÑLÔLˆAÝ˜!�UÑ#Ô#ð 7ØŸš™
œ
��Ø�Ø��åÐ 5Ñ6Ô6Ð6Ý%5°eÑ%<Ô%<ˆD•˜DÑ!Ô!Ñ"Ð"Ð"ð	=ð 	=s   ÁA,Á,
A9Á8A9c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the type of this field.)r©   r   re  rc   s    rF   Ú
field_typezField.field_type  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rG   c                 ó@   — |                       t          j        ¦  «        S )z6Read-only property accessing the parent of this field.)r©   r   ÚParentrc   s    rF   r&  zField.parent  s   € ð �xŠxÕ1Ô8Ñ9Ô9Ð9rG   r;   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the kids of this field.)r©   r   ÚKidsrc   s    rF   Úkidsz
Field.kids$  s   € ð �xŠxÕ1Ô6Ñ7Ô7Ð7rG   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the name of this field.)r©   r   ÚTrc   s    rF   Únamez
Field.name)  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rG   c                 ó@   — |                       t          j        ¦  «        S )z>Read-only property accessing the alternate name of this field.)r©   r   ÚTUrc   s    rF   Úalternate_namezField.alternate_name.  râ  rG   c                 ó@   — |                       t          j        ¦  «        S )zÒ
        Read-only property accessing the mapping name of this field.

        This name is used by pypdf as a key in the dictionary returned by
        :meth:`get_fields()<pypdf.PdfReader.get_fields>`
        )r©   r   ÚTMrc   s    rF   Úmapping_namezField.mapping_name3  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rG   c                 ó@   — |                       t          j        ¦  «        S )z¢
        Read-only property accessing the field flags, specifying various
        characteristics of the field (see Table 8.70 of the PDF 1.7 reference).
        )r©   r   ÚFfrc   s    rF   ÚflagszField.flags=  s   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rG   c                 ó@   — |                       t          j        ¦  «        S )zs
        Read-only property accessing the value of this field.

        Format varies based on field type.
        )r©   r   ÚVrc   s    rF   rÅ   zField.valueE  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rG   c                 ó@   — |                       t          j        ¦  «        S )z=Read-only property accessing the default value of this field.)r©   r   ÚDVrc   s    rF   Údefault_valuezField.default_valueN  râ  rG   c                 ó@   — |                       t          j        ¦  «        S )zÚ
        Read-only property accessing the additional actions dictionary.

        This dictionary defines the field's behavior in response to trigger
        events. See Section 8.5.2 of the PDF 1.7 reference.
        )r©   r   ÚAArc   s    rF   Úadditional_actionszField.additional_actionsS  rñ  rG   )r‘   r’   r“   rÇ  r™   r  r  r	   r)   rá  r&  rç  rl   rê  rí  rð  r•   rô  r   rÅ   rù  rü  rH   rG   rF   rØ  rØ  û  sõ  € € € € € ðð ð=Ð-ð =°$ð =ð =ð =ð =ð. ð6˜H ZÔ0ð 6ð 6ð 6ñ „Xð6ð ð:˜Ð!1Ô2ð :ð :ð :ñ „Xð:ð ð8�h˜}Ô-ð 8ð 8ð 8ñ „Xð8ð ð5�h˜s”mð 5ð 5ð 5ñ „Xð5ð ð6 ¨¤ð 6ð 6ð 6ñ „Xð6ð ð6˜h sœmð 6ð 6ð 6ñ „Xð6ð ð6�x ”}ð 6ð 6ð 6ñ „Xð6ð ð5�x ”}ð 5ð 5ð 5ñ „Xð5ð ð6˜x¨œ}ð 6ð 6ð 6ñ „Xð6ð ð6 HÐ-=Ô$>ð 6ð 6ð 6ñ „Xð6ð 6ð 6rG   rØ  c                   ód  — e Zd ZU dZdZee         ed<   dee	e
f         deeeeef         deddfd„Zedd
„¦   «         Z	 ddedede	e
f         ddfd„Zedee	         fd„¦   «         Zedee         fd„¦   «         Zedee	         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zedee         fd„¦   «         Zeded	         fd„¦   «         Zedee         fd„¦   «         Z edee         fd„¦   «         Z!dS )ÚDestinationa®  
    A class representing a destination within a PDF file.

    See section 12.3.2 of the PDF 2.0 reference.

    Args:
        title: Title of this destination.
        page: Reference to the page of this destination. Should
            be an instance of :class:`IndirectObject<pypdf.generic.IndirectObject>`.
        fit: How the destination is displayed.

    Raises:
        PdfReadError: If destination type is invalid.

    NÚnodeÚtitleÚpageÚfitr=   c                 ó   — g | _         |j        }|j        }t                               | ¦  «         t          |¦  «        | t          d¦  «        <   || t          d¦  «        <   || t          d¦  «        <   |dk    rët          |¦  «        dk     r"|                     t          d¦  «        ¦  «         t          |¦  «        dk     r"|                     t          d¦  «        ¦  «         t          |¦  «        dk     r"|                     t          d¦  «        ¦  «         |\  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          d	¦  «        <   d S t          |¦  «        d
k    rd S |t          j        k    rq|\  | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   | t          t          j        ¦  «        <   d S |t          j        t          j        fv rZ	 |\  | t          t          j        ¦  «        <   d S # t&          $ r, t)          ¦   «         | t          t          j        ¦  «        <   Y d S w xY w|t          j        t          j        fv rZ	 |\  | t          t          j        ¦  «        <   d S # t&          $ r, t)          ¦   «         | t          t          j        ¦  «        <   Y d S w xY w|t          j        t          j        fv rd S t3          d|›�¦  «        ‚)Nú/Titleú/Pager§   z/XYZr$   g        r   r7   ú/Zoomr   zUnknown Destination Type: )Ú_filtered_childrenÚfit_typeÚfit_argsr™   r  r-   r)   rŸ   rB   r+   ÚTAÚLEFTÚTOPÚTFÚFIT_RÚBOTTOMÚRIGHTÚFIT_HÚFIT_BHrP   r*   ÚFIT_VÚFIT_BVÚFITÚFIT_Br"   )rC   r   r  r  ÚtypÚargss         rF   r  zDestination.__init__s  sÁ  € ð .0ˆÔàŒlˆØŒ|ˆå×!Ò! $Ñ'Ô'Ð'Ý%5°eÑ%<Ô%<ˆ�Z˜Ñ!Ô!Ñ"Ø$(ˆ�Z˜Ñ Ô Ñ!Ø$'ˆ�Z˜Ñ Ô Ñ!ð �&Š=ˆ=Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.Ý�4‰yŒy˜1Š}ˆ}Ø—’�L¨Ñ-Ô-Ñ.Ô.Ð.ð
 ñ	Ø•Z¥¤Ñ(Ô(Ñ)Ø•Z¥¤Ñ'Ô'Ñ(Ø•Z Ñ(Ô(Ñ)Ð)Ð)å�‰YŒY˜!Š^ˆ^ØˆDØ•B”HŠ_ˆ_ð ñØ•Z¥¤Ñ(Ô(Ñ)Ø•Z¥¤	Ñ*Ô*Ñ+Ø•Z¥¤Ñ)Ô)Ñ*Ø•Z¥¤Ñ'Ô'Ñ(Ð(Ð(à•R”X�rœyÐ)Ð)Ð)ð>Ø.2Ñ+�•j¥¤Ñ(Ô(Ñ)Ð)Ð)øÝð >ð >ð >Ý/9©|¬|�•j¥¤Ñ(Ô(Ñ)Ð)Ð)Ð)ð>øøøà•R”X�rœyÐ)Ð)Ð)ð?Ø/3Ñ,�•j¥¤Ñ)Ô)Ñ*Ð*Ð*øÝð ?ð ?ð ?Ý0:±´�•j¥¤Ñ)Ô)Ñ*Ð*Ð*Ð*ð?øøøà•R”V�RœXÐ&Ð&Ð&ØˆDåÐC¸CÐCÐCÑDÔDÐDs$   ÈH5 È52I+É*I+Ê	J) Ê)2KËKr;   c                 óv   ‡ — t          ‰                      d¦  «        ‰ d         gˆ fd„dD ¦   «         z   ¦  «        S )Nr  r§   c                 ó(   •— g | ]}|‰v ¯‰|         ‘ŒS rH   rH   )r]   r^   rC   s     €rF   rÝ   z*Destination.dest_array.<locals>.<listcomp>¬  s.   ø€ ð ð ð àØ˜�9�9ð �Q”à�9�9rG   )ú/Leftú/Bottomú/Rightú/Topr  )r;   r¨   rc   s   `rF   Ú
dest_arrayzDestination.dest_array¨  sX   ø€ åØ�\Š\˜'Ñ"Ô" D¨¤MÐ2ðð ð ð àHðñ ô ññ
ô 
ð 	
rG   rz   r{   c                 ó  — |�t          dd¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         | j        }|                     |¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         |                     d	¦  «         d S )
Nr}   r~   rÔ   z/Dr€   z/Sz/GoTorÖ   r×   )r   r�   r)   r‚   r  )rC   rz   r{   r¼   rÅ   Úvalue_ss         rF   r‚   zDestination.write_to_stream³  s  € ð Ð%Ý&ØAÀ7ñô ð ð 	�Š�WÑÔÐÝ˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐØ”ˆØ×Ò˜fÑ%Ô%Ð%å˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐÝ˜WÑ%Ô%ˆØ×Ò Ñ'Ô'Ð'à�Š�UÑÔÐØ�Š�UÑÔÐÐÐrG   c                 ó,   — |                       d¦  «        S )z3Read-only property accessing the destination title.r  ©r©   rc   s    rF   r   zDestination.titleÊ  s   € ð �xŠx˜Ñ!Ô!Ð!rG   c                 ó,   — |                       d¦  «        S )zHRead-only property accessing the IndirectObject of the destination page.r  r#  rc   s    rF   r  zDestination.pageÏ  ó   € ð �xŠx˜Ñ Ô Ð rG   c                 ó,   — |                       d¦  «        S )z2Read-only property accessing the destination type.r§   r#  rc   s    rF   r  zDestination.typÔ  r%  rG   c                 ó.   — |                       dd¦  «        S )z-Read-only property accessing the zoom factor.r  Nr#  rc   s    rF   ÚzoomzDestination.zoomÙ  ó   € ð �xŠx˜ Ñ&Ô&Ð&rG   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the left horizontal coordinate.r  Nr#  rc   s    rF   ÚleftzDestination.leftÞ  r)  rG   c                 ó.   — |                       dd¦  «        S )z=Read-only property accessing the right horizontal coordinate.r  Nr#  rc   s    rF   ÚrightzDestination.rightã  s   € ð �xŠx˜ $Ñ'Ô'Ð'rG   c                 ó.   — |                       dd¦  «        S )z9Read-only property accessing the top vertical coordinate.r  Nr#  rc   s    rF   ÚtopzDestination.topè  s   € ð �xŠx˜ Ñ%Ô%Ð%rG   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the bottom vertical coordinate.r  Nr#  rc   s    rF   ÚbottomzDestination.bottomí  s   € ð �xŠx˜	 4Ñ(Ô(Ð(rG   c                 ó¸   — t          d|                      dt          t          d¦  «        t          d¦  «        t          d¦  «        g¦  «        ¦  «        ¦  «        S )zHRead-only property accessing the color in (R, G, B) with values 0.0-1.0.r;   z/Cr   )r   r©   r;   r'   rc   s    rF   ÚcolorzDestination.colorò  sL   € õ ØØ�HŠH�T�;­°A©¬½ÀA¹¼ÍÐTUÉÌÐ'WÑXÔXÑYÔYñ
ô 
ð 	
rG   c                 óH   — t          |                      dd¦  «        ¦  «        S )z_
        Read-only property accessing the font type.

        1=italic, 2=bold, 3=both
        r   r   )r   r©   rc   s    rF   Úfont_formatzDestination.font_formatú  s    € õ ˜tŸxšx¨¨aÑ0Ô0Ñ1Ô1Ð1rG   c                 ó.   — |                       dd¦  «        S )zÀ
        Read-only property accessing the outline count.

        positive = expanded
        negative = collapsed
        absolute value = number of visible descendants at all levels
        r)  Nr#  rc   s    rF   Úoutline_countzDestination.outline_count  s   € ð �xŠx˜ $Ñ'Ô'Ð'rG   )r=   r;   rZ   )"r‘   r’   r“   rÇ  rÿ  r	   r™   Ú__annotations__r
   rl   rm   r+   r(   r*   r/   r  r  r  r   r‚   r   r  r  r•   r(  r'   r+  r-  r/  r1  r3  r   r5  r7  rH   rG   rF   rþ  rþ  ^  sâ  € € € € € € ðð ð$ 	ð 	ˆ(Øôð ð ñ ð3Eà�S˜%�ZÔ ð3Eð �L .°*Ð>NÐNÔOð3Eð ð	3Eð
 
ð3Eð 3Eð 3Eð 3Eðj ð
ð 
ð 
ñ „Xð
ð MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð. ð"�x ”}ð "ð "ð "ñ „Xð"ð ð!�h˜~Ô.ð !ð !ð !ñ „Xð!ð ð!�X˜c”]ð !ð !ð !ñ „Xð!ð ð'�h˜s”mð 'ð 'ð 'ñ „Xð'ð ð'�h˜{Ô+ð 'ð 'ð 'ñ „Xð'ð ð(�x Ô,ð (ð (ð (ñ „Xð(ð ð&�X˜kÔ*ð &ð &ð &ñ „Xð&ð ð)˜ Ô-ð )ð )ð )ñ „Xð)ð ð
�x Ô.ð 
ð 
ð 
ñ „Xð
ð ð2˜X oÔ6ð 2ð 2ð 2ñ „Xð2ð ð(˜x¨œ}ð (ð (ð (ñ „Xð(ð (ð (rG   rþ  rZ   )]Ú
__author__Ú__author_email__Úloggingr  ÚsysÚcollections.abcr   r   Úior   Úmathr   Útypingr   r   r	   r
   r   Ú
_protocolsr   r   r   Ú_utilsr   r   r   r   r   r   r   r   r   Ú	constantsr   r   r   r   r   re  r   r
  r   r  Úerrorsr    r!   r"   r#   Ú_baser%   r&   r'   r(   r)   r*   r+   r,   r-   r.   Ú_fitr/   Ú_image_inliner0   r1   r2   r3   r4   r5   r6   Úversion_infor9   Útyping_extensionsÚ	getLoggerr‘   Úloggerr  rÔ  rj   r;   r—   r™   r  r>  rR   rO  r^  r†  r�  rl   r•   r‹   rØ  rþ  rH   rG   rF   ú<module>rL     s‘  ðð: €
Ø/Ð à €€€Ø 	€	€	€	Ø 
€
€
€
Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð VÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ Uð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ðð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )Ø *Ð *Ð *Ð *Ð *Ð *Ø -Ð -Ð -Ð -Ð -Ð -Ø bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð IÐ HÐ HÐ HÐ HÐ HÐ HÐ HàÔ�wÒÐØÐÐÐÐÐÐà&Ð&Ð&Ð&Ð&Ð&à	ˆÔ	˜8Ñ	$Ô	$€à�"”*Ð@ÑAÔA€ðkð kð kð kð k�$�s”)˜Yñ kô kð kð\að að að að a�t˜C ˜H”~ yñ aô að aðHX*ð X*ð X*ð X*ð X*Ð!ñ X*ô X*ð X*ðv+¨Sð +°Tð +ð +ð +ð +ð"mð mð mð mð mÐ#ñ mô mð mð`	ð 	ð 	ð 	ð 	˜,ñ 	ô 	ð 	ð$ð $ð $ð $ð $˜,ñ $ô $ð $ðN #)Ð ðF8ð F8ð F8ð F8ð F8Ð'ñ F8ô F8ð F8ðX
 DHð/ð /Øð/à	Ð#Ô	$ð/ð ˜4  d¨3¤i°°c¸3°h´Ð?Ô@ð/ð ˆ9�c˜3 Ð-Ô.ð	/ð /ð /ð /ðd`6ð `6ð `6ð `6ð `6ˆJñ `6ô `6ð `6ðFn(ð n(ð n(ð n(ð n(�*ñ n(ô n(ð n(ð n(ð n(rG   