+
    f0i*P                        ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	H
t
Ht ^ RIHtHt ^ RIHt ]P"                  ! ]4      t]P(                  t]P*                  t]P,                  t]P.                  t]P0                  t ! R R4      t ! R R	]4      t ! R
 R]4      t]
! R]]4      t ! R R]	],          4      t]! ]4      t]! ]4      t]P@                  t!]P@                  t"]"! R4      t#]"! R4      t$]"! R4      t%]"! R4      t&]"! R4      t']"! R4      t(R R lt)R R lt*]PV                  ! R4      t,]PV                  ! R4      t-]PV                  ! R4      t.]PV                  ! R4      t/]PV                  ! R4      t0]PV                  ! R4      t1]PV                  ! R4      t2]PV                  ! R 4      t3]PV                  ! R4      t4]PV                  ! R!4      t5]PV                  ! R"4      t6R#^R$^	R%^
R&^R'^R(^(R)^)R*^\/t7]]8]9]]]:3,          t; ! R+ R,4      t<]
! R-4      t=]]>]8]9]]:]?],          ]@]]3,          ]=3,          tA]B]C]A]=,          3,          tD ! R. R/]<]	]=,          4      tER# )0    N)Iterator)AnyBinaryIOGenericTypeVarUnion)psexceptionssettings)choplistc                       ] tR t^tRtRtR# )PSObjectz0Base class for all PS or PDF-related data types. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       W/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pdfminer/psparser.pyr   r      s    :r   r   c                   ^   a  ] tR t^!t o Rt]]]3,          tV 3R lR lt	V 3R lR lt
RtV tR# )	PSLiteralaE  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().
c                $   < V ^8  d   QhRS[ RR/#    namereturnN)NameType)format__classdict__s   "r   __annotate__PSLiteral.__annotate__/   s      X $ r   c                    Wn         R # Nr   selfr   s   &&r   __init__PSLiteral.__init__/       	r   c                    < V ^8  d   QhRS[ /# r   r   str)r   r    s   "r   r!   r"   2         # r   c                &    V P                   pR V: 2# /r%   r&   s   & r   __repr__PSLiteral.__repr__2       yy4(|r   r%   N)r   r   r   r   r   r   r.   bytesr   r(   r3   r   __classdictcell__r    s   @r   r   r   !   s.     	 S%Z H  r   r   c                   H   a  ] tR t^7t o RtV 3R lR ltV 3R lR ltRtV tR# )	PSKeyworda6  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().
c                $   < V ^8  d   QhRS[ RR/# r   )r6   )r   r    s   "r   r!   PSKeyword.__annotate__B   s      U t r   c                    Wn         R # r$   r%   r&   s   &&r   r(   PSKeyword.__init__B   r*   r   c                    < V ^8  d   QhRS[ /# r,   r-   )r   r    s   "r   r!   r<   E   r/   r   c                &    V P                   pR V: 2# r1   r%   r&   s   & r   r3   PSKeyword.__repr__E   r5   r   r%   N)	r   r   r   r   r   r(   r3   r   r7   r8   s   @r   r:   r:   7   s       r   r:   _SymbolTc                   H   a  ] tR t^Mt o RtV 3R lR ltV 3R lR ltRtV tR# )PSSymbolTablez{A utility class for storing PSLiteral/PSKeyword objects.

Interned objects can be checked its identity with "is" operator.
c                4   < V ^8  d   QhRS[ S[,          RR/# )r   klassr   N)typerB   )r   r    s   "r   r!   PSSymbolTable.__annotate__S   s     + +d8n + +r   c                     / V n         Wn        R # r$   dictrF   )r'   rF   s   &&r   r(   PSSymbolTable.__init__S   s    8:	%*
r   c                :   < V ^8  d   QhRS[ P                  RS[/# )r   r   r   )r   r   rB   )r   r    s   "r   r!   rH   W   s!      9-- ( r   c                    WP                   9   d   V P                   V,          pV# V P                  V4      pW P                   V&   V# r$   rJ   )r'   r   lits   && r   internPSSymbolTable.internW   s@    99))D/C 
 **T"C!IIdO
r   rJ   N)	r   r   r   r   r   r(   rP   r   r7   r8   s   @r   rD   rD   M   s     
+ + r   rD      {   }   [   ]s   <<s   >>c                0    V ^8  d   QhR\         R\        /# r   xr   )r   r.   )r   s   "r   r!   r!   n   s      C C r   c                 `   \        V \        4      '       dD   \        V P                  \        4      '       d   V P                  #  \        V P                  R 4      # \
        P                  '       d   \        RV : 24      h\        V 4      #   \         d    \        T P                  4      u # i ; i)utf-8zLiteral required: )
isinstancer   r   r.   UnicodeDecodeErrorr
   STRICTPSTypeError)rX   s   &r   literal_namer_   n   s    !Yaffc""66M	qvvw'' ??? 21%8991v " 	qvv;	s   B
 
 B-,B-c                0    V ^8  d   QhR\         R\         /# rW   )r   )r   s   "r   r!   r!   |   s      C C r   c                     \        V \        4      '       g+   \        P                  '       d   \	        R V : 24      hT p V# \        V P                  RR4      pV# )zKeyword required: rZ   ignore)r[   r:   r
   r]   r^   r.   r   )rX   r   s   & r   keyword_namerc   |   sP    a##??? 21%899D K 1667H-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                     a  ] tR t^t o RtRtV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
R5V 3R lR lltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R  lR! ltV 3R" lR# ltV 3R$ lR% ltV 3R& lR' ltV 3R( lR) ltV 3R* lR+ ltV 3R, lR- ltV 3R. lR/ ltV 3R0 lR1 ltV 3R2 lR3 ltR4tV tR# )6PSBaseParserz=Most basic PostScript parser that performs only tokenization.i   c                $   < V ^8  d   QhRS[ RR/# r   fpr   Nr   )r   r    s   "r   r!   PSBaseParser.__annotate__   s      8  r   c                B    Wn         R V n        V P                  ^ 4       R# )FN)rp   eofseekr'   rp   s   &&r   r(   PSBaseParser.__init__   s    		!r   c                    < V ^8  d   QhRS[ /# r,   r-   )r   r    s   "r   r!   rr      s     Q Q# Qr   c                l    R V P                   P                   RV P                  : RV P                   R2# )<z: z	, bufpos=>)	__class__r   rp   bufposr'   s   &r   r3   PSBaseParser.__repr__   s0    4>>**+2dgg[	$++aPPr   c                   < V ^8  d   QhRR/# r   r   Nr   )r   r    s   "r   r!   rr      s      t r   c                    R # r$   r   r~   s   &r   flushPSBaseParser.flush       r   c                   < V ^8  d   QhRR/# r   r   )r   r    s   "r   r!   rr      s      t r   c                &    V P                  4        R # r$   )r   r~   s   &r   closePSBaseParser.close   s    

r   c                    < V ^8  d   QhRS[ /# r,   int)r   r    s   "r   r!   rr      s     * *c *r   c                <    V P                   V P                  ,           # r$   )r}   charposr~   s   &r   tellPSBaseParser.tell   s    {{T\\))r   Nc                8   < V ^8  d   QhRS[ R,          RS[ RR/# )r   posNnr   r   )r   r    s   "r   r!   rr      s&      d
 c 4 r   c                Z   V P                   P                  4       pV'       g   V P                  V P                  ,           pV P                   P	                  V4       \
        P                  R V RV P                   P                  V4      : 24       V P                   P	                  V4       R# )zpoll(z): N)rp   r   r}   r   ru   logdebugread)r'   r   r   pos0s   &&& r   pollPSBaseParser.poll   sl    ww||~++,CS		E#c$'',,q/!456Tr   c                $   < V ^8  d   QhRS[ RR/# r   r   r   Nr   )r   r    s   "r   r!   rr      s        r   c                    \         P                  RV: 24       V P                  P                  V4       Wn        RV n        ^ V n        V P                  V n        RV n	        ^ V n
        . V n        RV n        R# )z'Seeks the parser to the given position.zseek: r   FN)r   r   rp   ru   r}   bufr   _parse_main_parse1	_curtoken_curtokenpos_tokensrt   r'   r   s   &&r   ru   PSBaseParser.seek   sb    		F3'"#S''<>r   c                    < V ^8  d   QhRS[ /# r,   )bool)r   r    s   "r   r!   rr      s     	 	 	r   c                ,   V P                   \        V P                  4      8  d   R # V P                  P	                  4       V n        V P                  P                  V P                  4      V n        V P                  '       g   \        R4      h^ V n         R # )FUnexpected EOF)	r   lenr   rp   r   r}   r   BUFSIZPSEOFr~   s   &r   fillbufPSBaseParser.fillbuf   sa    <<#dhh-'gglln77<<,xxx())r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r,   )tupler   r6   )r   r    s   "r   r!   rr      s     " "%U
+ "r   c                   RpV P                   V P                  ,           pRp V P                  4        V'       dT   V P                  V P                  V P                  ^,            pVR8X  d"   W,          pV ;P                  ^,          un        M\        P                  V P                  V P                  4      pV'       dT   WP                  V P                  VP                  ^ 4       ,          pVP                  ^ 4      V n        VR	R R8X  d   RpK  M<WP                  V P                  R ,          p\        V P                  4      V n        EK-  \        P                  RV: RV: 24       W!3# )
z3Fetches a next line that ends either with \r or \n.r   F   
N   Tz
nextline: z, )
r}   r   r   r   EOLsearchendr   r   r   )r'   linebuflineposeolcms   &     r   nextlinePSBaseParser.nextline   s   ++,LLNHHT\\DLL1,<=:LGLLA%L

488T\\2A88DLL1558<< uuQx23<5(C88DLLN33"488}		JwkG;78!!r   c                0   < V ^8  d   QhRS[ S[,          /# r,   )r   r6   )r   r    s   "r   r!   rr      s      huo r   c              #    "   V P                   P                  ^ \        P                  4       V P                   P	                  4       pRpV^ 8  d   Tp\        ^ WP                  ,
          4      pV P                   P                  V4       V P                   P                  W1,
          4      pV'       g   R#  \        VP                  R4      VP                  R4      4      pVR8X  d   WB,           pK  WER V,           x  VRV pRpKR  R# 5i)zYFetches a next line backward.

This is used to locate the trailers at the end of a file.
r   r   r   Nr   )	rp   ru   ioSEEK_ENDr   maxr   r   rfind)r'   r   r   prevpossr   s   &     r   revreadlinesPSBaseParser.revreadlines   s     
 	Q$ggllnAgGa{{*+CGGLLW]+A77'Ceck!bqE s   DDc                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   ir   r6   r   )r   r    s   "r   r!   rr     s"     , ,U ,s ,s ,r   c                   \         P                  W4      pV'       g   \        V4      # VP                  ^ 4      pWV^,            pV P                  V,           V n        VR8X  d"   RV n        V P                  V n        V^,           # VR8X  d"   RV n        V P                  V n        V^,           # VR9   g   VP                  4       '       d!   WPn        V P                  V n        V^,           # VR8X  d!   WPn        V P                  V n        V^,           # VP                  4       '       d!   WPn        V P                  V n        V^,           # VR8X  d)   RV n        ^V n        V P                   V n        V^,           # VR8X  d"   RV n        V P"                  V n        V^,           # VR8X  d"   RV n        V P$                  V n        V^,           # VR	8X  d
   V^,           # V P'                  \)        V4      4       V^,           # )
r      %   /r   s   -+   .ri      <   >    )NONSPCr   r   startr}   r   r   _parse_commentr   _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   r   PSBaseParser._parse_main  s   MM!q6MGGAJ!a%L KK!O9!DN..DLq5L$Y DN..DLq5L%Z199;;N--DLq5L$YN,,DLq5LYY[[N..DLq5L$Y DNDJ--DLq5L$Y DN,,DLq5L$Y DN--DLq5L'\q5LOOCF#q5Lr   c                $   < V ^8  d   QhRS[ RR/# )r   objr   N)PSBaseParserToken)r   r    s   "r   r!   rr   <  s     6 6/ 6D 6r   c                T    V P                   P                  V P                  V34       R # r$   )r   appendr   )r'   r   s   &&r   r   PSBaseParser._add_token<  s    T..45r   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr   ?  s"     
 
 
# 
# 
r   c                   \         P                  W4      pV'       g'   V ;P                  WR  ,          un        \        V4      # VP	                  ^ 4      pV ;P                  WV ,          un        V P
                  V n        V# r$   )r   r   r   r   r   r   r   r'   r   r   r   r   s   &&&  r   r   PSBaseParser._parse_comment?  sa    JJqNNae#Nq6MGGAJ!a& '' r   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr   K  s"       # # r   c                   \         P                  W4      pV'       g'   V ;P                  WR  ,          un        \        V4      # VP	                  ^ 4      pV ;P                  WV ,          un        WV^,            pVR8X  d"   RV n        V P                  V n        V^,           #  \        V P                  R4      pV P                  \        V4      4       V P                  V n        V#   \         d    T P                  p LFi ; i)N   #r   rZ   )END_LITERALr   r   r   r   hex_parse_literal_hexr   r.   	Exceptionr   LITr   )r'   r   r   r   r   r   r   s   &&&    r   r   PSBaseParser._parse_literalK  s    q$NNae#Nq6MGGAJ!a& !a%L9DH22DLq5L	" #DNNG <D 	D	"''	  	">>D	"s   $C' 'D Dc                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr   _  s"      E c c r   c                ~   WV^,            p\         P                  V4      '       d=   \        V P                  4      ^8  d#   V ;P                  V,          un        V^,           # V P                  '       d8   V ;P                  \        \        V P                  ^4      34      ,          un        V P                  V n        V# )   )	HEXmatchr   r   r   r6   r   r   r   r'   r   r   r   s   &&& r   r   PSBaseParser._parse_literal_hex_  s}    !a%L99Q<<CMA-HHMHq5L888NNeS2%6$899N**r   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr   i  s"      u   r   c                T   \         P                  W4      pV'       g'   V ;P                  WR  ,          un        \        V4      # VP	                  ^ 4      pV ;P                  WV ,          un        WV^,            pVR8X  d4   V ;P                  V,          un        V P
                  V n        V^,           # \        P                  ! \        4      ;_uu_ 4        V P                  \        V P                  4      4       R R R 4       V P                  V n        V#   + '       g   i     L#; i)Nr   )
END_NUMBERr   r   r   r   r   r   
contextlibsuppress
ValueErrorr   r   r   r   s   &&&   r   r   PSBaseParser._parse_numberi  s    a#NNae#Nq6MGGAJ!a& !a%L9NNaN,,DLq5L  ,,OOC/0 -'' -,s   %DD'	c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr   z  s"     
 
e 
 
 
r   c                   \         P                  W4      pV'       g'   V ;P                  WR  ,          un        \        V4      # VP	                  ^ 4      pV ;P                  WV ,          un        \
        P                  ! \        4      ;_uu_ 4        V P                  \        V P                  4      4       R R R 4       V P                  V n        V#   + '       g   i     L#; ir$   )r  r   r   r   r   r  r  r  r   floatr   r   r   s   &&&  r   r   PSBaseParser._parse_floatz  s    a#NNae#Nq6MGGAJ!a&   ,,OOE$..12 -'' -,s   %CC"	c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr     s"       # # r   c                   \         P                  W4      pV'       d.   VP                  ^ 4      pV ;P                  WV ,          un        M&V ;P                  WR ,          un        \	        V4      # V P                  R8X  d   RpM)V P                  R8X  d   RpM\        V P                  4      pV P                  V4       V P                  V n        V# )r   Ns   trueTs   falseF)	END_KEYWORDr   r   r   r   r   r   r   r   r'   r   r   r   r   tokens   &&&   r   r   PSBaseParser._parse_keyword  s    q$
ANNa!f$NNNae#Nq6M>>W$&*E^^x'E'E''r   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr     s"      u   r   c                   \         P                  W4      pV'       g'   V ;P                  WR  ,          un        \        V4      # VP	                  ^ 4      pV ;P                  WV ,          un        WV^,            pVR8X  d"   RV n        V P                  V n        V^,           # VR8X  d<   V ;P                  ^,          un        V ;P                  V,          un        V^,           # VR8X  dN   V ;P                  ^,          un        V P                  '       d#   V ;P                  V,          un        V^,           # V P                  V P                  4       V P                  V n        V^,           # )Nrk   r   ri   rj   )
END_STRINGr   r   r   r   oct_parse_string_1r   r   r   r   r   s   &&&   r   r   PSBaseParser._parse_string  s   a#NNae#Nq6MGGAJ!a& !a%L:DH//DLq5L9JJ!OJNNaNq5L9JJ!OJzzz!#1u'''1ur   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr     s"       3 3 r   c                   WV^,            p\         P                  V4      '       d=   \        V P                  4      ^8  d#   V ;P                  V,          un        V^,           # V P                  '       dm   \	        V P                  ^4      pVR8  g   Q RV P                  : RV R24       hV ;P
                  \        V34      ,          un        V P                  V n        V# V\        9   d0   V ;P
                  \        \        V,          34      ,          un        M>VR8X  d8   \        V4      V^,           8  d!   W^,           V^,            R8X  d
   V^,          pV P                  V n        V^,           # )z+Parse literal strings

PDF Reference 3.2.3
   zInvalid octal z ()r   r   )

OCT_STRINGr   r   r  r   r   r6   r   r   
ESC_STRING)r'   r   r   r   chrcodes   &&&  r   r  PSBaseParser._parse_string_1  s   
 !a%LA3txx=1#4HHMHq5LXXX$((A&GS=KN488,b	"KK=NNeWJ//N--DLH*_NNeZ]$455N%ZCFQUNqQQ/?5/H FA ))1ur   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr     s"      e   r   c                    WV^,            pVR8X  d2   V P                  \        4       V P                  V n        V^,          pV# V P                  V n        V# )r   r   )r   KEYWORD_DICT_BEGINr   r   _parse_hexstringr   s   &&& r   r   PSBaseParser._parse_wopen  sT    !a%L9OO./++DLFA   00DLr   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr     s"      u   r   c                    WV^,            pVR8X  d   V P                  \        4       V^,          pV P                  V n        V# )r   r   )r   KEYWORD_DICT_ENDr   r   r   s   &&& r   r   PSBaseParser._parse_wclose  s>    !a%L9OO,-FA''r   c                ,   < V ^8  d   QhRS[ RS[RS[/# r   r   )r   r    s   "r   r!   rr     s"      % C C r   c                   \         P                  W4      pV'       g'   V ;P                  WR  ,          un        \        V4      # VP	                  ^ 4      pV ;P                  WV ,          un        \
        P                  R \        P                  RV P                  4      4      pV P                  V4       V P                  V n
        V# )Nc                 L    \        \        V P                  ^ 4      ^4      34      # )r   )r6   r   group)r   s   &r   <lambda>/PSBaseParser._parse_hexstring.<locals>.<lambda>  s    eSR023r   r   )END_HEX_STRINGr   r   r   r   HEX_PAIRsubSPCr   r   r   r  s   &&&   r   r"  PSBaseParser._parse_hexstring  s    !!!'NNae#Nq6MGGAJ!a& 3GGC(
 	''r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r,   )r   r   r   )r   r    s   "r   r!   rr     s      5&7!78 r   c                *   V P                   '       d   \        R 4      hV P                  '       gm    V P                  4       pV'       d'   V P                  '       d   V P                  R^ 4       KQ  V P                  V P                  V P                  4      V n        K~  V P                  P                  ^ 4      p\        P                  RV: 24       V#   \         d6    T P                  R^ 4      T n        RT n         T P                  '       g   h  K  i ; i)r   r   Tznexttoken: )rt   r   r   r   r   r   r   r   popr   r   )r'   changed_streamr  s   &  r   	nexttokenPSBaseParser.nexttoken  s    888()),,,!%!dnnn LL*#'<<$,,#GDL   #		Ky)*    $||E15||| $s)   C 	C C /+C :DDD)r   r   r   r   r   r}   r   rt   rp   r   r  r   )NP   ) r   r   r   r   r   r   r(   r3   r   r   r   r   ru   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r"  r7  r   r7   r8   s   @r   rm   rm      s     GF 
