§
    K˜ºhúí  ã                   ó  — d Z dZddlZddlZddlmZ ddlmZmZ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 ddlmZ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# dd
l 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/ ddl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 ddl9m:Z: ddlm;Z;m<Z<  ej=        e>¦  «        Z?dZ@ ejA        d¦  «        ZB G d„ dee         e7¦  «        ZC G d„ de	eef         e7¦  «        ZD G d„ deD¦  «        ZEdeddfd„ZF G d„ deD¦  «        ZG G d „ d!eG¦  «        ZH G d"„ d#eG¦  «        ZI G d$„ d%eH¦  «        ZJ	 d.d&ed'ee         d(edeKeeK         e	eLeKf         f         dee7eLeKeJf         fd)„ZM G d*„ d+eE¦  «        ZN G d,„ d-eE¦  «        ZOdS )/zMathieu Fenniakzbiziqe@mathieu.fenniak.neté    N)ÚBytesIO)ÚAnyÚCallableÚDictÚIterableÚListÚOptionalÚSequenceÚSetÚTupleÚUnionÚcasté   )ÚPdfReaderProtocolÚPdfWriterProtocol)
ÚWHITESPACESÚ
StreamTypeÚb_Údeprecate_no_replacementÚdeprecate_with_replacementÚdeprecation_with_replacementÚlogger_warningÚread_non_whitespaceÚread_until_regexÚskip_over_comment)ÚCheckboxRadioButtonAttributesÚFieldDictionaryAttributesÚOutlineFontFlag)ÚFilterTypes)ÚStreamAttributes)ÚTypArguments)ÚTypFitArguments)ÚSTREAM_TRUNCATED_PREMATURELYÚPdfReadErrorÚPdfStreamErroré   )ÚBooleanObjectÚFloatObjectÚIndirectObjectÚ
NameObjectÚ
NullObjectÚNumberObjectÚ	PdfObjectÚTextStringObject)ÚFit)Úread_hex_string_from_streamÚread_string_from_streams   +-s   [+-]?(\d+)\s+(\d+)\s+R[^a-zA-Z]c                   óH  — e Zd Z	 	 ddededeeeee	f                           dd fd„Z
dee         fd„Z	 dd
eded	eef         dd	fd„Z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ed
ededd fd„¦   «         Zd	S )ÚArrayObjectF© Úpdf_destÚforce_duplicateÚignore_fieldsÚreturnc                 ó  — 	 | j         j        |k    r|s| S n# t          $ r Y nw xY wt          d|                      t          ¦   «         ||¦  «        ¦  «        }| D ]®}t          |t          ¦  «        rG|                     |                     |||¦  «        ||¦  «        }| 	                    |j         ¦  «         Œ^t          |d¦  «        r+| 	                    |                     |||¦  «        ¦  «         Œ™| 	                    |¦  «         Œ¯|S )úClone object into pdf_dest.r3   Úclone)Úindirect_referenceÚpdfÚ	Exceptionr   Ú_reference_cloner3   Ú
isinstanceÚStreamObjectr;   ÚappendÚhasattr)Úselfr5   r6   r7   ÚarrÚdataÚdups          úf/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/pypdf/generic/_data_structures.pyr;   zArrayObject.clone[   s*  € ð	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøåØØ×!Ò!¥+¡-¤-°¸?ÑKÔKñ
ô 
ˆð ð 	!ð 	!ˆDÝ˜$¥Ñ-Ô-ð 
!Ø×+Ò+Ø—J’J˜x¨¸-ÑHÔHØØ#ñô �ð
 —
’
˜3Ô1Ñ2Ô2Ð2Ð2Ý˜˜wÑ'Ô'ð !Ø—
’
˜4Ÿ:š: h°ÀÑOÔOÑPÔPÐPÐPà—
’
˜4Ñ Ô Ð Ð Øˆ
ó   ‚ —
$£$c                 ó    — t          | ¦  «        S )z:Emulate DictionaryObject.items for a list (index, object).)Ú	enumerate©rD   s    rH   ÚitemszArrayObject.itemsy   s   € å˜‰ŒÐó    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)rD   rO   rP   rF   s       rH   rW   zArrayObject.write_to_stream}   s…   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š�TÑÔÐØð 	)ð 	)ˆDØ�LŠL˜ÑÔÐØ× Ò  Ñ(Ô(Ð(Ð(Ø�Š�UÑÔÐÐÐrN   c                 óR   — t          ddd¦  «         |                      |¦  «         d S ©NÚwriteToStreamrW   ú3.0.0©r   rW   ©rD   rO   rP   s      rH   rZ   zArrayObject.writeToStreamŠ   ó1   € õ 	% _Ð6GÈÑQÔQÐQØ×Ò˜VÑ$Ô$Ð$Ð$Ð$rN   r=   Úforced_encodingc                 óö  — t          ¦   «         }|                      d¦  «        }|dk    rt          d¦  «        ‚	 |                      d¦  «        }|                     ¦   «         r)|                      d¦  «        }|                     ¦   «         °)|                      dd¦  «         |                      d¦  «        }|dk    rn;|                      dd¦  «         |                     t          | ||¦  «        ¦  «         Œ¿|S )Nr&   rT   zCould not read arrayTéÿÿÿÿó   ])r3   Úreadr$   ÚisspaceÚseekrB   Úread_object)rO   r=   r_   rE   ÚtmpÚtokÚ
peek_aheads          rH   Ú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�ð —+’+‘-”-ð %à�KŠK˜˜AÑÔÐàŸš Q™œˆJØ˜TÒ!Ð!ØØ�KŠK˜˜AÑÔÐà�JŠJ•{ 6¨3°Ñ@Ô@ÑAÔAÐAð	Bð ˆ
rN   c                 óZ   — t          ddd¦  «         t                               | |¦  «        S ©NÚreadFromStreamrj   r[   )r   r3   rj   ©rO   r=   s     rH   rm   zArrayObject.readFromStream©   s.   € õ 	%Ð%5Ð7IÈ7ÑSÔSÐSÝ×+Ò+¨F°CÑ8Ô8Ð8rN   ©Fr4   ©N)Ú__name__Ú
__module__Ú__qualname__r   Úboolr	   r
   r   ÚstrÚintr;   r   r   rM   r   ÚbytesrW   rZ   Ústaticmethodr   r   r   rj   rm   r4   rN   rH   r3   r3   Z   s°  € € € € € ð !&Ø=?ð	ð à#ðð ðð   ¨¨s°C¨x¬Ô 9Ô:ð	ð
 
ðð ð ð ð<�x ”}ð ð ð ð ð
 MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð ð HLðð ØðàÐ'Ô(ðð ˜t S¨$¨s¬)°T¸#¸s¸(´^ÐCÔDðð 
ð	ð ð ñ „\ðð0 ð9Øð9Ø!2ð9à	ð9ð 9ð 9ñ „\ð9ð 9ð 9rN   r3   c                   óR  — e Z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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e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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 edededd fd„¦   «         Z!d
S )ÚDictionaryObjectFr4   r5   r6   r7   r8   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 )r:   rz   Nr   )
r<   r=   r>   Úsetr   r?   Ú	__class__ÚlenÚkeysÚ_clone©rD   r5   r6   r7   ÚvisitedÚd__s         rH   r;   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Øˆ
rI   Úsrcr‚   Nc           
      ó  ‡‡— d}‰€J ‚t          ‰¦  «        Š|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:
        r   Nr&   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)r@   Úraw_getr)   rz   Úgetr   )Ú.0Úfieldr7   r„   s     €€rH   ú	<genexpr>z*DictionaryObject._clone.<locals>.<genexpr>ê   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ð
