+
    f0i              
       0   ^ RI t ^ RIHt ^ RIHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHt ^ RIHt ^ R	IHtHtHt ]'       d   ^ R
IHt ] P4                  ! ]4      t ! R R]4      t ! R R]]]]]R3,          ,          4      t ! R R]4      tR# )    N)BytesIO)TYPE_CHECKINGBinaryIOUnion)settings)safe_int)PDFException)	PDFObjRef	PDFStream
dict_value	int_value)PSEOF)KWD	PSKeywordPSStackParser)PDFDocumentc                       ] tR t^tRtR# )PDFSyntaxError N)__name__
__module____qualname____firstlineno____static_attributes__r       X/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pdfminer/pdfparser.pyr   r      s    r   r   c                      a  ] tR t^t o RtV 3R lR ltV 3R lR lt]! R4      t]! R4      t	]! R4      t
]! R	4      t]! R
4      t]! R4      tV 3R lR ltRtV tR# )	PDFParserar  PDFParser fetch PDF objects from a file stream.
It can handle indirect references by referring to
a PDF document set by set_document method.
It also reads XRefs at the end of every PDF file.

Typical usage:
  parser = PDFParser(fp)
  parser.read_xref()
  parser.read_xref(fallback=True) # optional
  parser.set_document(doc)
  parser.seek(offset)
  parser.nextobject()

c                $   < V ^8  d   QhRS[ RR/# )   fpreturnN)r   )format__classdict__s   "r   __annotate__PDFParser.__annotate__'   s      8  r   c                N    \         P                  ! W4       R V n        RV n        R # )NF)r   __init__docfallback)selfr!   s   &&r   r(   PDFParser.__init__'   s    t('+r   c                "   < V ^8  d   QhRRRR/# )r    r)   r   r"   Nr   )r#   r$   s   "r   r%   r&   ,   s       $ r   c                    Wn         R# )z0Associates the parser with a PDFDocument object.N)r)   )r+   r)   s   &&r   set_documentPDFParser.set_document,   s    r      Rs   nulls   endobjs   streams   xrefs	   startxrefc                *   < V ^8  d   QhRS[ RS[RR/# r    postokenr"   Nintr   )r#   r$   s   "r   r%   r&   7   s'     J$ J$c J$) J$ J$r   c                   W P                   V P                  39   d"   V P                  ! V P                  ^4      !   R# W P                  J d"   V P                  ! V P                  ^4      !   R# W P
                  J d   V P                  VR34       R# W P                  J dn   \        V P                  4      ^8  dR   V P                  ^4      w  w  r4p\        V4      pVe+   \        V P                  V4      pV P                  W34       R# R# R# W P                  J Ed   V P                  ^4      w  w  r7\        V4      p^ pV P                  '       g    \!        VR,          4      pV P+                  V4        V P-                  4       w  r:T\        T
4      ,          pT P0                  P+                  T4       \3        T P0                  P5                  T4      4      pT P+                  Y,           4         T P-                  4       w  rRT
9   d8   T
P7                  R4      pY,          pT P                  '       d   YRT ,          pM0T\        T
4      ,          pT P                  '       g   Kx  Y,          pK  T P+                  Y,           4       \8        P;                  RTTTTR,          4       T P                  f   Q h\=        T\?        T4      T P                  P@                  4      pT P                  Y34       R# V P                  W34       R#   \"         d2   p	\$        P&                  '       d   \)        RT: 24      T	h Rp	?	ELRp	?	ii ; i  \.         d.   p	\$        P&                  '       d   \)        R4      T	h Rp	?	R# Rp	?	ii ; i  \.         d/   p	\$        P&                  '       d   \)        R4      T	h Rp	?	EKG  Rp	?	ii ; i)zHandles PDF-related keywords.NLengthz/Length is undefined: zUnexpected EOFs	   endstreamz-Stream: pos=%d, objlen=%d, dic=%r, data=%r...:N
   N)!KEYWORD_XREFKEYWORD_STARTXREFadd_resultspopKEYWORD_ENDOBJKEYWORD_NULLpush	KEYWORD_Rlencurstackr   r
   r)   KEYWORD_STREAMr   r*   r   KeyErrorr   STRICTr   seeknextliner   r!   	bytearrayreadindexlogdebugr   bytesdecipher)r+   r4   r5   _
_object_id	object_idobjdicobjlenerrlinedata_lineposistreams   &&&            r   
do_keywordPDFParser.do_keyword7   s   &&(>(>??dhhqk*)))dhhqk*'''IIsDk"nn$4==!Q&%)XXa["$Z0	(#DHHi8CIIsj) ) ' )))((1+KXaS/CF===X&s8}5F IIcN MMO	
 3t9CGGLLTWW\\&12DIIcl#'+}}$X
  4'

<0AKF}}}Ra(#d)#===LDIIcl#II?S	 88'''sE$K1B1BCFIIsm$ IIsl#[   X,/EcW-MNTWW 'X  ???()9:C  ,-=>CGsH   L 7M 3N M&MMN"M>>NN?"N::N?)r)   r*   N)r   r   r   r   __doc__r(   r/   r   rB   r@   r?   rE   r;   r<   r]   r   __classdictcell__r$   s   @r   r   r      sd      
  D	Iw<L^N^Nw<LL)J$ J$r   r   c                   j   a  ] tR t^t o RtV 3R lR ltV 3R lR lt]! R4      tV 3R lR lt	R	t
V tR
# )PDFStreamParsera  PDFStreamParser is used to parse PDF content streams
that is contained in each page and has instructions
for rendering the page. A reference to a PDF document is
needed because a PDF content stream can also have
indirect references to other objects in the same document.
c                $   < V ^8  d   QhRS[ RR/# )r    rY   r"   N)rO   )r#   r$   s   "r   r%   PDFStreamParser.__annotate__   s     0 0U 0t 0r   c                D    \         P                  V \        V4      4       R # N)r   r(   r   )r+   rY   s   &&r   r(   PDFStreamParser.__init__   s    4/r   c                   < V ^8  d   QhRR/# )r    r"   Nr   )r#   r$   s   "r   r%   re      s     ) )t )r   c                B    V P                   ! V P                  4       !   R # rg   )r=   popall)r+   s   &r   flushPDFStreamParser.flush   s    $++-(r   s   objc                *   < V ^8  d   QhRS[ RS[RR/# r3   r6   )r#   r$   s   "r   r%   re      s"        c  )    r   c                d   W P                   J dP   V P                  ^4      w  w  r4p\        V4      pVe)   \        V P                  V4      pV P                  W34       R# W P                  V P                  39   d$   \        P                  '       d   \        R4      hR# V P                  W34       R# )r    NzKeyword endobj found in stream)rB   r>   r   r
   r)   rA   KEYWORD_OBJr?   r   rG   r   )r+   r4   r5   rQ   rR   rS   rT   s   &&&    r   r]   PDFStreamParser.do_keyword   s    NN"!%!OQQ ,I$)4		3*%'')<)<== %%EFF 			3,r   r   N)r   r   r   r   r_   r(   rl   r   rp   r]   r   r`   ra   s   @r   rc   rc      s3     0 0) ) f+K   r   rc   ) loggingior   typingr   r   r   pdfminerr   pdfminer.castingr   pdfminer.pdfexceptionsr	   pdfminer.pdftypesr
   r   r   r   pdfminer.psexceptionsr   pdfminer.psparserr   r   r   pdfminer.pdfdocumentr   	getLoggerr   rM   r   r   rc   r   r   r   <module>r}      sy      1 1  % / I I ' ; ;0!	\ 	
j$eIy)T$IJK j$Z" i " r   