Ë
    [Rðip!  ã                   óö   — d Z ddlmZ 	 ddlmZ ddlmZ dZ
e
dz   Ze
dz   Ze
dz   Zd	Z G d
„ dej                  «      Z G d„ de«      Zdd„Zdd„Zd„ Zddefd„Zddedfd„Zy# e$ r ddlmZ ddl	mZ Y Œaw xY w)a  
Limited XInclude support for the ElementTree package.

While lxml.etree has full support for XInclude (see
`etree.ElementTree.xinclude()`), this module provides a simpler, pure
Python, ElementTree compatible implementation that supports a simple
form of custom URL resolvers.
é    )Úetree)Úurljoin)Úurlopenz!{http://www.w3.org/2001/XInclude}ÚincludeÚfallbackÚ*é   c                   ó   — e Zd Zy)ÚFatalIncludeErrorN©Ú__name__Ú
__module__Ú__qualname__© ó    úN/var/www/html/Extract/venv/lib/python3.12/site-packages/lxml/ElementInclude.pyr   r   K   ó   „ Ør   r   c                   ó   — e Zd Zy)ÚLimitedRecursiveIncludeErrorNr   r   r   r   r   r   O   r   r   r   Nc                 óÚ   — t        | d«      }|dk(  r$t        j                  |«      j                  «       }n%|j	                  «       }|sd}|j                  |«      }|j                  «        |S )NÚrbÚxmlúutf-8)Úopenr   ÚparseÚgetrootÚreadÚdecodeÚclose)Úhrefr   ÚencodingÚfileÚdatas        r   Údefault_loaderr$   `   s[   € Ü��dÓ€DØ�‚~Ü�{‰{˜4Ó ×(Ñ(Ó*‰à�y‰y‹{ˆÙØˆHØ�{‰{˜8Ó$ˆØ‡J�J„LØ€Kr   c                 óþ   — |dk(  r&t        j                  | |«      j                  «       }|S d| v rt        | «      }nt	        | d«      }|j                  «       }|j                  «        |sd}|j                  |«      }|S )Nr   z://r   r   )r   r   r   r   r   r   r   r   )r    r   r!   Úparserr#   Úfs         r   Ú_lxml_default_loaderr(   q   sv   € Ø�‚~Ü�{‰{˜4 Ó(×0Ñ0Ó2ˆð €Kð �D‰=Ü˜“‰Aä�T˜4Ó ˆAØ�v‰v‹xˆØ	�‰Œ	ÙØˆHØ�{‰{˜8Ó$ˆØ€Kr   c                 ó   ‡ — dˆ fd„	}|S )Nc                 ó   •—  ‰| ||«      S ©Nr   )r    r   r!   r&   Úloaders       €r   Úloadz_wrap_et_loader.<locals>.load…   s   ø€ Ù�d˜E 8Ó,Ð,r   ©NNr   )r,   r-   s   ` r   Ú_wrap_et_loaderr/   „   s   ø€ õ-à€Kr   c                 ó0  — |€d}n|dk  rt        d|z  «      ‚|€Rt        | d«      r| }| j                  «       } n| j                  «       }t        |d«      r3|j                  j
                  }nt        | d«      r| j                  «       } t        | |||«       y )Néÿÿÿÿr   z;expected non-negative depth or None for 'max_depth', got %rr   Údocinfo)Ú
ValueErrorÚhasattrr   Úgetroottreer2   ÚURLÚ_include)Úelemr,   Úbase_urlÚ	max_depthÚtrees        r   r   r   œ   s�   € àÐØ‰	Ø	�QŠÜÐVÐYbÑbÓcÐcàÐÜ�4˜Ô#ØˆDØ—<‘<“>‰Dà×#Ñ#Ó%ˆDÜ�4˜Ô#Ø—|‘|×'Ñ'‰HÜ	��yÔ	!Ø�|‰|‹~ˆÜˆT�6˜8 YÕ/r   c           	      óâ  — |�t        |«      }nt        }|€
t        «       }| j                  «       j                  }t        | j                  t        «      «      }|D �]  }|j                  t        k(  �r�t        ||j                  d«      «      }	|j                  dd«      }
|j                  «       }|
dk(  r |	|v rt        d|	z  «      ‚|dk(  rt        d|	z  «      ‚ ||	|
|¬«      }|€t        d|	›d	|
›�«      ‚t        |||	|d
z
  |	h|z  «      }|j                   r"|j                   xs d|j                   z   |_        |€|c S |j#                  ||«       Œú|