ð 
ð 
ð 
ð 
ð 
rN   )ú/Nextú/Prevú/Nú/V))r�   rŽ   )r�   r�   r‡   rz   r<   r;   )Úlistr~   r@   rv   r   Úanyrˆ   r)   rz   r‰   r?   r}   r<   ÚidnumÚ
generationÚaddrB   r*   r>   r€   rM   rA   rC   r;   )rD   r„   r5   r6   r7   r‚   ÚxÚlstÚkÚobjsÚcur_objÚprev_objÚclonr“   r”   ÚsÚcÚvÚvvs    `  `              rH   r€   zDictionaryObject._cloneÊ   sR  øø€ ð& ˆØÐ(Ð(Ð(Ý˜]Ñ+Ô+ˆØ•#�mÑ$Ô$Ò$Ð$Ý˜-¨Ô*­CÑ0Ô0ð *Ý�˜]¨1Ô-Ñ.Ô.°!Ò3Ð3Ø% 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Úkeyc                 ó8   — t                                | |¦  «        S rp   )ÚdictÚ__getitem__©rD   r¡   s     rH   rˆ   zDictionaryObject.raw_get;  s   € Ý×Ò  cÑ*Ô*Ð*rN   Úvaluec                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S ©Nzkey must be PdfObjectzvalue must be PdfObject)r@   r-   Ú
ValueErrorr£   Ú__setitem__©rD   r¡   r¦   s      rH   rª   zDictionaryObject.__setitem__>  s\   € Ý˜#�yÑ)Ô)ð 	6ÝÐ4Ñ5Ô5Ð5Ý˜%¥Ñ+Ô+ð 	8ÝÐ6Ñ7Ô7Ð7Ý×Ò  c¨5Ñ1Ô1Ð1rN   c                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚t                               | ||¦  «        S r¨   )r@   r-   r©   r£   Ú
setdefaultr«   s      rH   r­   zDictionaryObject.setdefaultE  sZ   € Ý˜#�yÑ)Ô)ð 	6ÝÐ4Ñ5Ô5Ð5Ý˜%¥Ñ+Ô+ð 	8ÝÐ6Ñ7Ô7Ð7Ý�Š˜t S¨%Ñ0Ô0Ð0rN   c                 ó\   — t                                | |¦  «                             ¦   «         S rp   )r£   r¤   Ú
get_objectr¥   s     rH   r¤   zDictionaryObject.__getitem__L  s$   € Ý×Ò  cÑ*Ô*×5Ò5Ñ7Ô7Ð7rN   c                 óÈ   — ddl m} |                      dd¦  «        }|€dS |                     ¦   «         }t	          ||¦  «        s ||¦  «        }|| t          d¦  «        <   |S )uý  
        Retrieve XMP (Extensible Metadata Platform) data relevant to the this
        object, if available.

        Stability: Added in v1.12, will exist for all future v1.x releases.
        See Table 315 â€“ Additional entries in a metadata stream dictionary

        Returns:
          Returns a {@link #xmp.XmpInformation XmlInformation} 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)Úxmpr±   r‰   r¯   r@   r*   )rD   r±   Úmetadatas      rH   Úxmp_metadatazDictionaryObject.xmp_metadataO  s}   € ð 	)Ð(Ð(Ð(Ð(Ð(à—8’8˜K¨Ñ.Ô.ˆØÐØ�4Ø×&Ò&Ñ(Ô(ˆå˜( NÑ3Ô3ð 	5Ø%�~ hÑ/Ô/ˆHØ,4ˆD•˜KÑ(Ô(Ñ)ØˆrN   c                 ó2   — t          ddd¦  «         | j        S )úS
        Use :meth:`xmp_metadata` instead.

        .. deprecated:: 1.28.3
        ÚgetXmpMetadatar´   r[   ©r   r´   rL   s    rH   r·   zDictionaryObject.getXmpMetadatai  s    € õ 	%Ð%5°~ÀwÑOÔOÐOØÔ Ð rN   c                 ó2   — t          ddd¦  «         | j        S )r¶   ÚxmpMetadatar´   r[   r¸   rL   s    rH   rº   zDictionaryObject.xmpMetadatat  ó   € õ 	% ]°NÀGÑLÔLÐLØÔ Ð rN   rO   rP   c                 óÎ  — |�t          dd¦  «         |                     d¦  «         t          |                      ¦   «         ¦  «        D ]†\  }}t	          |¦  «        dk    r|d         dk    r|d         dk    rŒ1|                     ||¦  «         |                     d¦  «         |                     |¦  «         |                     d	¦  «         Œ‡|                     d
¦  «         d S )NrR   rS   ó   <<
r   r&   ú%ra   rU   ó   
ó   >>)r   rV   r‘   rM   r~   rW   )rD   rO   rP   r¡   r¦   s        rH   rW   z DictionaryObject.write_to_stream~  së   € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š�WÑÔÐÝ˜tŸzšz™|œ|Ñ,Ô,ð 	 ð 	 ‰JˆC�Ý�3‰xŒx˜!Š|ˆ|  A¤¨#¢ °#°b´'¸S².°.ØØ×Ò ¨Ñ7Ô7Ð7Ø�LŠL˜ÑÔÐØ×!Ò! &Ñ)Ô)Ð)Ø�LŠL˜ÑÔÐÐØ�Š�UÑÔÐÐÐrN   c                 óR   — t          ddd¦  «         |                      |¦  «         d S rY   r\   r]   s      rH   rZ   zDictionaryObject.writeToStream�  r^   rN   r=   r_   c           
      óÈ  ‡— dt           dt           dt          t                    dt          dt           f
ˆfd„Šdt          dt          dt          fˆfd„}|                      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          | ¦  «        }|  
                    dd¦  «         t          | ||¦  «        }n�# 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¦  «        |t5          t.          j        ¦  «        <   |t.          j                 }t7          |t8          ¦  «        rC|                      ¦   «         }|€J ‚|                     |¦  «        }|  
                    |d¦  «         |€d}|                      ¦   «         }|dk    r|                      |¦  «        |d <   n%t=          | t?          j         d!¦  «        ¦  «        |d <   t          | ¦  «        }|                      d"¦  «        }||z   d!k    rê|                      ¦   «         }|  
                    d#d¦  «         |                      d$¦  «        }|d!k    r|d          d d…         |d <   n¨|�A|j        s:|  
                    |d¦  «          || |¦  «        |d <   |                      ¦   «         }ne|  
                    |d¦  «         t          d%t          |                      ¦   «         ¦  «        › d&|›d'|›d(�¦  «        ‚n|  
                    |d¦  «         d |v rtB           "                    |¦  «        S t)          ¦   «         }
|
                     |¦  «         |
S ))NÚpÚp1Úrem_gensr=   r8   c                 óÊ   •— |j         |d                  }|D ]"}|||         k    r| ||         k     r||         }Œ#t          |¦  «        dk    r|S  ‰| ||dd …         |¦  «        S )Nr   r&   )Úxrefr~   )rÃ   rÄ   rÅ   r=   ÚlocÚoÚget_next_obj_poss         €rH   rÊ   z;DictionaryObject.read_from_stream.<locals>.get_next_obj_pos›  s|   ø€ ð ”(˜8 Aœ;Ô'ˆCØð  ð  �Ø˜˜Aœ’;�; 1 s¨1¤v¢: :Ø˜Qœ�BøÝ�8‰}Œ} Ò!Ð!Ø�	à'Ð'¨¨2¨x¸¸¸¬|¸SÑAÔAÐArN   rO   c                 ó–  •—  ‰|                       ¦   «         dt          |j        ¦  «        |¦  «        dz
  }|                       ¦   «         }|                      ||                       ¦   «         z
  ¦  «        }|                     d¦  «        }|dk     rt          d|› d�¦  «        ‚|                      ||z   dz   ¦  «         |d |dz
  …         S )Nl        r&   ó	   endstreamr   z6Unable to find 'endstream' marker for obj starting at ú.é	   )Útellr‘   rÇ   rc   Úfindr$   re   )rO   r=   ÚeonÚcurrÚrwrÃ   rÊ   s         €rH   Úread_unsized_from_streamzCDictionaryObject.read_from_stream.<locals>.read_unsized_from_stream§  sÄ   ø€ ð #Ð" 6§;¢;¡=¤=°%½¸c¼h¹¼ÈÑMÔMÐPQÑQˆCØ—;’;‘=”=ˆDØ—’˜S 6§;¢;¡=¤=Ñ0Ñ1Ô1ˆBØ—’˜Ñ%Ô%ˆAØ�1ŠuˆuÝ"ØTÈTÐTÐTÐTñô ð ð �KŠK˜˜q™ 1™Ñ%Ô%Ð%Ø�g˜˜A™�g”;ÐrN   r   ó   <<zDictionary read error at byte z: stream must begin with '<<'Tó    ó   %ra   r&   ó   >z+Multiple definitions in dictionary at byte z	 for key ó   sé   s   treamrU   )r¿   ó   z)Stream data must be followed by a newlinerÛ   r¿   zStream length not definedzStream length not defined @pos=r   Ú__streamdata__rÌ   é   iöÿÿÿrÎ   z7Unable to find 'endstream' marker after stream at byte z (nd='z', end='z').)#rv   r   r   r   rw   rc   r$   ÚhexrÏ   r   re   r   r%   r#   rf   r>   ÚstrictÚ__repr__r   rq   rz   Úupdater‰   ÚSAÚLENGTHr,   r*   r@   r)   r¯   r   ÚreÚcompilerA   Úinitialize_from_dictionary)rO   r=   r_   rÔ   rg   rF   rh   r¡   r¦   ÚexcÚretvalÚmsgÚposr�   ÚeolÚlengthÚtÚpstartÚeÚndstreamÚendrÊ   s                        @rH   rj   z!DictionaryObject.read_from_stream•  s=  ø€ ð
	BÝð
	BÝð
	BÝ'+­C¤yð
	BÝ7Hð
	Båð
	Bð 
	Bð 
	Bð 
	Bð 
	Bð 
	Bð	Ýð	Ý%6ð	åð	ð 	ð 	ð 	ð 	ð 	ð �kŠk˜!‰nŒnˆØ�%Š<ˆ<Ýð.µ°V·[²[±]´]Ñ1CÔ1Cð .ð .ð .ñô ð ð  "ˆð&	.Ý% fÑ-Ô-ˆCØ�gŠ~ˆ~ØØ˜’�Ø—’˜B Ñ"Ô"Ð"Ý! &Ñ)Ô)Ð)ØØð CÝ$Õ%AÑBÔBÐBà�dŠ{ˆ{Ø—’˜A‘”�ÙØ�KŠK˜˜AÑÔÐðÝ! &¨#Ñ.Ô.�Ý)¨&Ñ1Ô1�Ø—’˜B Ñ"Ô"Ð"Ý# F¨C°ÑAÔA��øÝð ð ð Ø�? s¤z�?Ý& s§|¢|¡~¤~Ñ6Ô6Ð6Ý˜sŸ|š|™~œ~­xÑ8Ô8Ð8Ý)Ñ+Ô+�Ø—’˜dÑ#Ô#Ð#Ø������øøøøðøøøð —8’8˜C‘=”=ð 
.Ø!��S‘	�	ð:Ý˜6Ÿ;š;™=œ=Ñ)Ô)ð:ð :Ø47ð:ð :ð ð �? s¤z�?Ý& sÑ+Ô+Ð+Ý˜s¥HÑ-Ô-Ð-ñM&	.ðP �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 Ñ"Ô"Ð"åŒy Ð$Ð$Ø�? s¤z�?Ý(Ð)DÑEÔEÐEå"ØI¸&¿+º+¹-¼-ÐIÐIÍ8ñô ð õ /;¸2Ñ.>Ô.>�•Z¥¤	Ñ*Ô*Ñ+Ø�"œ)”_ˆFÝ˜&¥.Ñ1Ô1ð "Ø—K’K‘M”M�Ø���ØŸš¨Ñ/Ô/�Ø—’˜A˜qÑ!Ô!Ð!Øˆ~Ø�Ø—[’[‘]”]ˆFØ˜ŠzˆzØ)/¯ª°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 ¨Ñ*Ô*Ð*Ø-EÐ-EÀfÈcÑ-RÔ-R�DÐ)Ñ*Ø Ÿ+š+™-œ-�C�Cà—K’K  QÑ'Ô'Ð'Ý&ðTÝ˜vŸ{š{™}œ}Ñ-Ô-ðTð TØ5=ðTð TØILðTð Tð Tñô ð ð' .ð0 �KŠK˜˜QÑÔÐØ˜tÐ#Ð#Ý×:Ò:¸4Ñ@Ô@Ð@å%Ñ'Ô'ˆFØ�MŠM˜$ÑÔÐØˆMs    Ä-AE4 Å4
G>Å>A5G9Ç3G>Ç9G>c                 óZ   — t          ddd¦  «         t                               | |¦  «        S rl   )r   rz   rj   rn   s     rH   rm   zDictionaryObject.readFromStream+  s.   € õ 	%Ð%5Ð7IÈ7ÑSÔSÐSÝ×0Ò0°¸Ñ=Ô=Ð=rN   ro   rp   )"rq   rr   rs   r   rt   r	   r
   r   ru   rv   r;   r   r   r€   r   rˆ   rª   r­   r-   r¤   Úpropertyr´   r·   rº   r   rw   rW   rZ   rx   r   r   r   rj   rm   r4   rN   rH   rz   rz   ±   s+  € € € € € ð !&Ø=?ð	ð à#ðð ðð   ¨¨s°C¨x¬Ô 9Ô:ð	ð
 
