§
    Æ‡tjýN  ã            
       ó–  — d dl Z d dl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 d dlmZmZ d dlmZ  ej        e¦  «        Zej        Zej        Zej        Zej        Zej        Z G d„ d¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z e
dee¦  «        Z G d„ de	e         ¦  «        Z ee¦  «        Z ee¦  «        Zej         Z!ej         Z" e"d¦  «        Z# e"d¦  «        Z$ e"d¦  «        Z% e"d¦  «        Z& e"d¦  «        Z' e"d¦  «        Z(dede)fd„Z*dedefd„Z+ ej,        d¦  «        Z- ej,        d¦  «        Z. ej,        d¦  «        Z/ ej,        d¦  «        Z0 ej,        d¦  «        Z1 ej,        d¦  «        Z2 ej,        d¦  «        Z3 ej,        d ¦  «        Z4 ej,        d¦  «        Z5 ej,        d!¦  «        Z6 ej,        d"¦  «        Z7d#d$d%d&d'd(d)d*d+œZ8ee9e:eee;f         Z< G d,„ d-¦  «        Z= e
d.¦  «        Z>ee)e9e:ee;e?e         e@eef         e>f         ZAeBeCeAe>         f         ZD G d/„ d0e=e	e>         ¦  «        ZEdS )1é    N)ÚIterator)ÚAnyÚBinaryIOÚGenericÚTypeVarÚUnion)ÚpsexceptionsÚsettings)Úchoplistc                   ó   — e Zd ZdZdS )ÚPSObjectz0Base class for all PS or PDF-related data types.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úO/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pdfminer/psparser.pyr   r      s   € € € € € Ø:Ð:Ð:Ð:r   r   c                   óB   — e Zd ZdZeeef         Zdeddfd„Zdefd„Z	dS )Ú	PSLiteralaa  A class that represents a PostScript literal.

    Postscript literals are used as identifiers, such as
    variable names, property names and dictionary keys.
    Literals are case sensitive and denoted by a preceding
    slash sign (e.g. "/Name")

    Note: Do not create an instance of PSLiteral directly.
    Always use PSLiteralTable.intern().
    ÚnameÚreturnNc                 ó   — || _         d S ©N©r   ©Úselfr   s     r   Ú__init__zPSLiteral.__init__/   ó   € ØˆŒ	ˆ	ˆ	r   c                 ó   — | j         }d|›�S ©Nú/r   r   s     r   Ú__repr__zPSLiteral.__repr__2   ó   € ØŒyˆØ�4ˆ|ˆ|Ðr   )
r   r   r   r   r   ÚstrÚbytesÚNameTyper   r#   r   r   r   r   r   !   sk   € € € € € ð	ð 	ð �S˜%�ZÔ €Hð˜Xð ¨$ð ð ð ð ð˜#ð ð ð ð ð ð r   r   c                   ó.   — e Zd ZdZdeddfd„Zdefd„ZdS )Ú	PSKeywordaN  A class that represents a PostScript keyword.

    PostScript keywords are a dozen of predefined words.
    Commands and directives in PostScript are expressed by keywords.
    They are also used to denote the content boundaries.

    Note: Do not create an instance of PSKeyword directly.
    Always use PSKeywordTable.intern().
    r   r   Nc                 ó   — || _         d S r   r   r   s     r   r   zPSKeyword.__init__B   r   r   c                 ó   — | j         }d|›�S r!   r   r   s     r   r#   zPSKeyword.__repr__E   r$   r   )r   r   r   r   r&   r   r%   r#   r   r   r   r)   r)   7   s[   € € € € € ðð ð˜Uð  tð ð ð ð ð˜#ð ð ð ð ð ð r   r)   Ú_SymbolTc                   óH   — e Zd ZdZdee         ddfd„Zdej        defd„Z	dS )ÚPSSymbolTablezƒA utility class for storing PSLiteral/PSKeyword objects.

    Interned objects can be checked its identity with "is" operator.
    Úklassr   Nc                 ó"   — i | _         || _        d S r   ©Údictr/   )r   r/   s     r   r   zPSSymbolTable.__init__S   s   € Ø8:ˆŒ	Ø%*ˆŒ
ˆ
ˆ
r   r   c                 ór   — || j         v r| j         |         }n|                      |¦  «        }|| j         |<   |S r   r1   )r   r   Úlits      r   ÚinternzPSSymbolTable.internW   s?   € Ø�4”9ÐÐØ”)˜D”/ˆCˆCð —*’*˜TÑ"Ô"ˆCØ!ˆDŒI�d‰OØˆ
r   )
r   r   r   r   Útyper,   r   r   r'   r5   r   r   r   r.   r.   M   si   € € € € € ðð ð
+˜d 8œnð +°ð +ð +ð +ð +ð˜9Ô-ð °(ð ð ð ð ð ð r   r.   ó   {ó   }ó   [ó   ]s   <<s   >>Úxr   c                 ó<  — t          | t          ¦  «        r[t          | j        t          ¦  «        r| j        S 	 t          | j        d¦  «        S # t          $ r t          | j        ¦  «        cY S w xY wt
          j        rt          d| ›�¦  «        ‚t          | ¦  «        S )Núutf-8zLiteral required: )Ú
isinstancer   r   r%   ÚUnicodeDecodeErrorr
   ÚSTRICTÚPSTypeError)r;   s    r   Úliteral_namerB   n   s£   € Ý�!•YÑÔð 
