§
    �Øj@)  ã                   óT  — 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	  e
 eeej                             d¦  «        ¦  «        ¦  «        Zee	k    r ede›de	›dej        ›d	e›�¦  «        ‚eZeZ e
 eee                     d¦  «        ¦  «        ¦  «        Zd
„ Z	 d dlZ ed¦  «         n# e$ rZ ed¦  «         Y dZ[ndZ[ww xY wddddddddddddddddddddddddœd„Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d!d„Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d"d„Zd„ Zd„ Zd„ Zd#d„Zd„ ZdhZd„ Zd „ Z dS )$é    Né   )Úconvert_batch)ÚVERSIONÚVERSION_TUPLEú.zRequires PyMuPDF VERSION=z VERSION_TUPLE=z#, but you have pymupdf.__version__=z _pvt=c                 ó  — | a t           rE	 bn# t          $ r Y nw xY w	 bn# t          $ r Y nw xY wdd l}|j                             ¦   «          d S t          j        j	        j        at          j        j	        j        add l
}d |_        d S )Nr   )Ú_use_layoutÚIdentifyHeadersÚ	ExceptionÚ
TocHeadersÚpymupdf.layoutÚlayoutÚactivateÚpymupdf4llmÚhelpersÚpymupdf_ragÚpymupdfÚ_get_layout)Úyesr   s     ú‰/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/pymupdf4llm/__init__.pyÚ
use_layoutr      s¾   € ð
 €Kåð #ð	Ø�øÝð 	ð 	ð 	ØˆDð	øøøð	Ø�
øÝð 	ð 	ð 	ØˆDð	øøøàÐÐÐàŒ×ÒÑ!Ô!Ð!Ð!Ð!å%Ô-Ô9ÔIˆÝ Ô(Ô4Ô?ˆ
Øˆˆˆà"ˆÔÐÐs   ‹ �
™ž   
-¬-TFé–   Ú ÚpngÚengid  )ÚdpiÚembed_imagesÚfilenameÚfooterÚ	force_ocrÚ
force_textÚheaderÚignore_codeÚimage_formatÚ
image_pathÚocr_dpiÚocr_functionÚocr_languageÚpage_chunksÚpage_heightÚpage_separatorsÚpagesÚ
page_widthÚshow_progressÚuse_ocrÚwrite_imagesÚrender_html_tablesÚedge_thresholdc                óÌ   — |r|rt          d¦  «        ‚t          j        j                             | |||	|
||||||||||||¬¦  «        }|                     ||||||||¬¦  «        S )Nz)Cannot both write_images and embed_images)r   Ú	image_dpir$   r%   r,   r&   r0   r   r.   r!   r/   r    r(   r'   r1   r2   )r"   r   r0   r   r#   r.   r+   r)   )Ú
ValueErrorr   r   Údocument_layoutÚparse_documentÚto_markdown)Údocr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   ÚkwargsÚ
parsed_docs                             r   Ú_layout_to_markdownr<   ;   s¯   € ð: ð F˜ð FÝÐDÑEÔEÐEÝÔ$Ô4×CÒCØØØØ!ØØØØ!Ø!Ø#ØØØØ!Ø!Ø-Ø%ð# Dñ ô €Jð& ×!Ò!ØØØ!Ø!ØØ#Ø'Øð "ñ 	ô 	ð 	ó    c                 ó�   — t           j        j                             | ||||||||	|
|||||¬¦  «        }|                     ¦   «         S )N)r4   r$   r%   r,   r   r0   r.   r!   r/   r    r(   r'   r1   r2   )r   r   r6   r7   Úto_json)r9   r4   r$   r%   r,   r&   r0   r   r.   r!   r/   r    r(   r'   r1   r2   r:   r;   s                     r   Ú_layout_to_jsonr@   y   sf   € õ( Ô$Ô4×CÒCØØØ!ØØØ!Ø!Ø#ØØØØ!Ø!Ø-Ø%ð Dñ ô €Jð" ×ÒÑÔÐr=   Úgridéd   é
   c                 óœ   — t           j        j                             | ||dd|||	|
|||¬¦  «        }|                     ||||||||¬¦  «        S )NF)r   r,   r   r0   r.   r!   r/   r    r(   r'   r2   )r"   r   r#   r.   Útable_formatÚtable_max_widthÚtable_min_col_widthr)   )r   r   r6   r7   Úto_text)r9   r   r"   r   r,   r#   r.   r!   r&   r/   r    r(   r'   rE   rF   rG   r)   r2   r:   r;   s                       r   Ú_layout_to_textrI   ¡   s€   € õ, Ô$Ô4×CÒCØØØØØØ#ØØØØ!Ø!Ø%ð Dñ ô €Jð ×ÒØØØØ#Ø!Ø'Ø/Øð ñ 	ô 	ð 	r=   c                  ó¾  — |                      dd ¦  «         |                     d¦  «        dk    r�t          |¦  «        }|                      dd ¦  «         t          rt	          | ddi|¤ŽS t          |¦  «        }dD ]}|                      |d ¦  «         Œt          j        j        j        | ddi|¤ŽS t          rt	          | i |¤ŽS t          j        j        j        | i |¤ŽS )Nr1   Útable_outputÚhtmlT)r   r"   r&   r'   r(   r/   r    )	ÚpopÚgetÚdictr	   r<   r   r   r   r8   )Úargsr:   Úlegacy_kwargsÚnames       r   r8   r8   Ñ   s  € ð ‡J‚JÐ# TÑ*Ô*Ð*Ø‡z‚z�.Ñ!Ô! VÒ+Ð+å�f‘”ˆØ�
Š
�> 4Ñ(Ô(Ð(Ýð 	Qõ '¨ÐPÀÐPÈÐPÐPÐPõ ˜V™œˆð
ð 		*ð 		*ˆDð ×Ò˜d DÑ)Ô)Ð)Ð)ÝÔ"Ô.Ô:Øð
Ø &ð
Ø*7ð
ð 
ð 	
õ ð LÝ" DÐ3¨FÐ3Ð3Ð3åÔ"Ô.Ô:¸DÐKÀFÐKÐKÐKr=   c                  ó  — |                      dd ¦  «         |                     d¦  «        dk    r*t          |¦  «        }|                      dd ¦  «         d|d<   t          rt	          | i |¤ŽS t          j        j        j        | i |¤ŽS )Nr1   rK   rL   T)	rM   rN   rO   r	   r@   r   r   r   r?   ©rP   r:   s     r   r?   r?   õ   s�   € à
‡J‚JÐ# TÑ*Ô*Ð*Ø‡z‚z�.Ñ!Ô! VÒ+Ð+Ý�f‘”ˆØ�
Š
�> 4Ñ(Ô(Ð(Ø'+ˆÐ#Ñ$Ýð HÝ Ð/¨Ð/Ð/Ð/åÔ"Ô.Ô6¸ÐGÀÐGÐGÐGr=   c                  ó^   — t           rt          | i |¤ŽS t          j        j        j        | i |¤ŽS ©N)r	   rI   r   r   r   rH   rT   s     r   rH   rH     s:   € Ýð HÝ Ð/¨Ð/Ð/Ð/åÔ"Ô.Ô6¸ÐGÀÐGÐGÐGr=   c                 óP  — ddl m} |r1t          dt          |                     ¦   «         ¦  «        › �¦  «         t          | t          j        ¦  «        r| }nt          j        | ¦  «        }|j	        r| 
                    ||¬¦  «        }ni }|| k    r|                     ¦   «          |S )aƒ  Extract form fields and their values from a PDF document.

    Args:
        doc: A file path to a PDF document or a pymupdf.Document object.
        xrefs: If True, include the xref numbers of the form fields in the output.
            The xrefs can be useful to directly load a widget via Page.load_widget(xref).
        **kwargs: Additional keyword arguments (currently ignored).
    r   )Úutilsz$Warning: keyword arguments ignored: )Úxrefs)r   rX   ÚprintÚsetÚkeysÚ
isinstancer   ÚDocumentÚopenÚis_form_pdfÚextract_form_fields_with_pagesÚclose)r9   rY   r:   rX   ÚmydocÚrcs         r   Úget_key_valuesre   	  s¶   € ð ÐÐÐÐÐàð KÝÐIµS¸¿º¹¼Ñ5GÔ5GÐIÐIÑJÔJÐJÝ�#•wÔ'Ñ(Ô(ð "Øˆˆå”˜SÑ!Ô!ˆØÔð Ø×1Ò1°%¸uÐ1ÑEÔEˆˆàˆà�‚|€|Ø�Š‰ŒˆØ€Ir=   c                  ó(   — ddl m}  |j        | i |¤ŽS )Nr   )Úpdf_markdown_reader)Úllamarg   ÚPDFMarkdownReader)rP   r:   rg   s      r   ÚLlamaMarkdownReaderrj   $  s-   € Ø*Ð*Ð*Ð*Ð*Ð*à0ÐÔ0°$ÐA¸&ÐAÐAÐAr=   r1   c                 ó†  — dd l }ddlm} t          j        j        j        }t          |                     |¦  «        j	        ¦  «        dhz
  }|t          z  }t          t          |¦  «        z  }|rt          dt          |¦  «        › �¦  «        ‚|                     dd¦  «        } |d|i¦  «         dd	i}i }	i }