ðð ð ð ð0oàðoð $ðoð ð	oð
   ¨¨s°C¨x¬Ô 9Ô:ðoð �U˜3 ˜8”_Ô%ðoð 
ðoð oð oð oðb+˜3ð + 3ð +ð +ð +ð +ð2˜sð 2¨3ð 2°3ð 2ð 2ð 2ð 2ð1ð 1˜cð 1¨(°3¬-ð 1À3ð 1ð 1ð 1ð 1ð8˜sð 8 yð 8ð 8ð 8ð 8ð ð˜h yÔ1ð ð ð ñ „Xðð2	!à	�)Ô	ð	!ð 	!ð 	!ð 	!ð ð!˜X iÔ0ð !ð !ð !ñ „Xð!ð MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð"%Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð ð HLðSð SØðSàÐ'Ô(ðSð ˜t S¨$¨s¬)°T¸#¸s¸(´^ÐCÔDðSð 
ð	Sð Sð Sñ „\ðSðj ð>Øð>Ø!2ð>à	ð>ð >ð >ñ „\ð>ð >ð >rN   rz   c                   ól  — 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	fd„Z
dee	         fd„Zd	e	d
e	dd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d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 d„ZdS )!Ú
TreeObjectNÚdctr8   c                 ól   — t                                | ¦  «         |r|                      |¦  «         d S d S rp   )rz   Ú__init__rá   )rD   rö   s     rH   rø   zTreeObject.__init__4  s@   € Ý×!Ò! $Ñ'Ô'Ð'Øð 	Ø�KŠK˜ÑÔÐÐÐð	ð 	rN   c                 óL   — t          ddd¦  «         |                      ¦   «         S )NÚhasChildrenÚhas_childrenú4.0.0)r   rû   rL   s    rH   rú   zTreeObject.hasChildren9  s&   € Ý" =°.À'ÑJÔJÐJØ× Ò Ñ"Ô"Ð"rN   c                 ó
   — d| v S )Nú/Firstr4   rL   s    rH   rû   zTreeObject.has_children=  s   € Ø˜4ÐÐrN   c                 ó*   — |                       ¦   «         S rp   )ÚchildrenrL   s    rH   Ú__iter__zTreeObject.__iter__@  s   € Ø�}Š}‰ŒÐrN   c              #   ó:  K  — |                       ¦   «         sd S | t          d¦  «                 }|                     ¦   «         }	 |V — || t          d¦  «                 k    rd S |                     t          d¦  «        ¦  «        }|€d S |                     ¦   «         }ŒZ)Nrþ   Tú/Lastr�   )rû   r*   r¯   r‰   )rD   Ú	child_refÚchilds      rH   r   zTreeObject.childrenC  s§   è è € Ø× Ò Ñ"Ô"ð 	ØˆFà� HÑ-Ô-Ô.ˆ	Ø×$Ò$Ñ&Ô&ˆð	+ØˆKˆKˆKØ˜�Z¨Ñ0Ô0Ô1Ò1Ð1Ø�ØŸ	š	¥*¨WÑ"5Ô"5Ñ6Ô6ˆIØÐ Ø�Ø×(Ò(Ñ*Ô*ˆEð	+rN   r  r=   c                 óT   — t          ddd¦  «         |                      ||¦  «         d S )NÚaddChildÚ	add_childr[   )r   r  ©rD   r  r=   s      rH   r  zTreeObject.addChildR  s.   € Ý$ Z°¸gÑFÔFÐFØ�Š�u˜cÑ"Ô"Ð"Ð"Ð"rN   c                 ó4   — |                       |d |¦  «         d S rp   )Úinsert_childr	  s      rH   r  zTreeObject.add_childV  s    € Ø×Ò˜%  sÑ+Ô+Ð+Ð+Ð+rN   ÚparentÚnc                 ó^  — |€d S t          d|                     ¦   «         ¦  «        }d|v r‚t          t          dt          t          |t          d¦  «                 ¦  «        |z   ¦  «        ¦  «        |t          d¦  «        <   |                      |                     dd ¦  «        |¦  «         d S d S )Nrõ   ú/Countr   ú/Parent)r   r¯   r,   Úmaxrv   r*   Úinc_parent_counter_defaultr‰   )rD   r  r  s      rH   r  z%TreeObject.inc_parent_counter_defaultY  s­   € ð ˆ>ØˆFÝ�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ð	 ÐrN   c                 ó°  — |€d S 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õ   z