Ý�a”f�cÑ"Ô"ð 	Ø”6ˆMð	Ý�q”v˜wÑ'Ô'Ð'øÝ!ð 	ð 	ð 	Ý�q”v‘;”;ÐÐÐð	øøøõ Œ?ð 	:ÝÐ8°1Ð8Ð8Ñ9Ô9Ð9Ý�1‰vŒvˆs   ¸A ÁA.Á-A.c                 óž   — t          | t          ¦  «        s!t          j        rt	          d| ›�¦  «        ‚| }nt          | j        dd¦  «        }|S )NzKeyword required: r=   Úignore)r>   r)   r
   r@   rA   r%   r   )r;   r   s     r   Úkeyword_namerE   |   sT   € Ý�a�Ñ#Ô#ð .ÝŒ?ð 	ÝÐ8°1Ð8Ð8Ñ9Ô9Ð9àˆDˆDå�1”6˜7 HÑ-Ô-ˆØ€Kr   s   [\r\n]s   \ss   \Ss   [0-9a-fA-F]s   [#/%\[\]()<>{}\s]s   [^\s0-9a-fA-F]s   [0-9a-fA-F]{2}|.s   [^0-9]s   [()\134]s   [0-7]é   é	   é
   é   é   é(   é)   é\   )ó   bó   tó   nó   fó   ró   (ó   )ó   \c                   ó¦  — e Zd ZdZdZdeddfd„Zdefd„Zdd„Z	d	e
ddfd
„Zdefd„Zdee
ef         fd„Zdee         fd„Zdede
de
fd„Zdeddfd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Zdede
de
fd„Z dee
ef         fd„Z!dS ) ÚPSBaseParserz=Most basic PostScript parser that performs only tokenization.i   Úfpr   Nc                 óL   — || _         d| _        |                      d¦  «         d S )NFr   )rX   ÚeofÚseek©r   rX   s     r   r   zPSBaseParser.__init__¦   s#   € ØˆŒØˆŒØ�	Š	�!‰Œˆˆˆr   c                 óB   — d| j         j        › d| j        ›d| j        › d�S )Nú<z: z	, bufpos=ú>)Ú	__class__r   rX   Úbufpos©r   s    r   r#   zPSBaseParser.__repr__«   s,   € ØP�4”>Ô*ÐPÐP¨d¬gÐPÐPÀ$Ä+ÐPÐPÐPÐPr   c                 ó   — d S r   r   rb   s    r   ÚflushzPSBaseParser.flush®   ó   € Øˆr   Úposc                 óê   — t                                d|¦  «         | j                             |¦  «         || _        d| _        d| _        | j        | _        d| _	        d| _
        g | _        d| _        dS )z'Seeks the parser to the given position.zseek: %rr   r   FN)ÚlogÚdebugrX   r[   ra   ÚbufÚcharposÚ_parse_mainÚ_parse1Ú	_curtokenÚ_curtokenposÚ_tokensrZ   ©r   rf   s     r   r[   zPSBaseParser.seek±   sj   € å�	Š	�*˜cÑ"Ô"Ð"ØŒ�Š�SÑÔÐàˆŒØˆŒØˆŒàÔ'ˆŒØˆŒØˆÔØ<>ˆŒØˆŒˆˆr   c                 ó  — | j         t          | j        ¦  «        k     rdS | j                             ¦   «         | _        | j                             | j        ¦  «        | _        | j        st          d¦  «        ‚d| _         dS )NFúUnexpected EOFr   )	rk   Úlenrj   rX   Útellra   ÚreadÚBUFSIZÚPSEOFrb   s    r   ÚfillbufzPSBaseParser.fillbufÀ   si   € ØŒ<�#˜dœh™-œ-Ò'Ð'Ø�5à”g—l’l‘n”nˆŒØ”7—<’< ¤Ñ,Ô,ˆŒØŒxð 	*ÝÐ(Ñ)Ô)Ð)ØˆŒØˆur   c                 ób  — d}| j         | j        z   }d}	 |                      ¦   «          |r8| j        | j        | j        dz   …         }|dk    r||z  }| xj        dz  c_        n®t                               | j        | j        ¦  «        }|rV|| j        | j        |                     d¦  «        …         z  }|                     d¦  «        | _        |dd…         dk    rd	}n1n1|| j        | j        d…         z  }t          | j        ¦  «        | _        Œüt           	                    d
