403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/bs4/builder/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/bs4/builder/__pycache__/_lxml.cpython-312.pyc
�

V	�gjH����UddlmZdZddgZddlmZmZmZmZm	Z	m
Z
mZmZm
Z
mZddlmZddlmZddlmZdd	lmZdd
lmZmZmZmZmZmZmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%ddl&m'Z'dd
l(m)Z)e
rddl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1ddl2m3Z3dZ4de5d<dd�Z6eejnejpfZ9de5d<ee9eejneejpfZ:de5d<Gd�de$�Z;Gd�de"e;�Z<y)�)�annotations�MIT�LXMLTreeBuilderForXML�LXMLTreeBuilder)
�Any�Dict�Iterable�List�Optional�Set�Tuple�Type�
TYPE_CHECKING�Union)�	TypeAlias)�BytesIO)�StringIO)�etree)�
AttributeDict�XMLAttributeDict�Comment�Doctype�NamespacedAttribute�ProcessingInstruction�XMLProcessingInstruction)�DetectsXMLParsedAsHTML�FAST�HTML�HTMLTreeBuilder�
PERMISSIVE�TreeBuilder�XML)�EncodingDetector)�ParserRejectedMarkup)�	_Encoding�
_Encodings�_NamespacePrefix�
_NamespaceURL�_NamespaceMapping�_InvertedNamespaceMapping�
_RawMarkup)�
BeautifulSoup�lxml�str�LXMLc�T�td�t|j��D��S)zInvert a dictionary.c3�*K�|]\}}||f���
y�w�N�)�.0�k�vs   �3C:\Python312\Lib\site-packages\bs4/builder/_lxml.py�	<genexpr>z_invert.<locals>.<genexpr>Ds����3�4�1�a��A��3�s�)�dict�list�items)�ds r7�_invertr=Bs���3�4����	�?�3�3�3�r�_LXMLParser�_ParserOrParserClassc����eZdZUejZded<dZded<ded<dZd	ed
<dgZ	ded
<ee
eee
gZded<dZded<ed��Zded<ee�Zded<ded<ded<ded<ded<d1�fd �Zd2d!�Zd3d"�Zd4d#�Z		d5					d6�fd$�
Zd7d%�Z			d8									d9d&�Zd:d'�Zd;d(�Zif							d<d)�Z				d=d*�Zd>d+�Zd?d,�Z d@d-�Z!dAd.�Z"dBd/�Z#dCd0�Z$�xZ%S)DrzType[etree.XMLParser]�DEFAULT_PARSER_CLASST�bool�is_xmlzType[ProcessingInstruction]�processing_instruction_classzlxml-xmlr.�NAME�xml�
Iterable[str]�ALTERNATE_NAMES�featuresi�int�
CHUNK_SIZEz$http://www.w3.org/XML/1998/namespace)rGr)�DEFAULT_NSMAPSr*�DEFAULT_NSMAPS_INVERTEDz)List[Optional[_InvertedNamespaceMapping]]�nsmapszSet[str]�empty_element_tagsr�parser�Optional[etree.XMLParser]�_default_parserc�b��tt|�|�|j|j�y)z�Let the BeautifulSoup object know about the standard namespace
        mapping.

        :param soup: A `BeautifulSoup`.
        N)�superr�initialize_soup�_register_namespacesrM)�self�soup�	__class__s  �r7rVz%LXMLTreeBuilderForXML.initialize_soupns)���	�#�T�:�4�@��!�!�$�"5�"5�6r>c���|j�J�t|j��D]:\}}|s�	||jjvs�"||jj|<�<y)a�Let the BeautifulSoup object know about namespaces encountered
        while parsing the document.

        This might be useful later on when creating CSS selectors.

        This will track (almost) all namespaces, even ones that were
        only in scope for part of the document. If two namespaces have
        the same prefix, only the first one encountered will be
        tracked. Un-prefixed namespaces are not tracked.

        :param mapping: A dictionary mapping namespace prefixes to URIs.
        N)rYr:r;�_namespaces)rX�mapping�key�values    r7rWz*LXMLTreeBuilderForXML._register_namespacesys^���y�y�$�$�$��w�}�}��/�		3�J�C��
�s�$�)�)�"7�"7�7�.3��	�	�%�%�c�*�		3r>c�Z�|j�|jS|j|d|��S)z�Find the default parser for the given encoding.

        :return: Either a parser object or a class, which
          will be instantiated with default arguments.
        T��target�recover�encoding)rSrB�rXrds  r7�default_parserz$LXMLTreeBuilderForXML.default_parser�s4�����+��'�'�'��(�(��d�X�(�V�Vr>c�T�|j|�}t|�r||d|��}|S)z�Instantiate an appropriate parser for the given encoding.

        :param encoding: A string.
        :return: A parser object such as an `etree.XMLParser`.
        Tra)rf�callable)rXrdrQs   r7�
parser_forz LXMLTreeBuilderForXML.parser_for�s/���$�$�X�.���F���4���I�F��
r>c���||_d|_|jg|_t	|j
�g|_d|vr	t|d<tt|�*di|��y)N�attribute_dict_classr3)rSrYrNrOr9rM�active_namespace_prefixesrrUr�__init__)rXrQrP�kwargsrZs    �r7rmzLXMLTreeBuilderForXML.__init__�s`��� &�����	��3�3�4���*.�t�/B�/B�*C�)D��&�!��/�-=�F�)�*�
�#�T�3�=�f�=r>c�R�|ddk(r|ddjdd�\}}||fSd|fS)Nr�{��})�split)rX�tag�	namespace�names    r7�	_getNsTagzLXMLTreeBuilderForXML._getNsTag�s>���q�6�S�=�!�!�"�g�m�m�C��3�O�I�t��t�$�$��#�;�r>c#�K�|j}|r#t|_tj|d��nt
|_t
|t�r#t|�dkDr
|ddk(r|dd}|d|df��t
|t�r|jd�d|df��yg}|r|j|�g}|r|j|�t|||||�	�}|jD]}	|j|	|df���y�w)
aBRun any preliminary steps necessary to make incoming markup
        acceptable to the parser.

        lxml really wants to get a bytestring and convert it to
        Unicode itself. So instead of using UnicodeDammit to convert
        the bytestring to Unicode using different encodings, this
        implementation uses EncodingDetector to iterate over the
        encodings, and tell lxml to try to parse the document as each
        one in turn.

        :param markup: Some markup -- hopefully a bytestring.
        :param user_specified_encoding: The user asked to try this encoding.
        :param document_declared_encoding: The markup itself claims to be
            in this encoding.
        :param exclude_encodings: The user asked _not_ to try any of
            these encodings.

        :yield: A series of 4-tuples: (markup, encoding, declared encoding,
            has undergone character replacement)

            Each 4-tuple represents a strategy for converting the
            document to Unicode and parsing it. Each strategy will be tried
            in turn.
        �)�
stacklevelrurqNF�utf8)�known_definite_encodings�user_encodings�is_html�exclude_encodings)rDrrEr�warn_if_markup_looks_like_xmlr�
isinstancer.�len�encode�appendr#�	encodings�markup)
rXr��user_specified_encoding�document_declared_encodingrr~r|r}�detectorrds
          r7�prepare_markupz$LXMLTreeBuilderForXML.prepare_markup�s����B�k�k�/���0E�D�-�
#�@�@��TU�V�0H�D�-��f�c�"��6�{�Q��6�!�9�0E�#E�������$� :�E�A�A��f�c�"��=�=��(�&�2L�e�T�T�

�46� �"�

%�+�+�,C�D�*,��%�
�!�!�"<�=�#��%=�)��/�
��!�*�*�	Q�H��?�?�H�.H�%�P�P�	Q�s�C7C9c��t|t�rt|�}nt|t�rt	|�}|j
�J�j
|j�}	|j|j
j�|_
|jj|�t|�dk7rS|j
|j�}t|�dk7r|jj|�t|�dk7r�S|jj�y#ttt j"f$r}t%|��d}~wwxYw)Nr)r��bytesrr.rrY�readrLri�original_encodingrQ�feedr��close�UnicodeDecodeError�LookupErrorr�ParserErrorr$)rXr��io�data�es     r7r�zLXMLTreeBuilderForXML.feeds���f�e�$����B�
���
$��&�!�B��y�y�$�$�$��w�w�t���'��
	*��/�/�$�)�)�*E�*E�F�D�K��K�K���T�"��d�)�q�.��w�w�t���/���t�9��>��K�K�$�$�T�*�	�d�)�q�.�

�K�K�����"�K��1B�1B�C�	*�&�q�)�)��	*�s�"B%D#�D#�#E�E�Ec�(�|jg|_yr2)rNrO)rXs r7r�zLXMLTreeBuilderForXML.close5s���3�3�4��r>c�x�|j�J�t|t�sJ�|j�}|j	�D].\}}t|t�sJ�t|t�sJ�|||<�0d}d}t|�dk(r4t|j�dkDr|jjd�n�t|�dkDr�|j|�|jjt|��t|jd�}	|	j|�d|	vr|	d=|jj|	�t|j	��D]\}
}td|
d�}|||<�|j�}t|j	��D]D\}
}|j|
�\}}
|�|||
<�"|j!|�}t||
|�}
|||
<�F|j|�\}}|j!|�}|jj#|||||jd��y)Nrrq�����xmlnszhttp://www.w3.org/2000/xmlns/)�
namespaces)rYr�r.rkr;r�rOr�rWr=r9rl�updater:rrw�_prefix_for_namespace�handle_starttag)rXrt�attrs�nsmap�	new_attrsr5r6�nsprefixru�current_mapping�prefix�	attribute�final_attrs�attrr_s               r7�startzLXMLTreeBuilderForXML.start8sA���y�y�$�$�$��#�s�#�#�#�
�%�%�'�	��K�K�M�	�D�A�q��a��%�%�%��a��%�%�%��I�a�L�	�
04��-1�	��u�:��?�s�4�;�;�/�!�3�
�K�K���t�$�
��Z�!�^�
�%�%�e�,�
�K�K���w�u�~�.�#�4�#A�#A�"�#E�F�O��"�"�5�)�
�_�$�#�B�'��*�*�1�1�/�B�&*�%�+�+�-�%8�
1�!��	�/��V�%D��	�(1�	�)�$�	
1�&*�%>�%>�%@���	��� 1�2�	*�K�D�%�"�n�n�T�2�O�I�t�� �$)��D�!��5�5�i�@��*�8�T�9�E��$)��D�!�	*�����,��	�3��-�-�i�8���	�	�!�!������5�5�b�9�	"�	
r>c�Z�|�yt|j�D]}|��||vs�||cSy)z9Find the currently active prefix for the given namespace.N)�reversedrO)rXru�inverted_nsmaps   r7r�z+LXMLTreeBuilderForXML._prefix_for_namespace�sB�����&�t�{�{�3�	1�N��)�i�>�.I�%�i�0�0�	1�r>c���|j�J�t|t�sJ�|jj�|j	|�\}}d}|�(t|j�D]}|��||vs�||}n|jj||�t|j�dkDr8|jj�}|�|jj�yyy)Nrq)rYr�r.�endDatarwr�rO�
handle_endtagr��poprl)rXrvrur�r��out_of_scope_nsmaps      r7�endzLXMLTreeBuilderForXML.end�s����y�y�$�$�$��$��$�$�$��	�	�����.�.��.��	�4���� �"*�4�;�;�"7�
��!�-�)�~�2M�-�i�8�H��
�	
�	�	����h�/��t�{�{��a��"&�����!2��!�-��.�.�2�2�4�	.� r>c���|j�J�|jj�|dz|z}|jj|�|jj|j�y)N� )rYr��handle_datarE)rXrbr�s   r7�pizLXMLTreeBuilderForXML.pi�sZ���y�y�$�$�$��	�	������|�d�"���	�	���d�#��	�	���$�;�;�<r>c�z�|j�J�t|t�sJ�|jj|�yr2)rYr�r.r�)rXr�s  r7r�zLXMLTreeBuilderForXML.data�s4���y�y�$�$�$��$��$�$�$��	�	���d�#r>c��|j�J�|jj�tj|||�}|jj	|�|jjt��y)N)�containerClass)rYr�r�_string_for_name_and_idsr�)rXrv�pubid�system�doctype_strings     r7�doctypezLXMLTreeBuilderForXML.doctype�s]���y�y�$�$�$��	�	���� �9�9�$��v�N���	�	���n�-��	�	�����1r>c���|j�J�t|t�sJ�|jj�|jj	|�|jjt
�y)z#Handle comments as Comment objects.N)rYr�r.r�r�r)rX�texts  r7�commentzLXMLTreeBuilderForXML.comment�sV���y�y�$�$�$��$��$�$�$��	�	�����	�	���d�#��	�	���'�"r>c��d|zS)�See `TreeBuilder`.z)<?xml version="1.0" encoding="utf-8"?>
%sr3�rX�fragments  r7�test_fragment_to_documentz/LXMLTreeBuilderForXML.test_fragment_to_document�s
��;�h�F�Fr>)rYr,�return�None)r]zDict[str, str]r�r��rd�Optional[_Encoding]r�r@)rdr�r�r?)NN)rQrRrPzOptional[Set[str]]rnr)rtr.r�zTuple[Optional[str], str])NNN)
r�r+r�r�r�r�rzOptional[_Encodings]r�zRIterable[Tuple[Union[str, bytes], Optional[_Encoding], Optional[_Encoding], bool]]�r�r+r�r�)r�r�)rt�str | bytesr�zDict[str | bytes, str | bytes]r�r)r�r�)ruzOptional[_NamespaceURL]r�zOptional[_NamespacePrefix])rvr�r�r�)rbr.r�r.r�r�)r�r�r�r�)rvr.r�r.r�r.r�r�)r�r�r�r��r�r.r�r.)&�__name__�
__module__�__qualname__r�	XMLParserrB�__annotations__rDrFrIr/r"rr rJrLr9rMr=rNrVrWrfrirmrwr�r�r�r�r�r�r�r�r�r�r��
__classcell__)rZs@r7rrMs����27�/�/��/�A��F�D��"=�=��D�#��&+�W�O�]�,� $�T�3��j�A�H�m�A��J���)-�1W�(X�N�%�X�9@��9P��6�P�5�5� � ��K�.�.�	7�3�2W�� -1�15�>�)�>�/�>��	>�"�8<�:>�26�UQ��UQ�"5�UQ�%8�	UQ�
0�UQ�
�
UQ�n*�45�$&�	W
�
�W
�.�W
�!�	W
�

�W
�r	�0�	�	#�	�5�.=�$�
2�#�Gr>c�z�eZdZUeZded<dgZded<ee�eee	e
gzZded<dZded	<dd
�Z
dd�Zdd�Zy
)rr.rFz	lxml-htmlrHrIrJFrCrDc�"�tjSr2)r�
HTMLParserres  r7rfzLXMLTreeBuilder.default_parser�s�����r>c�F�|j�J�|jj}	|j|�|_|jj	|�|jj�y#tttjf$r}t|��d}~wwxYwr2)rYr�rirQr�r�r�r�rr�r$)rXr�rdr�s    r7r�zLXMLTreeBuilder.feed�s����y�y�$�$�$��9�9�.�.��	*��/�/�(�3�D�K��K�K���V�$��K�K�����"�K��1B�1B�C�	*�&�q�)�)��	*�s�AA2�2B �B�B c��d|zS)r�z<html><body>%s</body></html>r3r�s  r7r�z)LXMLTreeBuilder.test_fragment_to_document�s
��-��8�8r>Nr�r�r�)r�r�r�r/rFr�rIr:rrr rJrDrfr�r�r3r>r7rr�sN���D�#��&1�]�O�]�2�"�?�3�t�T�4��6T�T�H�m�T��F�D�� �	*�9r>N)r<�dict[Any, Any]r�r�)=�
__future__r�__license__�__all__�typingrrr	r
rrr
rrr�typing_extensionsrr�rrr-r�bs4.elementrrrrrrr�bs4.builderrrrrr r!r"�
bs4.dammitr#�bs4.exceptionsr$�bs4._typingr%r&r'r(r)r*r+�bs4r,r/r�r=r�r�r?r@rrr3r>r7�<module>r�s���"����������(����������(�/�����"���c��4�
�u����0@�0@�@�A��Y�A�"'���e�o�o�&��U�-=�-=�(>�>�#��i��
CG�K�CG�L9�o�'<�9r>

Youez - 2016 - github.com/yon3zu
LinuXploit