ó
    �®žjG	  ã                  ó¨   • S SK Jr  S SKrS SKJrJrJrJr  S SKJ	r	J
r
Jr  S SKJrJr  \(       a  S SKJr   S SKJr   " S S	5      rg! \ a     Nf = f)
é    )ÚannotationsN)ÚTYPE_CHECKINGÚCallableÚListÚOptional)ÚDocItemLabelÚDoclingDocumentÚNodeItem)ÚENV_MATH_CLEANÚENV_MATH_DISPLAY_PREFIXES)ÚAny)ÚLatexMathNodec                  óT   • \ rS rSr\(       a  SS jr          SS jrS	S jrSrg)
ÚMathHandlerMixiné   c                ó   • g )N© )ÚselfÚ	latex_strs     Ú`/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/backend/latex/handlers/math.pyÚ_expand_macrosÚMathHandlerMixin._expand_macros   s   € ¸ó    c                ót  • [        USS 5      S:H  nU(       d%  UR                  5       nUR                  [        5      nU(       aG  U" 5         U R	                  UR                  5       S5      nUR                  U[        R                  US9  g UR                  U R                  UR                  5       5      5        g )NÚdisplaytypeÚdisplay)ÚparentÚlabelÚtext)
ÚgetattrÚlatex_verbatimÚ
startswithr   Ú_clean_mathÚadd_textr   ÚFORMULAÚappendr   )	r   ÚnodeÚdocr   Útext_bufferÚflush_fnÚ
is_displayÚmath_verbatimÚ	math_texts	            r   Ú_process_math_nodeÚ#MathHandlerMixin._process_math_node   s–   € ô ˜T =°$Ó7¸9ÑDˆ
æØ ×/Ñ/Ó1ˆMØ&×1Ñ1Ô2KÓLˆJæÙŒJØ×(Ñ(¨×)<Ñ)<Ó)>À	ÓJˆIØ�L‰L ¬l×.BÑ.BÈˆLÒSà×Ñ˜t×2Ñ2°4×3FÑ3FÓ3HÓIÕJr   c                ó  • U[         ;   an  S[        R                  " U5       S[        R                  " U5       S3n[        R                  " X1[        R                  5      nU(       a  UR                  S5      nUR                  5       nUR                  S5      (       a  UR                  S5      (       a  USS nO•UR                  S5      (       a  UR                  S5      (       a  USS	 nOcUR                  S
5      (       a  UR                  S5      (       a  USS nO1UR                  S5      (       a  UR                  S5      (       a  USS n[        R                  " SSU5      nU R                  U5      nUR                  5       $ )Nz	\\begin\{z\}(.*?)\\end\{z\}é   z$$é   éþÿÿÿÚ$éÿÿÿÿz\[z\]z\(z\)z\\label\{.*?\}Ú )r   ÚreÚescapeÚsearchÚDOTALLÚgroupÚstripr"   ÚendswithÚsubr   )r   r   Úenv_nameÚpatternÚmatchs        r   r#   ÚMathHandlerMixin._clean_math0   sE  € Ø”~Ó%Ø#¤B§I¢I¨hÓ$7Ð#8Ð8HÌÏÊÐS[ÓI\ÐH]Ð]`ÐaˆGÜ—I’I˜g´"·)±)Ó<ˆEÞØ!ŸK™K¨›N�	à—O‘OÓ%ˆ	à×Ñ ×%Ñ%¨)×*<Ñ*<¸T×*BÑ*BØ! ! B˜‰IØ×!Ñ! #×&Ñ&¨9×+=Ñ+=¸c×+BÑ+BØ! ! B˜‰IØ×!Ñ! %×(Ñ(¨Y×-?Ñ-?À×-FÑ-FØ! ! B˜‰IØ×!Ñ! %×(Ñ(¨Y×-?Ñ-?À×-FÑ-FØ! ! B˜ˆIä—F’FÐ,¨b°)Ó<ˆ	Ø×'Ñ'¨	Ó2ˆ	à�‰Ó Ð r   r   N)r   ÚstrÚreturnrC   )
r'   r   r(   r	   r   zNodeItem | Noner)   z	List[str]r*   zCallable[[], None])r   rC   r?   rC   rD   rC   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r.   r#   Ú__static_attributes__r   r   r   r   r      sH   † Þä<ðKàðKð ðKð  ð	Kð
 ðKð %ôK÷*!r   r   )Ú
__future__r   r7   Útypingr   r   r   r   Údocling_core.types.doc.documentr   r	   r
   Údocling.backend.latex.constantsr   r   r   Úpylatexenc.latexwalkerr   ÚImportErrorr   r   r   r   Ú<module>rP      sH   ðõ #ã 	ß :Ó :ç SÑ Sç UæÝð	Ý4÷
/!ò /!øð	 ó 	Ùð	ús   ·A ÁAÁA