||¦  «         ||fS )z3Fetches a next line that ends either with \r or \n.r   Fé   ó   
r   éÿÿÿÿNó   Tznextline: %r, %r)
ra   rk   ry   rj   ÚEOLÚsearchÚendrt   rh   ri   )r   ÚlinebufÚlineposÚeolÚcÚms         r   ÚnextlinezPSBaseParser.nextlineË   s1  € àˆØ”+ ¤Ñ,ˆØˆð	-Ø�LŠL‰NŒNˆNØð Ø”H˜Tœ\¨D¬L¸1Ñ,<Ð<Ô=�à˜’:�:Ø˜q‘L�GØ�L”L AÑ%�L”LØÝ—
’
˜4œ8 T¤\Ñ2Ô2ˆAØð 	-Ø˜4œ8 D¤L°1·5²5¸±8´8Ð$;Ô<Ñ<�Ø Ÿušu Q™xœx�”Ø˜2˜3˜3”< 5Ò(Ð(Ø�C�Càà˜4œ8 D¤L N NÔ3Ñ3�Ý" 4¤8™}œ}�”ð'	-õ( 	�	Š	Ð$ g¨wÑ7Ô7Ð7à˜Ð!Ð!r   c              #   ó  K  — | j                              dt          j        ¦  «         | j                              ¦   «         }d}|dk    r¼|}t          d|| j        z
  ¦  «        }| j                              |¦  «         | j                              ||z
  ¦  «        }|sdS 	 t          |                     d¦  «        |                     d¦  «        ¦  «        }|dk    r||z   }n||d…         |z   V — |d|…         }d}Œ^|dk    °ºdS dS )ziFetches a next line backward.

        This is used to locate the trailers at the end of a file.
        r   r   r{   r~   r|   r}   N)	rX   r[   ÚioÚSEEK_ENDru   Úmaxrw   rv   Úrfind)r   rf   rj   ÚprevposÚsÚns         r   ÚrevreadlineszPSBaseParser.revreadlinesè   s  è è € ð
 	Œ�Š�Q�œÑ$Ô$Ð$ØŒg�lŠl‰nŒnˆØˆØ�AŠgˆgØˆGÝ�a˜˜tœ{Ñ*Ñ+Ô+ˆCØŒG�LŠL˜ÑÔÐØ”—’˜W s™]Ñ+Ô+ˆAØð Ø�ðÝ˜Ÿš ™œ¨¯ª°©¬Ñ7Ô7�Ø˜’7�7Ø˜c™'�CØØ˜˜˜”e˜c‘kÐ!Ð!Ð!Ø�b�q�b”E�Ø�ðð �AŠgˆgˆgˆgˆgˆgr   rŽ   Úic                 óN  — t                                ||¦  «        }|st          |¦  «        S |                     d¦  «        }|||dz   …         }| j        |z   | _        |dk    rd| _        | j        | _        |dz   S |dk    rd| _        | j	        | _        |dz   S |dv s| 
                    ¦   «         r|| _        | j        | _        |dz   S |dk    r|| _        | j        | _        |dz   S |                     ¦   «         r|| _        | j        | _        |dz   S |dk    rd| _        d| _        | j        | _        |dz   S |d	k    rd| _        | j        | _        |dz   S |d
k    rd| _        | j        | _        |dz   S |dk    r|dz   S |                      t)          |¦  «        ¦  «         |dz   S )Nr   r{   ó   %ó   /r   s   -+ó   .rS   ó   <ó   >ó    )ÚNONSPCr€   rt   Ústartra   ro   rn   Ú_parse_commentrm   Ú_parse_literalÚisdigitÚ_parse_numberÚ_parse_floatÚisalphaÚ_parse_keywordÚparenÚ_parse_stringÚ_parse_wopenÚ_parse_wcloseÚ
_add_tokenÚKWD©r   rŽ   r‘   r†   Újr…   s         r   rl   zPSBaseParser._parse_main   s»  € Ý�MŠM˜!˜QÑÔˆØð 	Ý�q‘6”6ˆMØ�GŠG�A‰JŒJˆØˆa�!�a‘%ˆiŒLˆØ œK¨!™OˆÔØ�Š9ˆ9Ø!ˆDŒNØÔ.ˆDŒLØ�q‘5ˆLØ�$ŠYˆYØ ˆDŒNØÔ.ˆDŒLØ�q‘5ˆLØ�%ˆZˆZ˜1Ÿ9š9™;œ;ˆZØˆDŒNØÔ-ˆDŒLØ�q‘5ˆLØ�$ŠYˆYØˆDŒNØÔ,ˆDŒLØ�q‘5ˆLØ�YŠY‰[Œ[ð 	ØˆDŒNØÔ.ˆDŒLØ�q‘5ˆLØ�$ŠYˆYØ ˆDŒNØˆDŒJØÔ-ˆDŒLØ�q‘5ˆLØ�$ŠYˆYØ ˆDŒNØÔ,ˆDŒLØ�q‘5ˆLØ�$ŠYˆYØ ˆDŒNØÔ-ˆDŒLØ�q‘5ˆLØ�'Š\ˆ\Ø�q‘5ˆLà�OŠO�C ™FœFÑ#Ô#Ð#Ø�q‘5ˆLr   Úobjc                 óH   — | j                              | j        |f¦  «         d S r   )rp   Úappendro   )r   rª   s     r   r¦   zPSBaseParser._add_token.  s&   € ØŒ×Ò˜TÔ.°Ð4Ñ5Ô5Ð5Ð5Ð5r   c                 ó   — t                                ||¦  «        }|s'| xj        ||d …         z  c_        t          |¦  «        S |                     d¦  «        }| xj        |||…         z  c_        | j        | _        |S ©Nr   )r   r€   rn   rt   rš   rl   rm   ©r   rŽ   r‘   r†   r©   s        r   r›   zPSBaseParser._parse_comment1  sx   € Ý�JŠJ�q˜!ÑÔˆØð 	ØˆNŒN˜a   œeÑ#ˆNŒNÝ�q‘6”6ˆMØ�GŠG�A‰JŒJˆØˆŒ˜!˜A˜a˜Cœ&Ñ ˆŒØÔ'ˆŒð ˆr   c                 óö  — t                                ||¦  «        }|s'| xj        ||d …         z  c_        t          |¦  «        S |                     d¦  «        }| xj        |||…         z  c_        |||dz   …         }|dk    rd| _        | j        | _        |dz   S 	 t          | j        d¦  «        }n# t          $ r
 | j        }Y nw xY w|  
                    t          |¦  «        ¦  «         | j        | _        |S )Nr   r{   ó   #r   r=   )ÚEND_LITERALr€   rn   rt   rš   ÚhexÚ_parse_literal_hexrm   r%   Ú	Exceptionr¦   ÚLITrl   )r   rŽ   r‘   r†   r©   r…   r   s          r   rœ   zPSBaseParser._parse_literal=  s  € Ý×Ò˜q !Ñ$Ô$ˆØð 	ØˆNŒN˜a   œeÑ#ˆNŒNÝ�q‘6”6ˆMØ�GŠG�A‰JŒJˆØˆŒ˜!˜A˜a˜Cœ&Ñ ˆŒØˆa�!�a‘%ˆiŒLˆØ�Š9ˆ9ØˆDŒHØÔ2ˆDŒLØ�q‘5ˆLð	"Ý # D¤N°GÑ <Ô <ˆDˆDøÝð 	"ð 	"ð 	"Ø”>ˆDˆDˆDð	"øøøà�Š�˜D™	œ	Ñ"Ô"Ð"ØÔ'ˆŒØˆs   ÂB4 Â4CÃCc                 ó6  — |||dz   …         }t                                |¦  «        r-t          | j        ¦  «        dk     r| xj        |z  c_        |dz   S | j        r1| xj        t          t          | j        d¦  «        f¦  «        z  c_        | j        | _        |S )Nr{   é   é   )	ÚHEXÚmatchrt   r³   rn   r&   Úintrœ   rm   ©r   rŽ   r‘   r…   s       r   r´   zPSBaseParser._parse_literal_hexQ  s�   € Øˆa�!�a‘%ˆiŒLˆÝ�9Š9�Q‰<Œ<ð 	�C ¤™MœM¨AÒ-Ð-ØˆHŒH˜‰MˆHŒHØ�q‘5ˆLØŒ8ð 	:ØˆNŒN�e¥S¨¬°2Ñ%6Ô%6Ð$8Ñ9Ô9Ñ9ˆNŒNØÔ*ˆŒØˆr   c                 ó  — t                                ||¦  «        }|s'| xj        ||d …         z  c_        t          |¦  «        S |                     d¦  «        }| xj        |||…         z  c_        |||dz   …         }|dk    r!| xj        |z  c_        | j        | _        |dz   S t          j        t          ¦  «        5  |  
                    t          | j        ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   | j        | _        |S )Nr   r{   r•   )Ú