/%is_open%Tr  r   r&   ra   r  )r   r¯   r‰   rv   Úabsr,   r*   Úinc_parent_counter_outline)rD   r  r  Úopnrž   s        rH   r  z%TreeObject.inc_parent_counter_outlinee  sÕ   € ð ˆ>ØˆFÝ�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ÐGrN   ÚbeforeÚinc_parent_counter.c                 ó„  — |€| j         }|                     ¦   «         }|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Ž   rz   rõ   )
r  r¯   r<   r*   r,   r‰   r   r@   rz   r>   )rD   r  r  r=   r  Ú	child_objÚprevs          rH   r  zTreeObject.insert_childu  sŽ  € ð Ð%Ø!%Ô!@ÐØ×$Ò$Ñ&Ô&ˆ	ØÔ(ˆð ˜4ÐÐØ).ˆD•˜HÑ%Ô%Ñ&Ý)5°a©¬ˆD•˜HÑ%Ô%Ñ&Ø(-ˆD•˜GÑ$Ô$Ñ%Ø/3Ô/FˆI•j Ñ+Ô+Ñ,ØÐ˜t Y§]¢]°8¸QÑ%?Ô%?Ñ@Ô@Ð@Ø˜)Ð#Ð#Ø˜gÐ&Ø˜)Ð#Ð#Ø˜gÐ&ØˆLåÐ*¨D°¬MÑ:Ô:ˆDàÔ%¨Ò/Ð/Ø˜$ˆˆÝ˜L¨$¨w¬-Ñ8Ô8��å,0°¸uÑ,EÔ,E�•Z Ñ(Ô(Ñ)Ø15Ô1H�	�* WÑ-Ô-Ñ.Ø37Ô3J�	�* YÑ/Ô/Ñ0Ø˜iÐ'Ð'Ø! 'Ð*Ø,1�•Z Ñ(Ô(Ñ)Ø"Ð" 4¨¯ª°xÀÑ)CÔ)CÑDÔDÐDØ�ð Ô%¨Ò/Ð/ð	#Ý˜d 7œmÕ-=Ñ>Ô>Ð>Ð>Ð>Ø16ˆD�ŒM�* WÑ-Ô-Ñ.Ø-1°'¬]ˆI•j Ñ)Ô)Ñ*Ð*øÝð 	#ð 	#ð 	#Ø˜'Ð"Ð"Ð"ð	#øøøà)-ˆ	•*˜WÑ%Ô%Ñ&Ø$)ˆ�Z˜Ñ Ô Ñ!Ø+/Ô+Bˆ	•*˜YÑ'Ô'Ñ(ØÐ˜4 §¢¨x¸Ñ!;Ô!;Ñ<Ô<Ð<Øˆs   ÆAG ÇG"Ç!G"c                 óR   — t          ddd¦  «         |                      |¦  «         d S )NÚremoveChildÚremove_childr[   )r   r  )rD   r  s     rH   r  zTreeObject.removeChild¨  s.   € Ý$ ]°NÀGÑLÔLÐLØ×Ò˜%Ñ Ô Ð Ð Ð rN   r  Úprev_refÚcurÚlastc                 ó
  — |                      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*   r¯   r,   )rD   r  r  r   r!  Únext_refÚnext_objs          rH   Ú_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Ñ%Ô%Ñ&Ð&Ð&rN   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)r¯   r<   r*   r©   r%  Ú_reset_node_tree_relationship)
rD   r  r  Úfoundr  r  Úcur_refr   Úlast_refr!  s
             rH   r  zTreeObject.remove_childÖ  sn  € Ø×$Ò$Ñ&Ô&ˆ	ØÔ,ˆå�iÑ Ô ¨	Ð1Ð1ÝÐNÑOÔOÐOØ•z )Ñ,Ô,Ô-°Ò5Ð5ÝÐ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Ð0rN   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*   r©   r   r  rL   s    rH   Úremove_from_treezTreeObject.remove_from_treeû  sL   € å�iÑ Ô ¨Ð,Ð,ÝÐNÑOÔOÐOå�˜t IœÑ/Ô/×<Ò<¸TÑBÔBÐBÐBÐBrN   c                 óP   — t          ddd¦  «         |                      ¦   «          d S )NÚ	emptyTreeÚ
empty_treerü   )r   r0  rL   s    rH   r/  zTreeObject.emptyTree  s*   € Ý" ;°¸gÑFÔFÐFØ�ŠÑÔÐÐÐrN   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  )r¯   r(  r*   )rD   r  r  s      rH   r0  zTreeObject.empty_tree  sª   € Øð 	5ð 	5ˆEØ×(Ò(Ñ*Ô*ˆIÝ)¨)Ñ4Ô4Ð4Ð4å�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�hÑÔ 4Ð'Ð'Ø•Z Ñ)Ô)Ð*Ý�gÑÔ $Ð&Ð&Ø•Z Ñ(Ô(Ð)Ð)Ð)ð 'Ð&rN   rp   ©r8   N)rq   rr   rs   r	   rz   rø   rt   rú   rû   r   r  r   r   r  r   r  r   r)   rv   r  r  r   r  r  r%  r  r-  r/  r0  r4   rN   rH   rõ   rõ   3  s«  € € € € € ðð ˜HÐ%5Ô6ð À$ð ð ð ð ð
#˜Tð #ð #ð #ð #ð ˜dð  ð  ð  ð  ð˜#ð ð ð ð ð+˜( 3œ-ð +ð +ð +ð +ð#˜cð #¨ð #°ð #ð #ð #ð #ð,˜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ðT#1 #ð #1¨$ð #1ð #1ð #1ð #1ðJCð Cð Cð Cðð ð ð ð
*ð 
*ð 
*ð 
*ð 
*ð 
*rN   rõ   r  r8   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*   )r  s    rH   r(  r(    sh   € ð 	•*˜YÑ'Ô'Ð(Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ý�'ÑÔ˜iÐ'Ð'Ø•j Ñ)Ô)Ð*Ð*Ð*ð (Ð'rN   c                   óâ  ‡ — e Zd Zd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	ee
f         fd
„Zdeddfd„Zdefd„Zdeddfd„Zdefˆ fd„Zeded         fd„¦   «         Zej        d 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edee
ef         de	d         fd„¦   «         Zd"d„Zd#deddfd„Z ˆ xZ!S )$rA   r8   Nc                 ó"   — d| _         d | _        d S ©NrN   )Ú_dataÚdecoded_selfrL   s    rH   rø   zStreamObject.__init__$  s   € Ø(+ˆŒ
Ø;?ˆÔÐÐrN   r„   r5   r6   r7   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:
        rA   NÚDecodedStreamObject)r   r7  r8  r;   r>   Úsuperr€   )rD   r„   r5   r6   r7   r‚   r8  r}   s          €rH   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                 ó   — | j         S rp   ©r7  rL   s    rH   Úget_datazStreamObject.get_dataG  s
   € ØŒzÐrN   rF   c                 ó   — || _         d S rp   r>  ©rD   rF   s     rH   Úset_datazStreamObject.set_dataJ  s   € ØˆŒ
ˆ
ˆ
rN   c                 ó2   — t          ddd¦  «         | j        S )NÚgetDatar?  r[   )r   r7  rL   s    rH   rD  zStreamObject.getDataM  s   € Ý$ Y°
¸GÑDÔDÐDØŒzÐrN   c                 óR   — t          ddd¦  «         |                      |¦  «         d S )NÚsetDatarB  r[   )r   rB  rA  s     rH   rF  zStreamObject.setDataQ  s,   € Ý$ Y°
¸GÑDÔDÐDØ�Š�dÑÔÐÐÐrN   c                 óv   •— t          ¦   «                              ¦   «         }|t          | j        ¦  «        z  }|S rp   )r<  Úhash_value_datar   r7  ©rD   rF   r}   s     €rH   rH  zStreamObject.hash_value_dataU  s/   ø€ Ý‰wŒw×&Ò&Ñ(Ô(ˆØ•�4”:‘”ÑˆØˆrN   r;  c                 ó2   — t          ddd¦  «         | j        S ©NÚdecodedSelfr8  r[   ©r   r8  rL   s    rH   rL  zStreamObject.decodedSelfZ  ó   € å$ ]°NÀGÑLÔLÐLØÔ Ð rN   r¦   c                 ó6   — t          ddd¦  «         || _        d S rK  rM  ©rD   r¦   s     rH   rL  zStreamObject.decodedSelf_  ó"   € å$ ]°NÀGÑLÔLÐLØ!ˆÔÐÐrN   rO   rP   c                 óx  — |�t          dd¦  «         t          t          | j        ¦  «        ¦  «        | t	          t
          j        ¦  «        <   t                               | |¦  «         | t
          j        = | 	                    d¦  «         | 	                    | j        ¦  «         | 	                    d¦  «         d S )NrR   rS   s   
stream
s
   
endstream)
r   r,   r~   r7  r*   râ   rã   rz   rW   rV   r]   s      rH   rW   zStreamObject.write_to_streamd  s¤   € ð Ð%Ý$ØAÀ7ñô ð õ '3µ3°t´z±?´?Ñ&CÔ&Cˆ�Z�œ	Ñ"Ô"Ñ#Ý×(Ò(¨¨vÑ6Ô6Ð6Ø•”ˆOØ�Š�]Ñ#Ô#Ð#Ø�Š�T”ZÑ Ô Ð Ø�Š�^Ñ$Ô$Ð$Ð$Ð$rN   )ÚEncodedStreamObjectr;  c                 ó6   — t                                | ¦  «        S rp   )rA   ræ   )rF   s    rH   ÚinitializeFromDictionaryz%StreamObject.initializeFromDictionaryr  s   € õ ×6Ò6°tÑ<Ô<Ð<rN   c                 óÀ   — t           j        | v rt          ¦   «         }nt          ¦   «         }| d         |_        | d= | t           j        = |                     | ¦  «         |S )NrÜ   )râ   ÚFILTERrS  r;  r7  rã   rá   )rF   rè   s     rH   ræ   z'StreamObject.initialize_from_dictionaryx  s_   € õ
 Œ9˜ÐÐÝ(Ñ*Ô*ˆFˆFå(Ñ*Ô*ˆFØÐ,Ô-ˆŒØÐ!Ð"Ø•”ˆOØ�Š�dÑÔÐØˆrN   rS  c                 óL   — t          ddd¦  «         |                      ¦   «         S )NÚflateEncodeÚflate_encoder[   )r   rZ  rL   s    rH   rY  zStreamObject.flateEncode‡  s&   € Ý$ ]°NÀGÑLÔLÐLØ× Ò Ñ"Ô"Ð"rN   ra   Úlevelc           	      ó<  — 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        ¦  «        <   |                     t!          | j        ¦  «        |¦  «        |_        |S )Nr   ©ÚFlateDecode)Úfiltersr^  râ   rW  r@   r3   r*   ÚFTÚFLATE_DECODEr+   r‰   ÚDECODE_PARMSÚ	TypeErrorrS  rá   Úencoder   r7  )rD   r[  r^  ÚfÚparmsrè   s         rH   rZ  zStreamObject.flate_encode‹  sº  € Ø)Ð)Ð)Ð)Ð)Ð)åŒ9˜ÐÑØ•R”Y”ˆAÝ˜!�[Ñ)Ô)ð Ý¥­B¬OÑ!<Ô!<Ð A¸qÐ AÑBÔB�ðÝ'Ý#™œÐQ¨¯ªµ´Å+Á-Ä-Ñ(PÔ(PÐQñô �E�Eøõ !ð ð ð å'Ý#™œ t§x¢xµ´ÅÁÄÑ'OÔ'OÐPñô �E�E�Eðøøøõ  ¥­B¬OÑ!<Ô!<¸aÐ @ÑAÔA�Ý#Ý‘\”\ 4§8¢8­B¬O½Z¹\¼\Ñ#JÔ#JÐKñô ��õ �2œ?Ñ+Ô+ˆAØˆEÝ$Ñ&Ô&ˆØ�Š�dÑÔÐØ()ˆ�z�"œ)Ñ$Ô$Ñ%ØÐØ27ˆF•:�bœoÑ.Ô.Ñ/Ø"×)Ò)­"¨T¬Z©.¬.¸%Ñ@Ô@ˆŒØˆs   Á'AB0 Â0ADÄDr2  )r¦   r;  r8   Nrp   )r8   rS  )ra   )"rq   rr   rs   rø   rz   r   rt   r	   r
   r   ru   rv   r   r   r€   rw   r?  rB  r   rD  rF  rH  ró   rL  Úsetterr   rW   rx   r   rU  ræ   rY  rZ  Ú__classcell__©r}   s   @rH   rA   rA   #  s¯  ø€ € € € € ð@ð @ð @ð @ðOàðOð $ðOð ð	Oð
   ¨¨s°C¨x¬Ô 9Ô:ðOð �U˜3 ˜8”_Ô%ðOð 