|                     ¦   «         D ]*\  }}|                     ||¦  «        }||v r||	|<   Œ%||
|<   Œ+ ||
¦  «         |d
k    rd|	d<   |
                     dd¦  «        r	d|	vrd|	d<    || fi |	¤Ž} |j        di |
¤ŽS )Nr   r   )Ú_validate_paramsr9   z0internal parse flags not accepted by to_chunks: rK   Úmarkdownr   r4   rL   Tr1   Úextract_imagesFr   © )ÚinspectÚhelpers.chunkingrl   r   r   r6   r7   r[   Ú	signatureÚ
parametersÚ_CHUNK_INTERNAL_PARSE_FLAGSÚ	TypeErrorÚsortedrM   ÚitemsrN   Ú	to_chunks)r9   r:   rp   rl   Úparse_fnÚ
parse_keysÚinternalrK   ÚaliasesÚparse_kwargsÚchunk_kwargsÚkÚvr;   s                 r   Ú_layout_to_chunksr�   0  s²  € ð €N€N€Nà2Ð2Ð2Ð2Ð2Ð2åÔ"Ô2ÔA€Hõ �W×&Ò& xÑ0Ô0Ô;Ñ<Ô<À¸wÑF€JØÕ-Ñ-€Jå*­S°©[¬[Ñ8€HØð 
ÝØQ½vÀhÑ?OÔ?OÐQÐQñ
ô 
ð 	
ð —:’:˜n¨jÑ9Ô9€LØÐ�n lÐ3Ñ4Ô4Ð4ð �kÐ"€GØ€LØ€LØ—’‘”ð  ð  ‰ˆˆ1Ø�KŠK˜˜1ÑÔˆØ�
ˆ?ˆ?ØˆL˜‰OˆOàˆL˜‰OˆOð
 Ð�\Ñ"Ô"Ð"à�vÒÐØ-1ˆÐ)Ñ*ð ×ÒÐ(¨%Ñ0Ô0ð ,°^È<Ð5WÐ5WØ'+ˆ�^Ñ$à�˜#Ð.Ð. Ð.Ð.€JØˆ:ÔÐ/Ð/ ,Ð/Ð/Ð/r=   c                  ó^   — t           rt          | i |¤ŽS t          j        j        j        | i |¤ŽS rV   )r	   r�   r   r   r   rx   rT   s     r   rx   rx   e  s:   € Ýð JÝ  $Ð1¨&Ð1Ð1Ð1åÔ"Ô.Ô8¸$ÐIÀ&ÐIÐIÐIr=   )r   r   r   Nr   FFFTTFr   NNN)r   TTNFFTr   TFr   NrA   rB   rC   FN)F)!Úpathlibr   Ú#pymupdf4llm.helpers.document_layoutr   Úpymupdf4llm.helpers.pymupdf_ragÚbatch_converterr   Úversions_filer   r   ÚtupleÚmapÚintÚ__version__ÚsplitÚ_pvtÚImportErrorÚversionÚversion_tupler   r   Úer<   r@   rI   r8   r?   rH   re   rj   rt   r�   rx   ro   r=   r   ú<module>r’      sø  ðØ €€€à €€€Ø *Ð *Ð *Ð *Ø &Ð &Ð &Ð &à *Ð *Ð *Ð *Ð *Ð *Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1à€uˆSˆS��gÔ)×/Ò/°Ñ4Ô4Ñ5Ô5Ñ6Ô6€àˆ=ÒÐØ
ˆ+Ød˜GÐdÐd }ÐdÐdÀgÔFYÐdÐdÐ]aÐdÐdñô ð ð €Ø
€Ø��c�c˜#˜wŸ}š}¨SÑ1Ô1Ñ2Ô2Ñ3Ô3€ð#ð #ð #ð:ØÐÐÐð €JˆtÑÔÐÐøð ð ð ð Ø€JˆuÑÔÐÐÐÐÐÐøøøøðøøøð 	ØØØØØØØØØØØØØØØØ
ØØØØØØð3;ð ;ð ;ð ;ð ;ð@ ØØØ
ØØØØØØØØØØØð!% ð % ð % ð % ðT ØØØ
ØØØØØØØØØØØØØð%-ð -ð -ð -ð`!Lð !Lð !LðH
Hð 
Hð 
HðHð Hð Hðð ð ð ð6Bð Bð Bð  4Ð4Ð ð20ð 20ð 20ðjJð Jð Jð Jð Js   ÂB. Â.CÂ3CÃC