END_NUMBERr€   rn   rt   rš   rŸ   rm   Ú
contextlibÚsuppressÚ
ValueErrorr¦   r¼   rl   r¨   s         r   rž   zPSBaseParser._parse_number[  s7  € Ý×Ò˜a Ñ#Ô#ˆØð 	ØˆNŒN˜a   œeÑ#ˆNŒNÝ�q‘6”6ˆMØ�GŠG�A‰JŒJˆØˆŒ˜!˜A˜a˜Cœ&Ñ ˆŒØˆa�!�a‘%ˆiŒLˆØ�Š9ˆ9ØˆNŒN˜aÑˆNŒNØÔ,ˆDŒLØ�q‘5ˆLÝÔ ¥Ñ,Ô,ð 	1ð 	1Ø�OŠO�C ¤Ñ/Ô/Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1àÔ'ˆŒØˆs   Â?(C3Ã3C7Ã:C7c                 ó°  — t                                ||¦  «        }|s'| xj        ||d …         z  c_        t          |¦  «        S |                     d¦  «        }| xj        |||…         z  c_        t          j        t          ¦  «        5  |                      t          | j        ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   | j
        | _        |S r®   )r¿   r€   rn   rt   rš   rÀ   rÁ   rÂ   r¦   Úfloatrl   rm   r¯   s        r   rŸ   zPSBaseParser._parse_floatl  sú   € Ý×Ò˜a Ñ#Ô#ˆØð 	ØˆNŒN˜a   œeÑ#ˆNŒNÝ�q‘6”6ˆMØ�GŠG�A‰JŒJˆØˆŒ˜!˜A˜a˜Cœ&Ñ ˆŒÝÔ ¥Ñ,Ô,ð 	3ð 	3Ø�OŠO�E $¤.Ñ1Ô1Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3àÔ'ˆŒØˆs   Â(B?Â?CÃCc                 óŒ  — t                                ||¦  «        }|r.|                     d¦  «        }| xj        |||…         z  c_        n'| xj        ||d …         z  c_        t	          |¦  «        S | j        dk    rd}n"| j        dk    rd}nt          | j        ¦  «        }|                      |¦  «         | j        | _        |S )Nr   s   trueTs   falseF)	ÚEND_KEYWORDr€   rš   rn   rt   r§   r¦   rl   rm   ©r   rŽ   r‘   r†   r©   Útokens         r   r¡   zPSBaseParser._parse_keywordx  sÃ   € Ý×Ò˜q !Ñ$Ô$ˆØð 	Ø—’˜‘
”
ˆAØˆNŒN˜a  ! œfÑ$ˆNŒNˆNàˆNŒN˜a   œeÑ#ˆNŒNÝ�q‘6”6ˆMØŒ>˜WÒ$Ð$Ø&*ˆEˆEØŒ^˜xÒ'Ð'ØˆEˆEå˜œÑ'Ô'ˆEØ�Š˜ÑÔÐØÔ'ˆŒØˆr   c                 óJ  — t                                ||¦  «        }|s'| xj        ||d …         z  c_        t          |¦  «        S |                     d¦  «        }| xj        |||…         z  c_        |||dz   …         }|dk    rd| _        | j        | _        |dz   S |dk    r%| xj        dz  c_        | xj        |z  c_        |dz   S |dk    r,| xj        dz  c_        | j        r| xj        |z  c_        |dz   S |  	                    | j        ¦  «         | j
        | _        |dz   S )Nr   r{   rU   r   rS   rT   )Ú
