Ë
    ìì�iº#  ã                   óp  — 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	 d dl
mZ d dlmZmZ d dlmZmZ d dlmZmZmZmZ d dlmZ d d	lmZmZ  e eed
«      «      Zd„ Zdd„Z d„ Z!dd„Z"	 	 dd„Z# e	d«      Z$ e	d«      Z%	 	 dd„Z&	 	 dd„Z'd„ Z(e)dk(  r# e jT                   e(e jV                  «      «       yy)é    N)ÚStringIO)Ú	PSKeywordÚ	PSLiteralÚLIT)Ú	PDFParser)ÚPDFDocumentÚPDFNoOutlines)ÚPDFObjectNotFoundÚPDFValueError)Ú	PDFStreamÚ	PDFObjRefÚresolve1Ústream_value)ÚPDFPage)ÚisnumberÚqz&<>"c                 óÈ   — t        «       }| D ]D  }|dk  sd|k  s|t        v r|j                  d|› d�«       Œ+|j                  t        |«      «       ŒF |j	                  «       S )Né    é   z&#ú;)r   ÚESCAPEÚwriteÚchrÚgetvalue)ÚdataÚbufÚbs      úy/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/../../../bin/dumppdf.pyÚencoder      s]   € Ü
‹*€CØò ˆØˆrŠ6�S˜A’X ¤f¡Ø�I‰I˜˜1˜#˜Q�iÕ à�I‰I”c˜!“fÕð	ð
 �<‰<‹>Ðó    c                 óî  — |€| j                  d«       y t        |t        «      r‰| j                  dt        |«      z  «       |j	                  «       D ]G  \  }}| j                  d|z  «       | j                  d«       t        | |«       | j                  d«       ŒI | j                  d«       y t        |t        «      rS| j                  dt        |«      z  «       |D ]  }t        | |«       | j                  d«       Œ! | j                  d	«       y t        |t        «      r)| j                  d
t        |«      t        |«      fz  «       y t        |t        «      rå|dk(  r*| j                  j                  |j                  «       «       y |dk(  r*| j                  j                  |j                  «       «       y | j                  d«       t        | |j                  «       | j                  d«       |dk(  r8|j                  «       }| j                  dt        |«      t        |«      fz  «       | j                  d«       y t        |t        «      r| j                  d|j                  z  «       y t        |t         «      r| j                  d|j"                  z  «       y t        |t$        «      r| j                  d|j"                  z  «       y t'        |«      r| j                  d|z  «       y t)        |«      ‚)Nz<null />z<dict size="%d">
z<key>%s</key>
z<value>z	</value>
z</dict>z<list size="%d">
ú
z</list>z<string size="%d">%s</string>ÚrawÚbinaryz<stream>
<props>
z

</props>
Útextz<data size="%d">%s</data>
z	</stream>z<ref id="%d" />z<keyword>%s</keyword>z<literal>%s</literal>z<number>%s</number>)r   Ú
isinstanceÚdictÚlenÚitemsÚdumpxmlÚlistÚbytesr   r   ÚbufferÚget_rawdataÚget_dataÚattrsr   Úobjidr   Únamer   r   Ú	TypeError)ÚoutÚobjÚmodeÚkÚvr   s         r   r*   r*       sa  € Ø
€{Ø�	‰	�*ÔØä�#”tÔØ�	‰	Ð&¬¨S«Ñ1Ô2Ø—Y‘Y“[ò 	$‰EˆQˆqØ�I‰IÐ'¨!Ñ+Ô,Ø�I‰I�iÔ Ü�C˜ŒOØ�I‰I�lÕ#ð		$ð
 	�	‰	�)ÔØä�#”tÔØ�	‰	Ð&¬¨S«Ñ1Ô2Øò 	ˆAÜ�C˜ŒOØ�I‰I�d�Oð	ð 	�	‰	�)ÔØä�#”uÔØ�	‰	Ð1´S¸³X¼vÀc»{Ð4KÑKÔLØä�#”yÔ!Ø�5Š=Ø�J‰J×Ñ˜SŸ_™_Ó.Ô/ð 	ð �XÒØ�J‰J×Ñ˜SŸ\™\›^Ô,ð 	ð �I‰IÐ+Ô,Ü�C˜Ÿ™Ô#Ø�I‰I�nÔ%Ø�vŠ~Ø—|‘|“~�Ø—	‘	Ð7¼3¸t»9ÄfÈTÃlÐ:SÑSÔTØ�I‰I�kÔ"Øä�#”yÔ!Ø�	‰	Ð# c§i¡iÑ/Ô0Øä�#”yÔ!Ø�	‰	Ð)¨C¯H©HÑ4Ô5Øä�#”yÔ!Ø�	‰	Ð)¨C¯H©HÑ4Ô5Øä�„}Ø�	‰	Ð'¨#Ñ-Ô.Øä
