ó
    �®žj'  ã                   óŠ   • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
  S SKJr  S SKJr  S SKJr  S S	KJr   " S
 S\5      rg)é    )ÚBytesIO)ÚPath)ÚUnion)ÚDocLangDocDeserializer)ÚDoclingDocumentÚDocumentOrigin)Úoverride)ÚDeclarativeDocumentBackend)ÚInputFormat)ÚInputDocumentc                   óÞ   ^ • \ rS rSr\S\S\\\4   SS4U 4S jj5       r	\S\
4S j5       r\\S\
4S j5       5       r\\S\\   4S	 j5       5       rS\\\4   4S
 jr\S\4S j5       rSrU =r$ )ÚDocLangDocumentBackendé   Úin_docÚpath_or_streamÚreturnNc                 óN   >• [         TU ]  X5        U R                  5       U l        g ©N)ÚsuperÚ__init__Ú_get_doc_or_errÚ_doc_or_err)Úselfr   r   Ú	__class__s      €Ú`/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/backend/xml/doclang_backend.pyr   ÚDocLangDocumentBackend.__init__   s#   ø€ ô 	‰Ñ˜Ô0Ø×/Ñ/Ó1ˆÕó    c                 ó6   • [        U R                  [        5      $ r   ©Ú
isinstancer   r   ©r   s    r   Úis_validÚDocLangDocumentBackend.is_valid   s   € ä˜$×*Ñ*¬OÓ<Ð<r   c                 ó   • g)NF© ©Úclss    r   Úsupports_paginationÚ*DocLangDocumentBackend.supports_pagination   s   € ð r   c                 ó$   • [         R                  1$ r   )r   ÚXML_DOCLANGr&   s    r   Úsupported_formatsÚ(DocLangDocumentBackend.supported_formats"   s   € ô ×'Ñ'Ð(Ð(r   c                 ó"  •  [        U R                  [        5      (       a  U R                  R                  SS9nOk[        U R                  [        5      (       a*  U R                  R                  5       R                  S5      nO"[        S[        U R                  5      < 35      e[        5       R                  U5      n[        U R                  R                  =(       d    SSU R                  S9Ul        U$ ! [          a  nUs S nA$ S nAff = f)Nzutf-8)Úencodingz&Unexpected: type(self.path_or_stream)=Úfilezapplication/xml)ÚfilenameÚmimetypeÚbinary_hash)r    r   r   Ú	read_textr   ÚgetvalueÚdecodeÚRuntimeErrorÚtyper   Údeserialize_strr   r0   ÚnameÚdocument_hashÚoriginÚ	Exception)r   ÚtextÚdocÚes       r   r   Ú&DocLangDocumentBackend._get_doc_or_err'   sÛ   € ð	Ü˜$×-Ñ-¬t×4Ñ4Ø×*Ñ*×4Ñ4¸gÐ4ÐF‘Ü˜D×/Ñ/´×9Ñ9Ø×*Ñ*×3Ñ3Ó5×<Ñ<¸WÓE‘ä"Ð%L´$°t×7JÑ7JÓ2KÑ1MÐ#NÓOÐOä(Ó*×:Ñ:¸4Ó@ˆCÜ'ØŸ™Ÿ™×1¨6Ø*Ø ×.Ñ.ñˆCŒJð
 ˆJøÜó 	Ø�Hûð	ús   ‚C5C8 Ã8
DÄD	ÄDÄ	Dc                 óp   • [        U R                  [        5      (       a  U R                  $ U R                  er   r   r!   s    r   ÚconvertÚDocLangDocumentBackend.convert:   s-   € ä�d×&Ñ&¬×8Ñ8Ø×#Ñ#Ð#à×ÑÐr   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r	   r   r   r   r   r   Úboolr"   Úclassmethodr(   Úsetr   r,   r   r=   r   rC   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      sÍ   ø† Øð2Ø#ð2Ø5:¸7ÀD¸=Ñ5Ið2à	ö2ó ð2ð ð=˜$ó =ó ð=ð Øð Dó ó ó ðð Øð) # kÑ"2ó )ó ó ð)ð  ¸	Ð'AÑ!Bô ð& ð˜ó ó ör   r   N)Úior   Úpathlibr   Útypingr   Ú,docling_core.transforms.deserializer.doclangr   Údocling_core.types.docr   r   Útyping_extensionsr	   Ú docling.backend.abstract_backendr
   Údocling.datamodel.base_modelsr   Údocling.datamodel.documentr   r   r%   r   r   Ú<module>rW      s/   ðõ Ý Ý å Oß BÝ &å GÝ 5Ý 4ô.Ð7õ .r   