END_STRINGr€   rn   rt   rš   ÚoctÚ_parse_string_1rm   r¢   r¦   rl   r¨   s         r   r£   zPSBaseParser._parse_stringŠ  s0  € Ý×Ò˜a Ñ#Ô#ˆØð 	ØˆNŒN˜a   œeÑ#ˆNŒNÝ�q‘6”6ˆMØ�GŠG�A‰JŒJˆØˆŒ˜!˜A˜a˜Cœ&Ñ ˆŒØˆa�!�a‘%ˆiŒLˆØ�Š:ˆ:ØˆDŒHØÔ/ˆDŒLØ�q‘5ˆLØ�Š9ˆ9ØˆJŒJ˜!‰OˆJŒJØˆNŒN˜aÑˆNŒNØ�q‘5ˆLØ�Š9ˆ9ØˆJŒJ˜!‰OˆJŒJØŒzð à�” !Ñ#�”Ø˜1‘u�Ø�Š˜œÑ'Ô'Ð'ØÔ'ˆŒØ�1‰uˆr   c                 ód  — |||dz   …         }t                                |¦  «        r-t          | j        ¦  «        dk     r| xj        |z  c_        |dz   S | j        r]t	          | j        d¦  «        }|dk     sJ d| j        ›d|› d�¦   «         ‚| xj        t          |f¦  «        z  c_        | j        | _        |S |t          v r*| xj        t          t          |         f¦  «        z  c_        n5|dk    r/t          |¦  «        |dz   k    r||dz   |d	z   …         d
k    r|dz  }| j        | _        |dz   S )z;Parse literal strings

        PDF Reference 3.2.3
        r{   é   rF   é   zInvalid octal z (ú)r~   r¸   r|   )
Ú
OCT_STRINGr»   rt   rË   r¼   rn   r&   r£   rm   Ú
ESC_STRING)r   rŽ   r‘   r…   Úchrcodes        r   rÌ   zPSBaseParser._parse_string_1¤  sB  € ð
 ˆa�!�a‘%ˆiŒLˆÝ×Ò˜AÑÔð 	¥3 t¤x¡=¤=°1Ò#4Ð#4ØˆHŒH˜‰MˆHŒHØ�q‘5ˆLàŒXð 	Ý˜$œ( AÑ&Ô&ˆGØ˜S’=�=�=Ð"K°4´8Ð"KÐ"KÀÐ"KÐ"KÐ"K‘=”=�=ØˆNŒN�e W JÑ/Ô/Ñ/ˆNŒNØÔ-ˆDŒLØˆHà•*ˆ_ˆ_ØˆNŒN�e¥Z°¤]Ð$4Ñ5Ô5Ñ5ˆNŒNˆNà�%ŠZˆZ�C ™FœF Q¨¡UšN˜N¨q°°Q±¸¸Q¹°Ô/?À5Ò/HÐ/Hð �‰FˆAð Ô)ˆŒØ�1‰uˆr   c                 óœ   — |||dz   …         }|dk    r,|                       t          ¦  «         | j        | _        |dz  }n| j        | _        |S )Nr{   r–   )r¦   ÚKEYWORD_DICT_BEGINrl   rm   Ú_parse_hexstringr½   s       r   r¤   zPSBaseParser._parse_wopenÁ  sS   € Øˆa�!�a‘%ˆiŒLˆØ�Š9ˆ9Ø�OŠOÕ.Ñ/Ô/Ð/ØÔ+ˆDŒLØ�‰FˆAˆAàÔ0ˆDŒLØˆr   c                 ó‚   — |||dz   …         }|dk    r|                       t          ¦  «         |dz  }| j        | _        |S )Nr{   r—   )r¦   ÚKEYWORD_DICT_ENDrl   rm   r½   s       r   r¥   zPSBaseParser._parse_wcloseË  sG   € Øˆa�!�a‘%ˆiŒLˆØ�Š9ˆ9Ø�OŠOÕ,Ñ-Ô-Ð-Ø�‰FˆAØÔ'ˆŒØˆr   c                 óž  — t                                ||¦  «        }|s'| xj        ||d …         z  c_        t          |¦  «        S |                     d¦  «        }| xj        |||…         z  c_        t
                               d„ t                               d| j        ¦  «        ¦  «        }|                      |¦  «         | j	        | _
        |S )Nr   c                 ód   — t          t          |                      d¦  «        d¦  «        f¦  «        S )Nr   r¹   )r&   r¼   Úgroup)r†   s    r   ú<lambda>z/PSBaseParser._parse_hexstring.<locals>.<lambda>Û  s%   € •e�S §¢¨¡¤¨RÑ0Ô0Ð2Ñ3Ô3€ r   r   )ÚEND_HEX_STRINGr€   rn   rt   rš   ÚHEX_PAIRÚsubÚSPCr¦   rl   rm   rÇ   s         r   rÖ   zPSBaseParser._parse_hexstringÓ  s¸   € Ý×!Ò! ! QÑ'Ô'ˆØð 	ØˆNŒN˜a   œeÑ#ˆNŒNÝ�q‘6”6ˆMØ�GŠG�A‰JŒJˆØˆŒ˜!˜A˜a˜Cœ&Ñ ˆŒÝ—’Ø3Ð3Ý�GŠG�C˜œÑ(Ô(ñ