�C‹.Ðr    c                 ó–   — |j                   D ]:  }| j                  d«       t        | |j                  «       | j                  d«       Œ< y )Nz
<trailer>
z
</trailer>

)Úxrefsr   r*   Útrailer)r4   ÚdocÚxrefs      r   Údumptrailersr>   ]   sA   € Ø—	‘	ò &ˆØ�	‰	�-Ô Ü��T—\‘\Ô"Ø�	‰	Ð$Õ%ð&ð r    c                 óä  — t        «       }| j                  d«       |j                  D ]u  }|j                  «       D ]`  }||v rŒ|j	                  |«       	 |j                  |«      }|€Œ.| j                  d|z  «       t        | ||¬«       | j                  d«       Œb Œw t        | |«       | j                  d«       y # t        $ r(}t        d|›�t        j                  ¬«       Y d }~Œ¯d }~ww xY w)Nz<pdf>z<object id="%d">
©r6   z
</object>

znot found: ©Úfilez</pdf>)Úsetr   r:   Ú
get_objidsÚaddÚgetobjr*   r
   ÚprintÚsysÚstderrr>   )r4   r<   r6   Úvisitedr=   r1   r5   Úes           r   ÚdumpallobjsrL   e   sÞ   € Ü‹e€GØ‡I�IˆgÔØ—	‘	ò <ˆØ—_‘_Ó&ò 
	<ˆEØ˜Ñ Ø�K‰K˜Ôð<Ø—j‘j Ó'�Ø�; Ø—	‘	Ð.°Ñ6Ô7Ü˜˜S tÕ,Ø—	‘	Ð+Õ,ñ
	<ð<ô ��cÔØ‡I�IˆhÔØ
øô	 %ò <Ü˜ A 5Ð)´·
±
×;Ò;ûð<ús   ÁB>Á)3B>Â>	C/ÃC*Ã*C/c           
      ó¶  ‡— t        |d«      5 }t        |«      }	t        |	|«      Št        d„ t	        t        j                  ‰«      «      D «       «      }
ˆfd„}	 ‰j                  «       }| j                  d«       |D �]  \  }}}}}d }|r ||«      }|
|d   j                     }nq|ro|j                  «       }t        |t        «      rO|j                  d«      }|r<t        |«      dk(  r.|j                  d«      r ||d   «      }|
|d   j                     }| j                  d	|›d
t        t        «      ›d�«       |�.| j                  d«       t!        | |«       | j                  d«       |�| j                  d|z  «       | j                  d«       �Œ | j                  d«       |	j%                  «        d d d «       y # t"        $ r Y Œ$w xY w# 1 sw Y   y xY w)NÚrbc              3   ó>   K  — | ]  \  }}|j                   |f–— Œ y ­w©N)Úpageid)Ú.0ÚpagenoÚpages      r   ú	<genexpr>zdumpoutline.<locals>.<genexpr>~   s#   è ø€ ò @±°¸�t—{‘{ FÔ+ñ @ùs   ‚c                 óð   •— t        | t        «      rt        ‰j                  | «      «      } n4t        | t        «      r$t        ‰j                  | j
                  «      «      } t        | t        «      r| d   } | S )NÚD)r&   Ústrr   Úget_destr   r2   r'   )Údestr<   s    €r   Úresolve_destz!dumpoutline.<locals>.resolve_dest€   sY   ø€ Ü˜$¤Ô$Ü §¡¨TÓ 2Ó3‘Ü˜D¤)Ô,Ü §¡¨T¯Y©YÓ 7Ó8�Ü˜$¤Ô%Ø˜C‘y�ØˆKr    z<outlines>