ðOð Oð Oð Oð Oð Oð>˜%  s 
Ô+ð ð ð ð ð˜Uð  tð ð ð ð ð˜ð ð ð ð ð˜Cð  Dð ð ð ð ð ð ð ð ð ð ð ð
 ð!˜XÐ&;Ô<ð !ð !ð !ñ „Xð!ð Ôð"ð "ð "ñ Ôð"ð
 MQð%ð %Ø ð%Ø27¸¸cÀ5Ð8HÔ2Ið%à	ð%ð %ð %ð %ð ð=Ø�3˜�8Œnð=à	Ð;Ô	<ð=ð =ð =ñ „\ð=ð
 ðØ�3˜�8Œnðà	Ð;Ô	<ðð ð ñ „\ðð#ð #ð #ð #ðð  #ð Ð/Dð ð ð ð ð ð ð ð rN   rA   c                   ó   — e Zd ZdS )r;  N)rq   rr   rs   r4   rN   rH   r;  r;  ¬  s   € € € € € Ø€DrN   r;  c                   óž   ‡ — e Zd Zdd„Zeded         fd„¦   «         Zej        deddfd„¦   «         Zde	e
ef         fd„Zd	e
ddfˆ fd
„Zˆ xZS )rS  r8   Nc                 ó   — d | _         d S rp   )r8  rL   s    rH   rø   zEncodedStreamObject.__init__±  s   € Ø;?ˆÔÐÐrN   r;  c                 ó2   — t          ddd¦  «         | j        S rK  rM  rL   s    rH   rL  zEncodedStreamObject.decodedSelf´  rN  rN   r¦   c                 ó6   — t          ddd¦  «         || _        d S rK  rM  rP  s     rH   rL  zEncodedStreamObject.decodedSelf¹  rQ  rN   c                 ó˜  — ddl m} | j        �| j                             ¦   «         S t	          ¦   «         }|                     t           || ¦  «        ¦  «        ¦  «         t          |                      ¦   «         ¦  «        D ]/\  }}|t          j
        t          j        t          j        fvr|||<   Œ0|| _        |                     ¦   «         S )Nr   )Údecode_stream_data)r_  rp  r8  r?  r;  rB  r   r‘   rM   râ   rã   rW  rb  )rD   rp  Údecodedr¡   r¦   s        rH   r?  zEncodedStreamObject.get_data¿  sÆ   € Ø0Ð0Ð0Ð0Ð0Ð0àÔÐ(àÔ$×-Ò-Ñ/Ô/Ð/õ *Ñ+Ô+ˆGà×Ò�RÐ 2Ð 2°4Ñ 8Ô 8Ñ9Ô9Ñ:Ô:Ð:Ý" 4§:¢:¡<¤<Ñ0Ô0ð )ð )‘
��UØ�rœy­"¬)µR´_ÐEÐEÐEØ#(�G˜C‘LøØ 'ˆDÔØ×#Ò#Ñ%Ô%Ð%rN   rF   c                 ó„  •— ddl m} |                      t          j        d¦  «        t
          j        k    r}t          |t          ¦  «        st          d¦  «        ‚| j
        €J ‚| j
                             |¦  «         t          ¦   «                              |                     |¦  «        ¦  «         d S t          d¦  «        ‚)Nr   r]  Ú zdata must be byteszLStreams encoded with different filter from only FlateDecode is not supported)r_  r^  r‰   râ   rW  r`  ra  r@   rw   rc  r8  rB  r<  rd  r$   )rD   rF   r^  r}   s      €rH   rB  zEncodedStreamObject.set_dataÑ  sº   ø€ Ø)Ð)Ð)Ð)Ð)Ð)à�8Š8•B”I˜rÑ"Ô"¥b¤oÒ5Ð5Ý˜d¥EÑ*Ô*ð 6ÝÐ 4Ñ5Ô5Ð5ØÔ$Ð0Ð0Ð0ØÔ×&Ò& tÑ,Ô,Ð,Ý‰GŒG×Ò˜[×/Ò/°Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6åØ^ñô ð rN   r2  )rq   rr   rs   rø   ró   r	   rL  rg  r;  r   rw   ru   r?  rB  rh  ri  s   @rH   rS  rS  °  sç   ø€ € € € € ð@ð @ð @ð @ð ð!˜XÐ&;Ô<ð !ð !ð !ñ „Xð!ð Ôð"Ð!4ð "¸ð "ð "ð "ñ Ôð"ð
&˜%  s 
Ô+ð &ð &ð &ð &ð$˜Uð  tð ð ð ð ð ð ð ð ð ð rN   rS  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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 datastructure can contain either:
    * raw data in ._data
    * parsed stream operations in ._operations

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

    Those 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

    On the other side, those fields can be invalidated:
    * when .set_data() is called, ._operations is set to None
    * when .operations is set, ._data is set to None
    NrO   r=   r_   r8   c                 óz  •— || _         g | _        |€#t          ¦   «                              d¦  «         d S |                     ¦   «         }t          |t          ¦  «        r�d}|D ]\}|t          |                     ¦   «                              ¦   «         ¦  «        z  }t          |¦  «        dk    s|d         dk    r|dz  }Œ]t          ¦   «                              t          |¦  «        ¦  «         nF|                     ¦   «         }|€J ‚t          ¦   «                              t          |¦  «        ¦  «         || _        d S )NrN   r   ra   r¿   )r=   Ú_operationsr<  rB  r¯   r@   r3   r   r?  r~   rw   r_   )rD   rO   r=   r_   rF   r�   Ústream_datar}   s          €rH   rø   zContentStream.__init__ò  s'  ø€ ð ˆŒð
 35ˆÔð ˆ>Ý‰GŒG×Ò˜SÑ!Ô!Ð!Ð!Ð!à×&Ò&Ñ(Ô(ˆFÝ˜&¥+Ñ.Ô.ð 
2Ø�Øð &ð &�AØ�B˜qŸ|š|™~œ~×6Ò6Ñ8Ô8Ñ9Ô9Ñ9�DÝ˜4‘y”y A’~�~¨¨b¬°UÒ):Ð):Ø ™˜øÝ‘”× Ò ¥ t¡¤Ñ-Ô-Ð-Ð-à$ŸošoÑ/Ô/�Ø"Ð.Ð.Ð.Ý‘”× Ò ¥ K¡¤Ñ1Ô1Ð1Ø#2ˆDÔ Ð Ð rN   Fr4   r5   r6   r7   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
        ru  N)r<   r=   r>   r|   r   r?   r}   r€   r�   s         rH   r;   zContentStream.clone  s´   € ð"	ØÔ&Ô*¨hÒ6Ð6¸Ð6Ø�øøÝð 	ð 	ð 	ØˆDð	øøøõ ),©¬ˆÝØØ×!Ò!Ø—’˜t TÑ*Ô*¨H°oñô ñ
ô 
ˆð Ð ØˆMØ�
Š
�4˜ ?°MÀ7ÑKÔKÐKØˆ
rI   r„   r‚   c                 óæ   •— t          d|¦  «        }t          ¦   «                              t          |j        ¦  «        ¦  «         || _        t          |j        ¦  «        | _        |j        | _        dS )r:  ru  N)	r   r<  rB  r   r7  r=   r‘   rw  r_   )rD   r„   r5   r6   r7   r‚   Úsrc_csr}   s          €rH   r€   zContentStream._clone5  sa   ø€ õ" �o sÑ+Ô+ˆÝ‰Œ×Ò�˜FœLÑ)Ô)Ñ*Ô*Ð*ØˆŒÝ Ô 2Ñ3Ô3ˆÔØ%Ô5ˆÔÐÐrN   c                 óZ  — |                      dd¦  «         g }	 t          |¦  «        }|dk    s|dk    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   TrN   ra   r&   )ó   'ó   "ó   BIó   INLINE IMAGEr×   )rÛ   r¿   rN   )re   r   Úisalphar   r*   Údelimiter_patternÚ_read_inline_imagerw  rB   rc   rf   r_   )rD   rO   ÚoperandsÚpeekÚoperatorÚiis         rH   Ú_parse_content_streamz#ContentStream._parse_content_streamN  sR  € à�Š�A�qÑÔÐØ57ˆð	QÝ& vÑ.Ô.ˆDØ�sŠ{ˆ{˜d aši˜iØ�Ø�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rN   c                 ó  — t          ¦   «         }	 t          |¦  «        }|                     dd¦  «         |dk    rnUt          || j        ¦  «        }t          |¦  «        }|                     dd¦  «         t          || j        ¦  «        }|||<   Œ�|                     d¦  «        }|d d…         dk    sJ ‚t          ¦   «         }	 |                     d¦  «        }|st          d	¦  «        ‚|                     d
¦  «        }	|	dk    r| 	                    |¦  «         �n×| 	                    |d|	…         ¦  «         |                     |	t          |¦  «        z
  d¦  «         |                     d¦  «        }|                     d¦  «        }
|
dk    r,|                     dd¦  «         | 	                    |¦  «         Œø||
z   }|                     d¦  «        }|t          vr,|                     dd¦  «         | 	                    |¦  «         né||	dz
  |	…         t          v r>|t          v r|                     d¦  «        }|t          v °|                     dd¦  «         n™|t          v r#||z  }|                     d¦  «        }|t          v °#|                     dd¦  «         |dk    rnP|d
k    r3|                     d¦  «        }|                     dd¦  «         |dk    rnn| 	                    |¦  «         �Œ1||                     ¦   «         dœS )NTra   r&   ó   Ié   r   s   IDi    zUnexpected end of streamó   Er   éþÿÿÿó   Qéýÿÿÿs   EMC)ÚsettingsrF   )rz   r   re   rf   r=   rc   r   r$   rÐ   rV   r~   r   Úgetvalue)rD   rO   r�  rh   r¡   r¦   rg   rF   ÚbufrÈ   Útok2ÚinfoÚtok3Úopes                 rH   rƒ  z ContentStream._read_inline_imagem  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˜%ÒÐÐÐÝ‰yŒyˆð7	)à—+’+˜dÑ#Ô#ˆCàð ?Ý"Ð#=Ñ>Ô>Ð>Ø—(’(Øñô ˆCð �bŠyˆyØ—
’
˜3‘”�‘ð —
’
˜3˜q ˜uœ:Ñ&Ô&Ð&ð —’˜C¥# c¡(¤(™N¨AÑ.Ô.Ð.Ø—k’k !‘n”n�à—{’{ 1‘~”~�Ø˜4’<�<Ø—K’K  AÑ&Ô&Ð&Ø—J’J˜s‘O”O�OØà˜T‘z�Ø—{’{Øñô �ð �{Ð*Ð*Ø—K’K  AÑ&Ô&Ð&Ø—J’J˜s‘O”O�O�OØ˜˜q™ 3˜Ô'­;Ð6Ð6à¥+Ð-Ð-à%Ÿ{š{¨1™~œ~˜ð ¥+Ð-Ð-ð —K’K  AÑ&Ô&Ð&àð ¥+Ð-Ð-Ø ™˜Ø%Ÿ{š{¨1™~œ~˜ð ¥+Ð-Ð-ð —K’K  AÑ&Ô&Ð&Ø˜t’|�|ØØ š˜Ø$Ÿkšk¨!™nœn˜ØŸš B¨Ñ*Ô*Ð*Ø &š=˜=Ø!ð )ð Ÿ
š
 4Ñ(Ô(Ð(ño7	)ðp %¨d¯mªm©o¬oÐ>Ð>Ð>rN   c                 óä  — | j         �sUt          ¦   «         }| j        D �]%\  }}|dk    r³|                     d¦  «         t          ¦   «         }|d                              |¦  «         |                     |                     ¦   «         dd…         ¦  «         |                     d¦  «         |                     |d         ¦  «         |                     d¦  «         nQ|D ],}|                     |¦  «         |                     d	¦  «         Œ-|                     t          |¦  «        ¦  «         |                     d
¦  «         �Œ'|                     ¦   «         | _         t          | j         ¦  «        S )Nr€  r  r�  r   r�  s   ID rF   s   EIrU   r¿   )r7  r   rw  rV   rW   r‘  r   )rD   Únew_datar„  r†  Ú	dict_textÚops         rH   r?  zContentStream.get_data¼  sV  € ØŒ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¥2 h¡<¤<Ñ0Ô0Ð0Ø—’˜uÑ%Ô%Ð%Ñ%Ø!×*Ò*Ñ,Ô,ˆDŒJÝ�$”*‰~Œ~ÐrN   rF   c                 óX   •— t          ¦   «                              |¦  «         g | _        d S rp   )r<  rB  rw  rI  s     €rH   rB  zContentStream.set_dataÒ  s)   ø€ Ý‰Œ×Ò˜ÑÔÐØˆÔÐÐrN   c                 ó¢   — | j         sB| j        r;|                      t          t	          | j        ¦  «        ¦  «        ¦  «         d| _        | j         S r6  )rw  r7  rˆ  r   r   rL   s    rH   Ú
operationszContentStream.operationsÖ  sJ   € àÔð 	 D¤Jð 	Ø×&Ò&¥w­r°$´*©~¬~Ñ'>Ô'>Ñ?Ô?Ð?ØˆDŒJØÔÐrN   r�  c                 ó"   — || _         d| _        d S r6  )rw  r7  )rD   r�  s     rH   r�  zContentStream.operationsÝ  s   € à%ˆÔØˆŒ
ˆ
ˆ
rN   c                 óÚ   — | j         r;| j                              dg df¦  «         | j                              g df¦  «         d S | j        r!dt	          | j        ¦  «        z   dz   | _        d S d S )Nr   ÚqÚQs   q
s   Q
)rw  ÚinsertrB   r7  r   rL   s    rH   Úisolate_graphics_statez$ContentStream.isolate_graphics_stateâ  s|   € ØÔð 	:ØÔ×#Ò# A¨¨C yÑ1Ô1Ð1ØÔ×#Ò# R¨ IÑ.Ô.Ð.Ð.Ð.ØŒZð 	:Ø¥" T¤Z¡.¤.Ñ0°6Ñ9ˆDŒJˆJˆJð	:ð 	:rN   rP   c                 ó�   •— | j         s| j        r|                      ¦   «          t          ¦   «                              ||¦  «         d S rp   )r7  rw  r?  r<  rW   )rD   rO   rP   r}   s      €rH   rW   zContentStream.write_to_streamê  sF   ø€ ð Œzð 	˜dÔ.ð 	Ø�MŠM‰OŒOˆOÝ‰Œ×Ò ¨Ñ7Ô7Ð7Ð7Ð7rN   rp   ro   r2  ) rq   rr   rs   Ú__doc__r   r   ru   r   r   rv   rø   rt   r	   r
   r;   rz   r   r   r   r€   r   rˆ  rƒ  rw   r?  rB  ró   r�  rg  r£  rW   rh  ri  s   @rH   ru  ru  à  sÚ  ø€ € € € € ðð ð* HLð	3ð 3àð3ð ð3ð ˜t S¨$¨s¬)°T¸#¸s¸(´^ÐCÔDð	3ð
 
ð3ð 3ð 3ð 3ð 3ð 3ðF !&Ø=?ð	!ð !àð!ð ð!ð   ¨¨s°C¨x¬Ô 9Ô:ð	!ð
 
ð!ð !ð !ð !ðF6àð6ð $ð6ð ð	6ð
   ¨¨s°C¨x¬Ô 9Ô:ð6ð �U˜3 ˜8”_Ô%ð6ð 
ð6ð 6ð 6ð 6ð 6ð 6ð2Q¨Jð Q¸4ð Qð Qð Qð Qð>L?¨ð L?¸¸SÀ#¸X¼ð L?ð L?ð L?ð L?ð^˜%ð ð ð ð ð,˜Uð  tð ð ð ð ð ð ð ð ˜D  s¨C x¤Ô1ð  ð  ð  ñ „Xð ð Ôð T¨%°°S°¬/Ô%:ð ¸tð ð ð ñ Ôðð:ð :ð :ð :ð MQð8ð 8Ø ð8Ø27¸¸cÀ5Ð8HÔ2Ið8à	ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8rN   ru  rO   r=   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	k    s|d
k    rt          j        | ¦  «        S |dk    rt          | |¦  «        S |dk    r=|                       d¦  «        dk    r$|                      dd¦  «         t          ¦   «         S |dk    rt          j        | ¦  «        S |dk    ru|dvr;|                       d¦  «        }t          |¦  «        dk    rt          d¦  «        ‚|dv°;t          | ¦  «        }|                      dd¦  «         t          | ||¦  «        S |dv r€|                       d¦  «        }|                      t          |¦  «         d¦  «         t                               |¦  «        �|€J ‚t!          j        | |¦  «        S t#          j        | ¦  «        S |                      dd¦  «         t%          d|›d|                      ¦   «         › d|                       d¦  «                             ¦   «         › �¦  «        ‚)Nr&   ra   ó   /ó   <r   r�  rÕ   rT   ó   tó   fó   (ó   eé   s   endobjiúÿÿÿó   nr×   )rÛ   r¿   r   zFile ended unexpectedly.s   0123456789+-.é   iìÿÿÿz(Invalid Elementary Object starting with z @z: éP   )rc   re   r*   rj   rz   r0   r3   r'   r1   r+   r~   r%   r   rf   ÚIndirectPatternÚmatchr)   r,   r$   rÏ   rà   )rO   r=   r_   rh   r…  s        rH   rf   rf   ò  s³  € ð
 �+Š+�a‰.Œ.€CØ
‡K‚K��AÑÔÐØ
ˆd‚{€{ÝÔ*¨6°3Ñ7Ô7Ð7Ø	�Šˆà�{Š{˜1‰~Œ~ˆØ�Š�B˜ÑÔÐØ�5Š=ˆ=Ý#×4Ò4°V¸SÀ/ÑRÔRÐRå.¨v°ÑGÔGÐGØ	�ŠˆÝ×+Ò+¨F°C¸ÑIÔIÐIØ	�Šˆ˜˜tš˜ÝÔ-¨fÑ5Ô5Ð5Ø	�ŠˆÝ& v¨Ñ?Ô?Ð?Ø	�Šˆ˜Ÿš Q™œ¨9Ò4Ð4Ø�Š�B˜ÑÔÐÝ‰|Œ|ÐØ	�ŠˆÝÔ*¨6Ñ2Ô2Ð2Ø	�Šˆà˜Ð'Ð'Ø—+’+˜a‘.”.ˆCõ �3‰xŒx˜1Š}ˆ}Ý$Ð%?Ñ@Ô@Ð@ð ˜Ð'Ð'õ " &Ñ)Ô)ˆØ�Š�B˜ÑÔÐÝ˜6 3¨Ñ8Ô8Ð8Ø	Ð Ð	 Ð	 à�{Š{˜2‰ŒˆØ�Š•S˜‘Y”Y�J Ñ"Ô"Ð"Ý× Ò  Ñ&Ô&Ð2Ø�?�?�?Ý!Ô2°6¸3Ñ?Ô?Ð?åÔ0°Ñ8Ô8Ð8à�Š�C˜ÑÔÐÝØm°sÐmÐmÀÇÂÁÄÐmÐmÐQW×Q\ÒQ\Ð]_ÑQ`ÔQ`×QiÒQiÑQkÔQkÐmÐmñ
ô 
ð 	
rN   c                   óz  — 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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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>`
    rF   r8   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�   rs  zShould never happen)rz   rø   r   Ú