ô 
ˆð 	�Š˜ÑÔÐØÔ'ˆŒØˆr   c                 óâ  — | j         rt          d¦  «        ‚| j        sœ	 |                      ¦   «         }|r| j        r|                      dd¦  «         n%|                      | j        | j        ¦  «        | _        n:# t          $ r- |                      dd¦  «        | _        d| _         | j        s‚ Y nw xY w| j        ¯œ| j                             d¦  «        }t           
                    d|¦  «         |S )Nrs   r|   r   Tznexttoken: %r)rZ   rx   rp   ry   rn   rm   rj   rk   Úpoprh   ri   )r   Úchanged_streamrÈ   s      r   Ú	nexttokenzPSBaseParser.nexttokenâ  s	  € ØŒ8ð 	*åÐ(Ñ)Ô)Ð)Ø”,ð 	ðØ!%§¢¡¤�Ø!ð H d¤nð Hð —L’L ¨Ñ*Ô*Ð*Ð*à#'§<¢<°´¸$¼,Ñ#GÔ#G�D”LøøÝð ð ð ð  $Ÿ|š|¨E°1Ñ5Ô5�”Ø�”à”|ð Øðð ðøøøð ”,ð 	ð$ ”× Ò  Ñ#Ô#ˆÝ�	Š	�/ 5Ñ)Ô)Ð)Øˆs   ŸAA9 Á94B0Â/B0©r   N)"r   r   r   r   rw   r   r   r%   r#   rd   r¼   r[   Úboolry   Útupler&   r‡   r   r�   rl   ÚPSBaseParserTokenr¦   r›   rœ   r´   rž   rŸ   r¡   r£   rÌ   r¤   r¥   rÖ   rä   r   r   r   rW   rW   ¡   s+  € € € € € ØGÐGà€Fð˜8ð ¨ð ð ð ð ð
Q˜#ð Qð Qð Qð Qðð ð ð ð˜ð  ð ð ð ð ð	˜ð 	ð 	ð 	ð 	ð"˜%  U 
Ô+ð "ð "ð "ð "ð:˜h uœoð ð ð ð ð0,˜Uð , sð ,¨sð ,ð ,ð ,ð ,ð\6Ð/ð 6°Dð 6ð 6ð 6ð 6ð
 ð 
¨#ð 
°#ð 
ð 
ð 
ð 
ð ð ¨#ð °#ð ð ð ð ð( Eð ¨cð °cð ð ð ð ð˜uð ¨ð °ð ð ð ð ð"
˜eð 
¨ð 
°ð 
ð 
ð 
ð 
ð ð ¨#ð °#ð ð ð ð ð$˜uð ¨ð °ð ð ð ð ð4 ð ¨3ð °3ð ð ð ð ð:˜eð ¨ð °ð ð ð ð ð˜uð ¨ð °ð ð ð ð ð %ð ¨Cð °Cð ð ð ð ð˜5 Ð&7Ð!7Ô8ð ð ð ð ð ð r   rW   ÚExtraTc                   ó2  — e Zd Zdeddfd„Zdd„Zdeddfd„Zdee	         ddfd	„Z
d
edeee	                  fd„Zdeee	                  fd„Zdee	         ddfd„Zdededdfd„Zdedeeeee	                  f         fd„Zdededdfd„Zdee	         fd„ZdS )ÚPSStackParserrX   r   Nc                 ód   — t                                | |¦  «         |                      ¦   «          d S r   )rW   r   Úresetr\   s     r   r   zPSStackParser.__init__  s)   € Ý×Ò˜d BÑ'Ô'Ð'Ø�
Š
‰Œˆˆˆr   c                 ó>   — g | _         d | _        g | _        g | _        d S r   )ÚcontextÚcurtypeÚcurstackÚresultsrb   s    r   rí   zPSStackParser.reset  s"   € ØQSˆŒØ#'ˆŒØ46ˆŒØ35ˆŒˆˆr   rf   c                 ód   — t                                | |¦  «         |                      ¦   «          d S r   )rW   r[   rí   rq   s     r   r[   zPSStackParser.seek  s)   € Ý×Ò˜$ Ñ$Ô$Ð$Ø�
Š
‰Œˆˆˆr   Úobjsc                 ó:   — | j                              |¦  «         d S r   )rñ   Úextend©r   rô   s     r   ÚpushzPSStackParser.push  s   € ØŒ×Ò˜TÑ"Ô"Ð"Ð"Ð"r   r�   c                 ó@   — | j         | d …         }g | j         | d …<   |S r   ©rñ   )r   r�   rô   s      r   râ   zPSStackParser.pop  s+   € ØŒ}˜a˜R˜S˜SÔ!ˆØˆŒ�q�b�c�cÑØˆr   c                 ó"   — | j         }g | _         |S r   rú   r÷   s     r   ÚpopallzPSStackParser.popall!  s   € ØŒ}ˆØˆŒØˆr   c                 óÈ   — 	 t                                d|¦  «         n*# t          $ r t                                d¦  «         Y nw xY w| j                             |¦  «         d S )Nzadd_results: %rz!add_results: (unprintable object))rh   ri   rµ   rò   rö   r÷   s     r   Úadd_resultszPSStackParser.add_results&  so   € ð	;Ý�IŠIÐ'¨Ñ.Ô.Ð.Ð.øÝð 	;ð 	;ð 	;Ý�IŠIÐ9Ñ:Ô:Ð:Ð:Ð:ð	;øøøàŒ×Ò˜DÑ!Ô!Ð!Ð!Ð!s   ‚ ž$AÁAr6   c                 óª   — | j                              || j        | j        f¦  «         |g c| _        | _        t                               d||¦  «         d S )Nzstart_type: pos=%r, type=%r)rï   r¬   rð   rñ   rh   ri   )r   rf   r6   s      r   Ú
start_typezPSStackParser.start_type-  sP   € ØŒ×Ò˜S $¤,°´Ð>Ñ?Ô?Ð?Ø)-¨rÐ%ˆŒ�t”}Ý�	Š	Ð/°°dÑ;Ô;Ð;Ð;Ð;r   c                 óþ   — | j         |k    rt          d| j         ›d|›�¦  «        ‚d„ | j        D ¦   «         }| j                             ¦   «         \  }| _         | _        t
                               d|||¦  «         ||fS )NzType mismatch: z != c                 ó   — g | ]\  }}|‘ŒS r   r   )Ú.0Ú_rª   s      r   ú
