+
    ‡Ÿxj�  ã                  óÂ   € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 Rt
 ! R R4      tR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR# )é    )ÚannotationsN)ÚPath)ÚAnyÚPDFToDOCXOCRc                  ór   € ] tR t^tRt]R R l4       t]R R l4       t]R R l4       t]R R	 l4       t	R
t
R# )ÚCoordinateMapperzDCentralized conversion between normalized, view and PDF coordinates.c               ó4   € V ^8„  d   QhRRRRRRRRRRRRRR	/# ©
é   ÚxÚfloatÚyÚwidthÚheightÚ
page_widthÚpage_heightÚreturnú!tuple[float, float, float, float]© )Úformats   "Ú@/home/ahrirg/test/pdf-to-docx-semi-manual-convertor/app/utils.pyÚ__annotate__ÚCoordinateMapper.__annotate__   sN   € ÷ 
ñ 
Øð
àð
ð ð
ð ð	
ð
 ð
ð ð
ð 
+ñ
ó    c                	óp   € V^ 8:  g   V^ 8:  d   \        R4      hW,          W,          W$,          W5,          3# )r   z!Page dimensions must be positive.©Ú
ValueError©r   r   r   r   r   r   s   &&&&&&r   Úpdf_to_normalizedÚ"CoordinateMapper.pdf_to_normalized   s@   € ð ˜Œ?˜k¨QÔ.ÜÐ@ÓAÐAð �NØ�OØÕØÕ ð	
ð 	
r   c               ó4   € V ^8„  d   QhRRRRRRRRRRRRRR	/# r
   r   )r   s   "r   r   r   $   sN   € ÷ 
ñ 
Øð
àð
ð ð
ð ð	
ð
 ð
ð ð
ð 
+ñ
r   c                	ó>   € W,          W,          W$,          W5,          3# ©Nr   r   s   &&&&&&r   Únormalized_to_pdfÚ"CoordinateMapper.normalized_to_pdf#   s$   € ð �NØ�OØÕØÕ ð	
ð 	
r   c               ó<   € V ^8„  d   QhRRRRRRRRRRRRRRR	RR
R/	# ©r   r   r   r   r   r   Ú	page_leftÚpage_topr   r   r   r   r   )r   s   "r   r   r   4   sb   € ÷ 
ñ 
Øð
àð
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð ð
ð 
+ñ
r   c                	óZ   € W@V,          ,           WQV,          ,           W&,          W7,          3# r#   r   ©r   r   r   r   r(   r)   r   r   s   &&&&&&&&r   Únormalized_to_viewÚ#CoordinateMapper.normalized_to_view3   s.   € ð ˜J�Õ&Ø˜;•Õ&ØÕØÕ ð	
ð 	
r   c               ó<   € V ^8„  d   QhRRRRRRRRRRRRRRR	RR
R/	# r'   r   )r   s   "r   r   r   F   sb   € ÷ 
ñ 
Øð
àð
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð ð
ð 
+ñ
r   c                	óŒ   € V^ 8:  g   V^ 8:  d   \        R4      hW,
          V,          W,
          V,          W&,          W7,          3# )r   z&View page dimensions must be positive.r   r+   s   &&&&&&&&r   Úview_to_normalizedÚ#CoordinateMapper.view_to_normalizedE   sJ   € ð ˜Œ?˜k¨QÔ.ÜÐEÓFÐFð �]˜jÕ(Ø�\˜[Õ(ØÕØÕ ð	