attributesr   r<   r*   ÚKeyErrorr@   r‰   rS  r   r?  rw   Údecoder>   r.   )rD   rF   Úfield_attributesÚattrÚdÚd_strs         rH   rø   zField.__init__1  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   r`  rL   s    rH   Ú
field_typezField.field_typeH  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rN   c                 ó2   — t          ddd¦  «         | j        S )zT
        Use :py:attr:`field_type` instead.

        .. deprecated:: 1.28.3
        Ú	fieldTyper¾  r[   )r   r¾  rL   s    rH   rÁ  zField.fieldTypeM  s   € õ 	% [°,ÀÑHÔHÐHØŒÐrN   c                 ó@   — |                       t          j        ¦  «        S )z6Read-only property accessing the parent of this field.)r‰   r   ÚParentrL   s    rH   r  zField.parentW  s   € ð �xŠxÕ1Ô8Ñ9Ô9Ð9rN   r3   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the kids of this field.)r‰   r   ÚKidsrL   s    rH   Úkidsz
Field.kids\  s   € ð �xŠxÕ1Ô6Ñ7Ô7Ð7rN   c                 ó@   — |                       t          j        ¦  «        S )z4Read-only property accessing the name of this field.)r‰   r   ÚTrL   s    rH   Únamez
Field.namea  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rN   c                 ó@   — |                       t          j        ¦  «        S )z>Read-only property accessing the alternate name of this field.)r‰   r   ÚTUrL   s    rH   Úalternate_namezField.alternate_namef  r¿  rN   c                 ó2   — t          ddd¦  «         | j        S )zX
        Use :py:attr:`alternate_name` instead.

        .. deprecated:: 1.28.3
        ÚaltNamerÌ  r[   )r   rÌ  rL   s    rH   rÎ  zField.altNamek  s    € õ 	% YÐ0@À'ÑJÔJÐJØÔ"Ð"rN   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   ÚTMrL   s    rH   Úmapping_namezField.mapping_nameu  ó   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rN   c                 ó2   — t          ddd¦  «         | j        S )zV
        Use :py:attr:`mapping_name` instead.

        .. deprecated:: 1.28.3
        ÚmappingNamerÑ  r[   )r   rÑ  rL   s    rH   rÔ  zField.mappingName  r»   rN   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   ÚFfrL   s    rH   ÚflagszField.flags‰  s   € ð �xŠxÕ1Ô4Ñ5Ô5Ð5rN   c                 ó@   — |                       t          j        ¦  «        S )zs
        Read-only property accessing the value of this field.

        Format varies based on field type.
        )r‰   r   ÚVrL   s    rH   r¦   zField.value‘  s   € ð �xŠxÕ1Ô3Ñ4Ô4Ð4rN   c                 ó@   — |                       t          j        ¦  «        S )z=Read-only property accessing the default value of this field.)r‰   r   ÚDVrL   s    rH   Údefault_valuezField.default_valueš  r¿  rN   c                 ó2   — t          ddd¦  «         | j        S )zW
        Use :py:attr:`default_value` instead.

        .. deprecated:: 1.28.3
        ÚdefaultValuerÜ  r[   )r   rÜ  rL   s    rH   rÞ  zField.defaultValueŸ  s   € õ 	% ^°_ÀgÑNÔNÐNØÔ!Ð!rN   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   ÚAArL   s    rH   Úadditional_actionszField.additional_actions©  rÒ  rN   c                 ó2   — t          ddd¦  «         | j        S )z\
        Use :py:attr:`additional_actions` instead.

        .. deprecated:: 1.28.3
        ÚadditionalActionsrá  r[   )r   rá  rL   s    rH   rã  zField.additionalActions³  s"   € õ 	%Ð%8Ð:NÐPWÑXÔXÐXØÔ&Ð&rN   )rq   rr   rs   r¥  rz   rø   ró   r	   r*   r¾  rÁ  r  rÆ  ru   rÉ  rÌ  rÎ  rÑ  rÔ  rv   r×  r   r¦   rÜ  rÞ  rá  rã  r4   rN   rH   r´  r´  )  sÏ  € € € € € ðð ð=Ð-ð =°$ð =ð =ð =ð =ð. ð6˜H ZÔ0ð 6ð 6ð 6ñ „Xð6ð ð˜8 JÔ/ð ð ð ñ „Xðð ð:˜Ð!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ð ð#˜ #œð #ð #ð #ñ „Xð#ð ð6˜h sœmð 6ð 6ð 6ñ „Xð6ð ð!˜X cœ]ð !ð !ð !ñ „Xð!ð ð6�x ”}ð 6ð 6ð 6ñ „Xð6ð ð5�x ”}ð 5ð 5ð 5ñ „Xð5ð ð6˜x¨œ}ð 6ð 6ð 6ñ „Xð6ð ð"˜h sœmð "ð "ð "ñ „Xð"ð ð6 HÐ-=Ô$>ð 6ð 6ð 6ñ „Xð6ð ð' 8Ð,<Ô#=ð 'ð 'ð 'ñ „Xð'ð 'ð 'rN   r´  c                   óv  — e Zd ZU dZdZee         ed<   g Ze	e
         ed<   dedeeeeef         deddfd	„Zedd„¦   «         Z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 8.2.1 of the PDF 1.6 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ÚchildsÚtitleÚpageÚfitr8   c                 ó  — |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 t1          d|›�¦  «        ‚)Nú/Titleú/Pager‡   z/XYZr&   g        r   r‹  ú/Zoomr   zUnknown Destination Type: )Úfit_typeÚfit_argsrz   rø   r.   r*   r~   rB   r,   ÚTAÚLEFTÚTOPÚTFÚFIT_RÚBOTTOMÚRIGHTÚFIT_HÚFIT_BHr>   r+   ÚFIT_VÚFIT_BVÚFITÚFIT_Br$   )rD   rè  ré  rê  ÚtypÚargss         rH   rø   zDestination.__init__Õ  s¹  € ð Œ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$   ÈH. È.2I$É#I$ÊJ" Ê"2KËKr3   c                 óv   ‡ — t          ‰                      d¦  «        ‰ d         gˆ fd„dD ¦   «         z   ¦  «        S )Nrí  r‡   c                 ó(   •— g | ]}|‰v ¯‰|         ‘ŒS r4   r4   )rŠ   r–   rD   s     €rH   ú
<listcomp>z*Destination.dest_array.<locals>.<listcomp>  s.   ø€ ð ð ð àØ˜�9�9ð �Q”à�9�9rN   )ú/Leftú/Bottomú/Rightú/Toprî  )r3   rˆ   rL   s   `rH   Ú
dest_arrayzDestination.dest_array  sX   ø€ åØ�\Š\˜'Ñ"Ô" D¨¤MÐ2ðð ð ð àHðñ ô ññ
ô 
ð 	
rN   c                 ó2   — t          ddd¦  «         | j        S )zT
        Use :py:attr:`dest_array` instead.

        .. deprecated:: 1.28.3
        ÚgetDestArrayr  r[   )r   r  rL   s    rH   r	  zDestination.getDestArray  s   € õ 	% ^°\À7ÑKÔKÐKØŒÐrN   rO   rP   c                 ó  — |�t          dd¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         | j        }|                     |¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         t          d¦  «        }|                     |¦  «         |                     d¦  «         |                     d	¦  «         d S )