r   ÚSz/GoTorW   z<outline level="z	" title="z">
z<dest>z</dest>
z<pageno>%r</pageno>
z</outline>
z</outlines>
)Úopenr   r   r'   Ú	enumerater   Úcreate_pagesÚget_outlinesr   r1   Úresolver&   ÚgetÚreprr   Úsr*   r	   Úclose)ÚoutfpÚfnameÚobjidsÚpagenosÚpasswordÚdumpallr6   Ú
extractdirÚfpÚparserÚpagesr[   ÚoutlinesÚlevelÚtitlerZ   ÚaÚserS   ÚactionÚsubtyper<   s                        @r   Údumpoutlinerw   y   s¹  ø€ ä	ˆe�TÓ	ð '˜bÜ˜2“ˆÜ˜& (Ó+ˆÜñ @Ü"¤7×#7Ñ#7¸Ó#<Ó=ô@ó @ˆô	ð	Ø×'Ñ'Ó)ˆHØ�K‰K˜Ô'Ø+3ó ,Ñ'��u˜T ! BØ�ÙÙ'¨Ó-�DØ" 4¨¡7§=¡=Ñ1‘FÙØŸY™Y›[�FÜ! &¬$Ô/Ø"(§*¡*¨S£/˜Ù"¤t¨G£}¸Ò'?ÀFÇJÁJÈsÄOÙ#/°°s±Ó#<˜DØ%*¨4°©7¯=©=Ñ%9˜FØ—’Â5Ì!ÌAÍ$ÐOÔPØÐ#Ø—K‘K Ô)Ü˜E 4Ô(Ø—K‘K Ô,ØÐ%Ø—K‘KÐ 7¸&Ñ @ÔAØ—‘˜NÖ+ð',ð( �K‰K˜Ô(ð 	�‰Œ÷O'ðP øô ò 	Ùð	ú÷K'ðP ús1   ŽAGÁEG Æ'GÇ 	GÇ	GÇGÇGÇGÚFilespecÚEmbeddedFilec                 óV  ‡‡— ˆˆfd„}t        |d«      5 }	t        |	«      }
t        |
|«      Š‰j                  D ]Y  }|j	                  «       D ]D  }‰j                  |«      }t        |t        «      sŒ%|j                  d«      t        u sŒ= ||«       ŒF Œ[ 	 d d d «       y # 1 sw Y   y xY w)Nc                 óz  •— t         j                  j                  | d   xs | d   «      }| d   d   }‰j                  |j                  «      }t        |t        «      st        d|z  «      ‚|j                  d«      t        urt        d|z  «      ‚t         j                  j                  ‰|«      }t         j                  j                  |«      rt        d|z  «      ‚t        d|›�t        j                  ¬	«       t!        |d
«      5 }|j#                  |j%                  «       «       d d d «       y # 1 sw Y   y xY w)NÚUFÚFÚEFz:unable to process PDF: reference for %r is not a PDFStreamÚTypez>unable to process PDF: reference for %r is not an EmbeddedFilezfile exists: %rzextracting: rA   Úwb)ÚosÚpathÚbasenamerF   r1   r&   r   r   rb   ÚLITERAL_EMBEDDEDFILEÚjoinÚexistsÚIOErrorrG   rH   rI   r]   r   r/   )r5   ÚfilenameÚfilerefÚfileobjr‚   r4   r<   rl   s         €€r   Úextract1z!extractembedded.<locals>.extract1ª   s  ø€ Ü—7‘7×#Ñ# C¨¡IÒ$9°°S±Ó:ˆØ�d‘)˜C‘.ˆØ—*‘*˜WŸ]™]Ó+ˆÜ˜'¤9Ô-ÜØLØñóð ð �;‰;�vÓÔ&:Ñ:ÜØPØñóð ô �w‰w�|‰|˜J¨Ó1ˆÜ�7‰7�>‰>˜$ÔÜÐ+¨dÑ2Ó3Ð3Ü�˜T˜HÐ%¬C¯J©JÕ7Ü�$˜Óð 	* Ø�I‰I�g×&Ñ&Ó(Ô)÷	*à÷	*àús   Ä D1Ä1D:rN   r   )
r]   r   r   r:   rD   rF   r&   r'   rb   ÚLITERAL_FILESPEC)rf   rg   rh   ri   rj   rk   r6   rl   r‹   rm   rn   r=   r1   r5   r<   s          `      @r   Úextractembeddedr�   ¨   s�   ù€ õô( 
ˆe�TÓ	ð "˜bÜ˜2“ˆÜ˜& (Ó+ˆØ—I‘Iò 	"ˆDØŸ™Ó*ò "�Ø—j‘j Ó'�Ü˜c¤4Õ(¨S¯W©W°V«_Ô@PÒ-PÙ˜S•Mñ"ñ	"÷"ð ÷"ð ús   •ABÁ1BÂ	BÂB(c                 ó  — t        |d«      5 }t        |«      }	t        |	|«      }
|r&|D ]!  }|
j                  |«      }t	        | ||¬«       Œ# |rnt        t        j                  |
«      «      D ]M  \  }}||v sŒ|�+|j                  D ]  }t        |«      }t	        | ||¬«       Œ Œ8t	        | |j                  «       ŒO |rt        | |
|¬«       |s|s|st        | |
«       |dvr| j                  d«       d d d «       y # 1 sw Y   y xY w)NrN   r@   )r#   r$   r"   )r]   r   r   rF   r*   r^   r   r_   Úcontentsr   r0   rL   r>   r   )rf   rg   rh   ri   rj   rk   r6   rl   rm   rn   r<   r1   r5   rS   rT   s                  r   Údumppdfr�   É   s  € ä	ˆe�TÓ	ð ˜bÜ˜2“ˆÜ˜& (Ó+ˆÙØò /�Ø—j‘j Ó'�Ü˜˜s¨Ö.ð/ñ Ü!*¬7×+?Ñ+?ÀÓ+DÓ!Eò 3‘�˜Ø˜WÒ$ØÐ'Ø#'§=¡=ò ;˜CÜ".¨sÓ"3˜CÜ# E¨3°TÖ:ñ;ô    t§z¡zÕ2ð3ñ Ü˜˜s¨Õ.Ù¡±7Ü˜ Ô$ØÐ'Ñ'Ø�K‰K˜Ô÷+ð, ÷-ð, ús   �A*C=Á8A<C=Ã=Dc                 óê  ‡ — dd l }ˆ fd„}	 |j                  ‰ dd  d«      \  }}|s |«       S d}g }t        «       }d }d}	d}
t        }t        j
                  }d }|D ]Í  \  }}|dk(  r|dz  }Œ|dk(  r|j                  d	«      }	Œ(|d
k(  rd}
Œ0|dk(  r(|j                  d„ |j                  d«      D «       «       Œ]|dk(  r(|j                  d„ |j                  d«      D «       «       ŒŠ|dk(  rt        |d«      }Œœ|dk(  rd}Œ¤|dk(  rd}Œ¬|dk(  rd}Œ´|dk(  rt        }ŒÀ|dk(  sŒÆ|}t        }ŒÏ |t        _        |t        _        |D ]  } ||||||	|
||¬«       Œ y # |j                  $ r
  |«       cY S w xY w)Nr   c                  ó*   •— t        d‰ d   › d�«       y)Nzusage: r   zi [-P password] [-a] [-p pageid] [-i objid] [-o output] [-r|-b|-t] [-T] [-O output_dir] [-d] input.pdf ...éd   )rG   )Úargvs   €r   Úusagezmain.<locals>.usageç   s%   ø€ Ü�˜˜Q™�yð !Dð Dô 	Eàr    é   zdP:ap:i:o:rbtTO:r    Fz-dz-PÚasciiz-aTz-pc              3   ó8   K  — | ]  }t        |«      d z
  –— Œ y­w)r–   N©Úint©rR   Úxs     r   rU   zmain.<locals>.<genexpr>ý   s   è ø€ Ò&H°Q¬¨A«¨q­Ñ&Hùs   ‚ú,z-ic              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrP   r™   r›   s     r   rU   zmain.<locals>.<genexpr>þ   s   è ø€ Ò%E°!¤s¨1§vÑ%Eùs   ‚z-or€   z-rr#   z-br$   z-tr%   z-Tz-O)rj   rk   r6   rl   )ÚgetoptÚGetoptErrorrC   r�   rH   Ústdoutr   ÚupdateÚsplitÚextendr]   rw   r�   r   Údebugr   )r”   rŸ   r•   ÚoptsÚargsr¥   rh   ri   r6   rj   rk   Úprocrf   rl   r7   r8   rg   s   `                r   Úmainr©   å   s˜  ø€ ÛôðØ—}‘} T¨!¨" XÐ/AÓB‰ˆˆtñ ™›�Ø€EØ€FÜ‹e€GØ€DØ€HØ€GÜ€DÜ�J‰J€EØ€JØò #‰ˆˆAØ�Š9�e˜q‘j‘eØ�$ŠY 1§8¡8¨GÓ#4™Ø�$ŠY $™Ø�$ŠY˜Ÿ™Ñ&H¸!¿'¹'À#»,Ô&HÕHØ�$ŠY˜Ÿ™Ñ%E°q·w±w¸s³|Ô%EÕEØ�$ŠY¤ Q¨£™Ø�$ŠY˜u™Ø�$ŠY˜x™Ø�$ŠY˜v™Ø�$ŠYœ{™Ø�$‹YØˆJÜ"‰Dð#ð „KÔØ„I„Oàò @ˆÙˆU�E˜6 7°XØ 4°Jö	@ð@ð øðC ×Ñò Ù‹wŠðús   ŒE ÅE2Å1E2Ú__main__rP   )r    FNN),rH   Úos.pathr�   ÚreÚior   Úpdfminer.psparserr   r   r   Úpdfminer.pdfparserr   Úpdfminer.pdfdocumentr   r	   Úpdfminer.pdftypesr
   r   r   r   r   r   Úpdfminer.pdfpager   Úpdfminer.utilsr   r   rC   ÚmapÚordr   r   r*   r>   rL   rw   rŒ   r„   r�   r�   r©   Ú__name__Úexitr”   © r    r   ú<module>r¹      s¹   ð÷ Ó Ý ß 7Ñ 7Ý (ß ;ß >ß JÓ JÝ $ß &ñ 
‰S��fÓÓ	€òó:òzóð( 9<Ø59ó*ñZ �z“?Ð Ù˜>Ó*Ð Ø<?Ø9=óðB 58Ø15óò8)ðV ˆzÒ˜8˜3Ÿ8™8¡D¨¯©£NÕ3Ðr    