ð 	
r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ústaticmethodr   r$   r,   r0   Ú__static_attributes__r   r   r   r   r      sS   † ÙNàô
ó ð
ð$ ô
ó ð
ð ô
ó ð
ð" ô
ó ô
r   r   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r   [   s   € ÷ ñ ˜dñ r   c                 ó  € \         P                  P                  R 4      '       d>   \        \        P
                  P                  R\        P                  ! 4       4      4      p M|\         P                  R8X  d%   \        P                  ! 4       R,          R,          p MC\        \        P
                  P                  R\        P                  ! 4       R,          4      4      p V \        ,          pVP                  RRR7       V# )	ÚwinÚAPPDATAÚdarwinÚLibraryzApplication SupportÚXDG_CONFIG_HOMEz.configT©ÚparentsÚexist_ok)
ÚsysÚplatformÚ
startswithr   ÚosÚenvironÚgetÚhomeÚAPP_NAMEÚmkdir)ÚrootÚpaths     r   Úapplication_data_dirrO   [   s£   € Ü
‡|�|×Ñ˜u×%Ò%Ü”B—J‘J—N‘N 9¬d¯iªi«kÓ:Ó;‰Ü	�‰˜Ô	!Ü�yŠy‹{˜YÕ&Ð)>Õ>‰äÜ�J‰J�N‰NØ!Ü—	’	“˜iÕ'óó
ˆð ”(�?€DØ‡J�J�t d€JÔ+Ø€Kr   c               ó   € V ^8„  d   QhRR/# r:   r   )r   s   "r   r   r   m   s   € ÷ ñ �ñ r   c                 óN   € \        4       R ,          p V P                  RRR7       V # )ÚlogsTrA   )rO   rL   ©rN   s    r   Úlog_dirrT   m   s$   € ÜÓ! FÕ*€DØ‡J�J�t d€JÔ+Ø€Kr   c               ó   € V ^8„  d   QhRR/# )r   r   ÚNoner   )r   s   "r   r   r   s   s   € ÷ ñ ˜4ñ r   c            	     óÎ   € \        4       R ,          p \        P                  ! \        P                  R\        P                  ! V RR7      \        P
                  ! 4       .RR7       R# )zapplication.logzE%(asctime)s | %(levelname)s | %(name)s | %(threadName)s | %(message)szutf-8)ÚencodingT)Úlevelr   ÚhandlersÚforceN)rT   ÚloggingÚbasicConfigÚINFOÚFileHandlerÚStreamHandlerrS   s    r   Úconfigure_loggingra   s   sW   € Ü‹9Ð(Õ(€Dä×ÒÜ�l‰lð6ô ×ÒØØ ôô ×!Ò!Ó#ð
ð ÷r   c               ó   € V ^8„  d   QhRR/# )r   r   Ústrr   )r   s   "r   r   r   ‡   s   € ÷ ñ ˜Cñ r   c                 ó°  € . p \         P                  ! R 4      pV'       d   V P                  V4       \        P                  P                  R4      '       dT   V P                  RR\        \        P                  ! 4       R,          R,          R,          R,          R,          4      .4       V  F&  p\        V4      P                  4       '       g   K$  Vu # 	  R	# )
Ú	tesseractr<   z,C:\Program Files\Tesseract-OCR\tesseract.exez2C:\Program Files (x86)\Tesseract-OCR\tesseract.exeÚAppDataÚLocalÚProgramszTesseract-OCRztesseract.exeÚ )ÚshutilÚwhichÚappendrD   rE   rF   Úextendrc   r   rJ   Úis_file)Ú
candidatesÚ
discoveredÚ	candidates      r   Údiscover_tesseractrr   ‡   s½   € Ø€Jä—’˜kÓ*€JßØ×Ñ˜*Ô%ä
‡|�|×Ñ˜u×%Ò%Ø×Ñà?ØEÜÜ—I’I“KØõ àõð !õ!ð &õ	&ð
 &õ&óðô	
ó  ˆ	Ü�	‹?×"Ñ"×$Ô$ØÒñ  ñ r   c               ó    € V ^8„  d   QhRRRR/# )r   rN   z
str | Pathr   Úintr   )r   s   "r   r   r   ¤   s   € ÷ *ñ *�Zð * Cñ *r   c                ób  € \        V 4      P                  4       pVP                  4       '       d!   \        P                  ! V4      P
                  # VP                  pVP                  4       '       g    W"P                  8X  d   MVP                  pK5  \        P                  ! V4      P
                  # )zÓ
Return available disk space for the filesystem containing `path`.

The target file does not need to exist yet. If the target's parent
directory does not exist, walk upward until an existing directory
is found.
)r   Ú
expanduserÚexistsrj   Ú
disk_usageÚfreeÚparent)rN   Útargetrz   s   &  r   Ú
free_spacer|   ¤   s}   € ô �$‹Z×"Ñ"Ó$€Fð ‡}�}‡‚Ü× Ò  Ó(×-Ñ-Ð-ð �]‰]€Fà�m‰m�oŠoØ—]‘]Ô"ØØ—‘Šä×Ò˜VÓ$×)Ñ)Ð)r   c               ó    € V ^8„  d   QhRRRR/# )r   Úvaluerc   r   r   )r   s   "r   r   r   ¾   s   € ÷ Gñ G˜Sð G Sñ Gr   c                ó>   a€ R oRP                  V3R lV  4       4      # )z	<>:"/\|?*ri   c              3  ó8   <"  € T F  qS9   d   R MTx € K  	  R# 5i)Ú_Nr   )Ú.0ÚcharÚinvalids   & €r   Ú	<genexpr>Ú$sanitize_filename.<locals>.<genexpr>À   s   øé € ÐFÁ¸ 'œ/‘3¨tÔ3Ãùs   ƒ)Újoin)r~   r„   s   &@r   Úsanitize_filenamerˆ   ¾   s   ø€ Ø€GØ�7‰7ÔFÁÓFÓFÐFr   c               ó    € V ^8„  d   QhRRRR/# )r   ÚexcÚBaseExceptionr   rc   r   )r   s   "r   r   r   Ã   s   € ÷ *ñ *˜ð *¨#ñ *r   c                ó6   € \        V 4      P                   R V  2# )z: )Útyper2   )rŠ   s   &r   Úexception_textrŽ   Ã   s   € Ü�3‹i× Ñ Ð!  C 5Ð)Ð)r   c               ó    € V ^8„  d   QhRRRR/# )r   r~   r   r   zdict[str, Any]r   )r   s   "r   r   r   Ç   s   € ÷ ñ �3ð ˜>ñ r   c                ó6   € \        V \        4      '       d   V # / # r#   )Ú
isinstanceÚdict)r~   s   &r   Úas_dictr“   Ç   s   € Ü�%œ×ÒØˆØ€Ir   )Ú
__future__r   r\   rG   rj   rD   Úpathlibr   Útypingr   rK   r   rO   rT   ra   rr   r|   rˆ   rŽ   r“   r   r   r   Ú<module>r—      sU   ðÝ "ã Û 	Û Û 
Ý Ý à€÷K
ñ K
õ\õ$õõ(õ:*õ4Gõ
*÷r   