NrR   rS   r½   z/DrU   z/Sz/GoTor¿   rÀ   )r   rV   r*   rW   r  )rD   rO   rP   r¡   r¦   Úvalue_ss         rH   rW   zDestination.write_to_stream  s  € ð Ð%Ý$ØAÀ7ñô ð ð 	�Š�WÑÔÐÝ˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐØ”ˆØ×Ò˜fÑ%Ô%Ð%å˜ÑÔˆØ×Ò˜FÑ#Ô#Ð#Ø�Š�TÑÔÐÝ˜WÑ%Ô%ˆØ×Ò Ñ'Ô'Ð'à�Š�UÑÔÐØ�Š�UÑÔÐÐÐrN   c                 ó,   — |                       d¦  «        S )z3Read-only property accessing the destination title.rì  ©r‰   rL   s    rH   rè  zDestination.title3  s   € ð �xŠx˜Ñ!Ô!Ð!rN   c                 ó,   — |                       d¦  «        S )z9Read-only property accessing the destination page number.rí  r  rL   s    rH   ré  zDestination.page8  ó   € ð �xŠx˜Ñ Ô Ð rN   c                 ó,   — |                       d¦  «        S )z2Read-only property accessing the destination type.r‡   r  rL   s    rH   rþ  zDestination.typ=  r  rN   c                 ó.   — |                       dd¦  «        S )z-Read-only property accessing the zoom factor.rî  Nr  rL   s    rH   ÚzoomzDestination.zoomB  ó   € ð �xŠx˜ Ñ&Ô&Ð&rN   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the left horizontal coordinate.r  Nr  rL   s    rH   ÚleftzDestination.leftG  r  rN   c                 ó.   — |                       dd¦  «        S )z=Read-only property accessing the right horizontal coordinate.r  Nr  rL   s    rH   ÚrightzDestination.rightL  s   € ð �xŠx˜ $Ñ'Ô'Ð'rN   c                 ó.   — |                       dd¦  «        S )z9Read-only property accessing the top vertical coordinate.r  Nr  rL   s    rH   ÚtopzDestination.topQ  s   € ð �xŠx˜ Ñ%Ô%Ð%rN   c                 ó.   — |                       dd¦  «        S )z<Read-only property accessing the bottom vertical coordinate.r  Nr  rL   s    rH   ÚbottomzDestination.bottomV  s   € ð �xŠx˜	 4Ñ(Ô(Ð(rN   c           
      óœ   — |                       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.z/Cr   )r‰   r3   r(   rL   s    rH   ÚcolorzDestination.color[  s@   € ð �xŠxØ•+�{¨1™~œ~­{¸1©~¬~½{È1¹~¼~ÐNÑOÔOñ
ô 
ð 	
rN   c                 ó.   — |                       dd¦  «        S )z_
        Read-only property accessing the font type.

        1=italic, 2=bold, 3=both
        z/Fr   r  rL   s    rH   Úfont_formatzDestination.font_formatb  s   € ð �xŠx˜˜aÑ Ô Ð rN   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  rL   s    rH   Úoutline_countzDestination.outline_countk  s   € ð �xŠx˜ $Ñ'Ô'Ð'rN   )r8   r3   rp   )&rq   rr   rs   r¥  ræ  r	   rz   Ú__annotations__rç  r   r   ru   r   r,   r)   r+   r/   rø   ró   r  r	  r   rw   rW   rè  rv   ré  rþ  r  r(   r  r  r  r  r  r   r  r!  r4   rN   rH   rå  rå  ¾  s  € € € € € € ðð ð" 	ð 	ˆ(Øôð ð ñ ð
 	ð ˆDØôð ð ñ ð1Eàð1Eð �L .°*Ð>NÐNÔOð1Eð ð	1Eð
 
ð1Eð 1Eð 1Eð 1Eðf ð
ð 
ð 
ñ „Xð
ðð ð ð ð MQðð Ø ðØ27¸¸cÀ5Ð8HÔ2Iðà	ðð ð ð ð. ð"�x ”}ð "ð "ð "ñ „Xð"ð ð!�h˜s”mð !ð !ð !ñ „Xð!ð ð!�X˜c”]ð !ð !ð !ñ „Xð!ð ð'�h˜s”mð 'ð 'ð 'ñ „Xð'ð ð'�h˜{Ô+ð 'ð 'ð 'ñ „Xð'ð ð(�x Ô,ð (ð (ð (ñ „Xð(ð ð&�X˜kÔ*ð &ð &ð &ñ „Xð&ð ð)˜ Ô-ð )ð )ð )ñ „Xð)ð ð
�x Ô.ð 
ð 
ð 
ñ „Xð
ð ð!˜X oÔ6ð !ð !ð !ñ „Xð!ð ð(˜x¨œ}ð (ð (ð (ñ „Xð(ð (ð (rN   rå  rp   )PÚ
__author__Ú__author_email__Úloggingrä   Úior   Útypingr   r   r   r   r   r	   r
   r   r   r   r   Ú
_protocolsr   r   Ú_utilsr   r   r   r   r   r   r   r   r   r   Ú	constantsr   r   r   r   r`  r    râ   r!   rñ  r"   rô  Úerrorsr#   r$   r%   Ú_baser'   r(   r)   r*   r+   r,   r-   r.   Ú_fitr/   r0   r1   Ú	getLoggerrq   ÚloggerÚNumberSignsrå   r±  r3   rz   rõ   r(  rA   r;  rS  ru  ru   rv   rf   r´  rå  r4   rN   rH   ú<module>r1     s
  ðð: €
Ø/Ð à €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð >Ð =Ð =Ð =Ð =Ð =Ð =Ð =ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
 *Ð )Ð )Ð )Ð )Ð )Ø .Ð .Ð .Ð .Ð .Ð .Ø *Ð *Ð *Ð *Ð *Ð *Ø -Ð -Ð -Ð -Ð -Ð -Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð Ð Ð Ð Ð Ð Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hà	ˆÔ	˜8Ñ	$Ô	$€Ø€Ø�"”*Ð@ÑAÔA€ðT9ð T9ð T9ð T9ð T9�$�s”)˜Yñ T9ô T9ð T9ðn>ð >ð >ð >ð >�t˜C ˜H”~ yñ >ô >ð >ðD]*ð ]*ð ]*ð ]*ð ]*Ð!ñ ]*ô ]*ð ]*ð@+¨Sð +°Tð +ð +ð +ð +ð Fð Fð Fð Fð FÐ#ñ Fô Fð FðR	ð 	ð 	ð 	ð 	˜,ñ 	ô 	ð 	ð-ð -ð -ð -ð -˜,ñ -ô -ð -ð`O8ð O8ð O8ð O8ð O8Ð'ñ O8ô O8ð O8ðj DHð4
ð 4
Øð4
à	Ð#Ô	$ð4
ð ˜4  d¨3¤i°°c¸3°h´Ð?Ô@ð4
ð ˆ9�c˜3 Ð-Ô.ð	4
ð 4
ð 4
ð 4
ðnR'ð R'ð R'ð R'ð R'ˆJñ R'ô R'ð R'ðjv(ð v(ð v(ð v(ð v(�*ñ v(ô v(ð v(ð v(ð v(rN   