<listcomp>z*PSStackParser.end_type.<locals>.<listcomp>5  s   € Ð2Ð2Ð2™˜˜C�Ð2Ð2Ð2r   z"end_type: pos=%r, type=%r, objs=%r)rð   rA   rñ   rï   râ   rh   ri   )r   r6   rô   rf   s       r   Úend_typezPSStackParser.end_type2  s†   € ØŒ<˜4ÒÐÝÐL°´ÐLÐLÀDÐLÐLÑMÔMÐMØ2Ð2 D¤MÐ2Ñ2Ô2ˆØ-1¬\×-=Ò-=Ñ-?Ô-?Ñ*ˆˆdŒl˜DœMÝ�	Š	Ð6¸¸TÀ4ÑHÔHÐHØ�Tˆ{Ðr   rÈ   c                 ó   — d S r   r   )r   rf   rÈ   s      r   Ú
do_keywordzPSStackParser.do_keyword:  re   r   c           	      ó^  — | j         �sÃ|                      ¦   «         \  }}t          |t          t          t
          t          t          t          f¦  «        r|  	                    ||f¦  «         �n:|t          k    r|                      |d¦  «         �n|t          k    rI	 |  	                    |                      d¦  «        ¦  «         �ná# t          $ r t          j        r‚ Y �nÇw xY w|t"          k    r|                      |d¦  «         �n |t$          k    r”	 |                      d¦  «        \  }}t'          |¦  «        dz  dk    rd|›�}t)          |¦  «        ‚d„ t+          d|¦  «        D ¦   «         }|  	                    ||f¦  «         �n# t          $ r t          j        r‚ Y �nw xY w|t,          k    r|                      |d¦  «         nß|t.          k    rG	 |  	                    |                      d¦  «        ¦  «         nª# t          $ r t          j        r‚ Y n‘w xY wt          |t0          ¦  «        r9t2                               d||| j        ¦  «         |                      ||¦  «         n?t2                               d	||| j        ¦  «         |                      ||¦  «         t<          ‚| j        r�Œ¯|                       ¦   «          | j         �¯Ã| j          !                    d¦  «        }	 t2                               d
|¦  «         n*# tD          $ r t2                               d¦  «         Y nw xY w|S )zÎYields a list of objects.

        Arrays and dictionaries are represented as Python lists and
        dictionaries.

        :return: keywords, literals, strings, numbers, arrays and dictionaries.
        ÚaÚdr¸   r   zInvalid dictionary construct: c                 ó8   — i | ]\  }}|®t          |¦  «        |“ŒS r   )rB   )r  ÚkÚvs      r   ú
<dictcomp>z,PSStackParser.nextobject.<locals>.<dictcomp>^  s1   € ð ð ð á"˜Q Ø˜=õ % Q™œ¨à(˜=˜=r   Úpz&do_keyword: pos=%r, token=%r, stack=%rz)unknown token: pos=%r, token=%r, stack=%rznextobject: %rz nextobject: (unprintable object))#rò   rä   r>   r¼   rÄ   ræ   r%   r&   r   rø   ÚKEYWORD_ARRAY_BEGINr   ÚKEYWORD_ARRAY_ENDr  rA   r
   r@   rÕ   rØ   rt   ÚPSSyntaxErrorr   ÚKEYWORD_PROC_BEGINÚKEYWORD_PROC_ENDr)   rh   ri   rñ   r  ÚerrorÚPSExceptionrï   rd   râ   rµ   )r   rf   rÈ   rô   Ú	error_msgr  rª   s          r   Ú