dk(  rš ||	|
|j                  d«      ¬«      }|€t        d|	›d	|
›�«      ‚|j%                  «       }|�|j                   xs d|z   |_        n/|€|c S |j&                  xs d|z   |j                   xs dz   |_        |j)                  |«       �Œ™t        d|
z  «      ‚|j                  t*        k(  rA|j                  «       }|€�ŒÎ|j                  t        k7  s�Œãt        d|j                  z  «      ‚t        d|j                  z  «      ‚ | S )Nr    r   r   z recursive include of %r detectedr   z5maximum xinclude depth reached when including file %s)r&   zcannot load z as é   Ú Útextr!   )r!   z)unknown parse type in xi:include tag (%r)z0xi:fallback tag must be child of xi:include (%r)z0Invalid element found in XInclude namespace (%r))r/   r(   Úsetr5   r&   ÚlistÚiterÚXINCLUDE_ITER_TAGÚtagÚXINCLUDE_INCLUDEr   ÚgetÚ	getparentr   r   r7   ÚtailÚreplaceÚgetpreviousr?   ÚremoveÚXINCLUDE_FALLBACK)r8   r,   r9   r:   Ú_parent_hrefsÚload_includer&   Úinclude_elementsÚer    r   ÚparentÚnoder?   Úpredecessors                  r   r7   r7   °   sy  € àÐÜ& vÓ.‰ä+ˆàÐÜ›ˆà×ÑÓ×&Ñ&€FäØ�	‰	Ô#Ó$ó&Ðð ó 4ˆØ�5‰5Ô$Ó$ä˜8 Q§U¡U¨6£]Ó3ˆDØ—E‘E˜' 5Ó)ˆEØ—[‘[“]ˆFØ˜Š~Ø˜=Ñ(Ü+Ø:¸TÑAóð ð  ’>Ü6ØOÐRVÑVóXð Xá# D¨%¸Ô?�Ø�<Ý+Ú26¹Ð>óð ô    f¨d°IÀ±MÀDÀ6ÈMÑCYÓZ�Ø—6’6Ø!%§¡¢¨b°A·F±FÑ :�D”IØ�>Ø’KØ—‘˜q $Õ'Ø˜&’Ù# D¨%¸!¿%¹%À
Ó:KÔL�Ø�<Ý+Ú26¹Ð>óð ð  Ÿm™m›o�ØÐ*Ø(3×(8Ñ(8Ò(>¸BÀ$Ñ'F�KÕ$Ø�^Ø’Kà#)§;¡;Ò#4°"¸Ñ"<ÀÇÁÂÈ"Ñ"M�F”KØ—‘˜aÖ ä'Ø?À%ÑGóð ð �U‰UÔ'Ò'Ø—[‘[“]ˆFØÒ! f§j¡jÔ4DÔ&DÜ'ØFÈÏÉÑNóð ô $ØBÀQÇUÁUÑJóð ðe4ðj €Kr   r+   r.   )Ú__doc__Úlxmlr   Úurlparser   Úurllib2r   ÚImportErrorÚurllib.parseÚurllib.requestÚXINCLUDErE   rL   rC   ÚDEFAULT_MAX_INCLUSION_DEPTHÚLxmlSyntaxErrorr   r   r$   r(   r/   r   r7   r   r   r   ú<module>r^      s±   ðñXõ ð'Ý Ýð /€à˜iÑ'Ð Ø˜zÑ)Ð Ø˜s‘NÐ ð  Ð ô	˜×-Ñ-ô 	ô	Ð#4ô 	ó"
ó"ò&ð0 ¨Ø1ó0ð( ¨Ø2À$ôDøðo ò 'å$ß&ð'ús   ŠA$ Á$A8Á7A8