Q Q  * *  	 	" ": 0, ,\6 6
 
 (  "
 
 $ 4 :    r   rm   ExtraTc                      a  ] tR tRt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )PSStackParseri  c                $   < V ^8  d   QhRS[ RR/# ro   rq   )r   r    s   "r   r!   PSStackParser.__annotate__  s      8  r   c                P    \         P                  W4       V P                  4        R # r$   )rm   r(   resetrv   s   &&r   r(   PSStackParser.__init__  s    d'

r   c                   < V ^8  d   QhRR/# r   r   )r   r    s   "r   r!   r>    s     6 6t 6r   c                >    . V n         R V n        . V n        . V n        R # r$   )contextcurtypecurstackresultsr~   s   &r   r@  PSStackParser.reset  s    QS#'4635r   c                $   < V ^8  d   QhRS[ RR/# r   r   )r   r    s   "r   r!   r>  #  s        r   c                P    \         P                  W4       V P                  4        R # r$   )rm   ru   r@  r   s   &&r   ru   PSStackParser.seek#  s    $$

r   c                4   < V ^8  d   QhRS[ S[,          RR/# r   objsr   NPSStackEntryr:  )r   r    s   "r   r!   r>  '  s      # #,v. #4 #r   c                <    V P                   P                  V4       R # r$   )rF  extendr'   rN  s   &*r   pushPSStackParser.push'  s    T"r   c                F   < V ^8  d   QhRS[ RS[S[S[,          ,          /# )r   r   r   )r   listrP  r:  )r   r    s   "r   r!   r>  *  s%      S T,v"67 r   c                F    V P                   V) R  p. V P                   V) R % V# r$   rF  )r'   r   rN  s   && r   r5  PSStackParser.pop*  s+    }}aRS!qbcr   c                @   < V ^8  d   QhRS[ S[S[,          ,          /# r,   )rW  rP  r:  )r   r    s   "r   r!   r>  /  s      \&12 r   c                ,    V P                   p. V n         V# r$   rY  rS  s   & r   popallPSStackParser.popall/  s    }}r   c                4   < V ^8  d   QhRS[ S[,          RR/# rM  rO  )r   r    s   "r   r!   r>  4  s      " "f!5 "$ "r   c                     \         P                  R V: 24       V P                  P	                  V4       R#   \         d    \         P                  R4        L?i ; i)zadd_results: z!add_results: (unprintable object)N)r   r   r   rG  rR  rS  s   &*r   add_resultsPSStackParser.add_results4  sL    	;IIdX./ 	D!  	;II9:	;s   8  AAc                *   < V ^8  d   QhRS[ RS[RR/# )r   r   rG   r   N)r   r.   )r   r    s   "r   r!   r>  ;  s"     = =c = = =r   c                    V P                   P                  WP                  V P                  34       V. uV n        V n        \        P                  R V: RV: 24       R# )zstart_type: pos=, type=N)rD  r   rE  rF  r   r   )r'   r   rG   s   &&&r   
start_typePSStackParser.start_type;  sK    S,,>?)-r%t}		$SG74(;<r   c                \   < V ^8  d   QhRS[ RS[S[S[S[S[,          ,          3,          /# )r   rG   r   )r.   r   r   rW  PSStackTyper:  )r   r    s   "r   r!   r>  @  s/      S U3[5H0I+I%J r   c                >   V P                   V8w  d   \        R V P                   : RV: 24      hV P                   UUu. uF  w  r#VNK	  	  pppV P                  P	                  4       w  qPn         V n        \
        P                  RV: RV: RV: 24       WT3# u uppi )zType mismatch: z != zend_type: pos=re  z, objs=)rE  r^   rF  rD  r5  r   r   )r'   rG   _r   rN  r   s   &&    r   end_typePSStackParser.end_type@  s    <<4/?tD8LMM$(MM2MM2-1\\-=-=-?*lDM		N3'xHI{ 3s   Bc                *   < V ^8  d   QhRS[ RS[RR/# )r   r   r  r   N)r   r:   )r   r    s   "r   r!   r>  H  s"      c )  r   c                    R # r$   r   )r'   r   r  s   &&&r   
do_keywordPSStackParser.do_keywordH  r   r   c                0   < V ^8  d   QhRS[ S[,          /# r,   rO  )r   r    s   "r   r!   r>  K  s     I IL0 Ir   c           	        V P                   '       EgT   V P                  4       w  r\        V\        \        \
        \        \        \        34      '       d   V P                  W34       EMV\        8X  d   V P                  VR4       EMV\        8X  d$    V P                  V P                  R4      4       EMV\"        8X  d   V P                  VR4       EMiV\$        8X  d    V P                  R4      w  r\'        V4      ^,          ^ 8w  d   RV: 2p\)        V4      h\+        ^V4       UUu/ uF  w  rVVf   K  \-        V4      VbK  	  pppV P                  W34       MV\.        8X  d   V P                  VR4       MV\0        8X  d#    V P                  V P                  R4      4       M\        V\2        4      '       d>   \4        P7                  RV: RV: RV P8                  : 24       V P;                  W4       MB\4        P=                  RV: RV: RV P8                  : 24       V P;                  W4       \>        hV P@                  '       d   EKS  V PC                  4        EKf  V P                   PE                  ^ 4      p \4        P7                  R	V: 24       V#   \         d    \        P                   '       d   h  Li ; iu uppi   \         d    \        P                   '       d   h  Li ; i  \         d    \        P                   '       d   h  Li ; i  \F         d    \4        P7                  R
4        T# i ; i)zYields a list of objects.

Arrays and dictionaries are represented as Python lists and
dictionaries.

:return: keywords, literals, strings, numbers, arrays and dictionaries.
adzInvalid dictionary construct: pzdo_keyword: pos=z, token=z, stack=zunknown token: pos=znextobject: z nextobject: (unprintable object))$rG  r7  r[   r   r	  r   r.   r6   r   rT  KEYWORD_ARRAY_BEGINrf  KEYWORD_ARRAY_ENDrl  r^   r
   r]   r!  r&  r   PSSyntaxErrorr   r_   KEYWORD_PROC_BEGINKEYWORD_PROC_ENDr:   r   r   rF  rp  errorPSExceptionrD  r   r5  r   )	r'   r   r  rN  	error_msgkvru  r   s	   &        r   
nextobjectPSStackParser.nextobjectK  s    ,,,>>+LS%#udC	!JKK		3,'--S)++IIdmmC01 ,,S)**"&--"4KS4y1})&DTH$M	+I66 '/q$&7&7FQ +Q*&7  
 IIsh' ,,S)**IIdmmC01 E9--		&sgXeYht}}FWX +		)# 1"IXdmm->@ +!!|||

llq!	:IISG,- 
k #  ' #  ' #  ',  	:II89
	:ss    J "A
K ,K9K	K 	 K4 L  K?KKK  K1-K10K14 LLL M ?M )rD  rF  rE  rG  N)r   r   r   r   r(   r@  ru   rT  r5  r]  ra  rf  rl  rp  r  r   r7   r8   s   @r   r<  r<    su      6 6 # # 
 
" "= =
  I Ir   r<  )Fr  r   loggingrecollections.abcr   typingr   r   r   r   r   pdfminerr	   r
   pdfminer.utilsr   	getLoggerr   r   r}  r   ry  r^   PSValueErrorr   r   r:   rB   rD   PSLiteralTablePSKeywordTablerP   r   r   rz  r{  rw  rx  r!  r&  r_   rc   compiler   r1  r   r   r   r.  r/  r  r  r  r  r  r	  r   r6   r   rm   r:  r.   rW  rK   ri  r   r   rP  r<  r   r   r   <module>r     sx    	  	 $  , #! &&**&&((; ; , & :y)4GH% * y)y)Y t9 $i I Z u:  	jjjj	F	jj!jj././::*+ZZ
#
jj./ZZ%
ZZ	"
!!"""""	2	
 %y)UBC g g` 
	iS	4S>6I S+f--.|L'&/ |r   