nextobjectzPSStackParser.nextobject=  s�  € ð ”,ñ @	ØŸ>š>Ñ+Ô+‰LˆS�%Ý˜%¥#¥u­dµC½Å	Ð!JÑKÔKð :"à—	’	˜3 ˜,Ñ'Ô'Ð'Ñ'ØÕ-Ò-Ð-à—’  SÑ)Ô)Ð)Ñ)ØÕ+Ò+Ð+ðØ—I’I˜dŸmšm¨CÑ0Ô0Ñ1Ô1Ð1Ñ1øÝ"ð ð ð Ý”ð Øðñ ðøøøð Õ,Ò,Ð,à—’  SÑ)Ô)Ð)Ñ)ØÕ*Ò*Ð*ðØ"&§-¢-°Ñ"4Ô"4‘K�S˜$Ý˜4‘y”y 1‘}¨Ò)Ð)Ø$MÀTÐ$MÐ$M˜	Ý+¨IÑ6Ô6Ð6ðð å&.¨q°$Ñ&7Ô&7ðñ ô �Að
 —I’I˜s A˜hÑ'Ô'Ð'Ñ'øÝ"ð ð ð Ý”ð Øðñ ðøøøð Õ,Ò,Ð,à—’  SÑ)Ô)Ð)Ð)ØÕ*Ò*Ð*ðØ—I’I˜dŸmšm¨CÑ0Ô0Ñ1Ô1Ð1Ð1øÝ"ð ð ð Ý”ð Øðð ðøøøõ ˜E¥9Ñ-Ô-ð "Ý—	’	Ø<ØØØ”Mñ	ô ð ð —’  UÑ+Ô+Ð+Ð+å—	’	Ø?ØØØ”Mñ	ô ð ð —’  UÑ+Ô+Ð+Ý!Ð!ØŒ|ð Ùà—
’
‘”�ðA ”,ñ @	ðB Œl×Ò˜qÑ!Ô!ˆð	:Ý�IŠIÐ&¨Ñ,Ô,Ð,Ð,øÝð 	:ð 	:ð 	:Ý�IŠIÐ8Ñ9Ô9Ð9Ð9Ð9ð	:øøøàˆ
sI   Â(C ÃC!Ã C!ÄA3F ÆF#Æ"F#Ç(G= Ç=HÈHË'L Ì$L*Ì)L*rå   )r   r   r   r   r   rí   r¼   r[   ÚPSStackEntryré   rø   Úlistrâ   rü   rþ   r%   r   rç   ÚPSStackTyper  r)   r  r  r   r   r   rë   rë   
  sº  € € € € € ð˜8ð ¨ð ð ð ð ð6ð 6ð 6ð 6ð˜ð  ð ð ð ð ð#˜, vÔ.ð #°4ð #ð #ð #ð #ð�Sð ˜T ,¨vÔ"6Ô7ð ð ð ð ð
˜˜\¨&Ô1Ô2ð ð ð ð ð
" ¨fÔ!5ð "¸$ð "ð "ð "ð "ð<˜cð <¨ð <°ð <ð <ð <ð <ð
˜Sð  U¨3°°[ÀÔ5HÔ0IÐ+IÔ%Jð ð ð ð ð˜cð ¨)ð ¸ð ð ð ð ðN˜L¨Ô0ð Nð Nð Nð Nð Nð Nr   rë   )FrÀ   r‰   ÚloggingÚreÚcollections.abcr   Útypingr   r   r   r   r   Úpdfminerr	   r
   Úpdfminer.utilsr   Ú	getLoggerr   rh   r  rx   r  rA   ÚPSValueErrorr   r   r)   r,   r.   ÚPSLiteralTableÚPSKeywordTabler5   r¶   r§   r  r  r  r  rÕ   rØ   r%   rB   rE   Úcompiler   rà   r™   rº   r²   rÝ   rÞ   r¿   rÆ   rÊ   rÑ   rÒ   rÄ   ræ   r&   rè   rW   ré   r  r2   r  rç   r¼   r  rë   r   r   r   ú<module>r(     s7  ðà Ð Ð Ð Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø $Ð $Ð $Ð $Ð $Ð $ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ,Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø #Ð #Ð #Ð #Ð #Ð #à€gÔ˜Ñ!Ô!€ð Ô&€ØÔ€ØÔ*€ØÔ&€ØÔ(€ð;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ðð ð ð ð �ñ ô ð ð,ð ð ð ð �ñ ô ð ð& ˆ7�:˜y¨)Ñ4Ô4€ðð ð ð ð �G˜HÔ%ñ ô ð ð* �˜yÑ)Ô)€Ø�˜yÑ)Ô)€ØÔ€ØÔ€Ø�S˜‘Y”YÐ Ø�3�t‘9”9Ð Ø�c˜$‘i”iÐ Ø�C˜‘I”IÐ Ø�S˜‘Z”ZÐ Ø�3�u‘:”:Ð ð�Cð ˜Cð ð ð ð ð�Cð ˜Cð ð ð ð ð €b„j�ÑÔ€Ø€b„j�ÑÔ€Ø	ˆŒ�FÑ	Ô	€Ø€b„j�Ñ!Ô!€ØˆbŒjÐ.Ñ/Ô/€Ø�”Ð.Ñ/Ô/€Øˆ2Œ:Ð*Ñ+Ô+€ØˆRŒZ˜
Ñ#Ô#€
ØˆbŒjÐ.Ñ/Ô/€ØˆRŒZ˜Ñ%Ô%€
ØˆRŒZ˜	Ñ"Ô"€
à
Ø
Ø
Ø
Ø
Ø
Ø
Øð	ð 	€
ð ˜%  y°)¸UÐBÔCÐ ðYð Yð Yð Yð Yñ Yô Yð YðD 
ˆ�Ñ	Ô	€ØØˆ��i ¨¨S¬	°4¸¸S¸´>À6ÐIô€ð �S˜+ fÔ-Ð-Ô.€ðAð Að Að Að A�L '¨&¤/ñ Aô Að Að Að Ar   