OwlCyberSecurity - MANAGER
Edit File: doctestcompare.cpython-311.pyc
� ������h�G�����������������������<����d�Z�ddlmZ�ddlZddlZddlZ �ddlmZ�n#�e $�r �ddl mZ�Y�nw�xY�wg�d�Z �eZ n#�e$�r�eefZ Y�nw�xY�wej��������d���������dk����Z�ej��������d������������Z�ej��������d������������Z�ej��������d ������������Zej��������Zd ��Zd��Z�ej��������dd �������������Zd��Z�ej��������d������������Z�ej��������d������������Z�G�d��de������������Z �G�d��de ������������Z!dd�Z"dd�Z#�G�d��de$������������Z%d��Z&ddiZ'e(dk����rddlZ�ej)�����������������������dS�dS�) a��� lxml-based doctest output comparison. Note: normally, you should just import the `lxml.usedoctest` and `lxml.html.usedoctest` modules from within a doctest, instead of this one:: >>> import lxml.usedoctest # for XML output >>> import lxml.html.usedoctest # for HTML output To use this module directly, you must call ``lxmldoctest.install()``, which will cause doctest to use this in all subsequent calls. This changes the way output is checked and comparisons are made for XML or HTML-like content. XML or HTML content is noticed because the example starts with ``<`` (it's HTML if it starts with ``<html``). You can also use the ``PARSE_HTML`` and ``PARSE_XML`` flags to force parsing. Some rough wildcard-like things are allowed. Whitespace is generally ignored (except in attributes). In text (attributes and text in the body) you can use ``...`` as a wildcard. In an example it also matches any trailing tags in the element, though it does not match leading tags. You may create a tag ``<any>`` or include an ``any`` attribute in the tag. An ``any`` tag matches any tag, while the attribute matches any and all attributes. When a match fails, the reformatted example and gotten text is displayed (indented), and a rough diff-like output is given. Anything marked with ``+`` is in the output but wasn't supposed to be, and similarly ``-`` means its in the example but wasn't in the output. You can disable parsing on one line with ``# doctest:+NOPARSE_MARKUP`` �����)�etreeN)�escape)� PARSE_HTML� PARSE_XML�NOPARSE_MARKUP�LXMLOutputChecker�LHTMLOutputChecker�install�temp_install����r���r���r���c������������������2�����|��d�S�|�������������������������������������S��N)�strip��vs��� �f/builddir/build/BUILD/cloudlinux-venv-1.0.8/venv/lib64/python3.11/site-packages/lxml/doctestcompare.pyr���r���?���s�������y��t��w�w�y�y������c������������������8�����t��������������������������������d|�������������S�)N� )�_norm_whitespace_re�subr���s��� r����norm_whitespacer���E���s�������"�"�3��*�*�*r���FT)�recover�remove_blank_textc������������������6�����t����������j��������|�t����������������������S�r���)r���� fromstring�_html_parser��htmls��� r����html_fromstringr ���J���s��������D�,�/�/�/r���z^<[^>]+ (at|object) z[ \t\n][ \t\n]+c�������������������������e�Zd�ZdZd��Zd��Zd��Zd��Zd��Zd��Z d��Z d ��Zdd�Zdd �Z dd�Zd��Zd��Zd��Zd��Zd��Zdd�ZdS�)r���) �param�img�area�br�basefont�input�base�meta�link�colc�����������������������t�����������j��������S�r���)r����XML��selfs��� r����get_default_parserz$LXMLOutputChecker.get_default_parserW���s �������y�r���c������������������Z����t����������|�dd�������������}|� |�j��������}|}�nt����������j��������}|����������������������|||������������}|s�||�|||������������S� ��||������������}n#�t ����������j��������$�r�Y�dS�w�xY�w ��||������������}n#�t ����������j��������$�r�Y�dS�w�xY�w|����������������������||������������S�)N�_temp_override_selfF)�getattr�_temp_call_super_check_output� OutputChecker�check_output� get_parserr����XMLSyntaxError�compare_docs) r/����want�got�optionflags�alt_self�super_method�parser�want_doc�got_docs ��� r���r6���zLXMLOutputChecker.check_outputZ���s��������4�!6��=�=�����=�L��D�D�(�5�L�����s�K�8�8���� .��<��d�C��.��.�� .� ��v�d�|�|�H�H���#�� �� �� ��5�5� ���� ��f�S�k�k�G�G���#�� �� �� ��5�5� ����� � ��7�3�3�3s$����A��A1�0A1�5B��B�Bc����������������������d�}t�����������|z��rd�S�t����������|z��rt����������}n�t����������|z��r t����������j��������}n�|�������������������������������������������������������������������������������������������d������������r/|��������������������������������������������������������d������������rt����������}n>|�� ��������������������|������������r)|�� ��������������������|������������r|�� ����������������������������������}|S�)Nz<html)r���r���r ���r���r���r-���r����lower� startswith�_looks_like_markupr0���)r/���r:���r;���r<���r?���s��� r���r7���zLXMLOutputChecker.get_parsero���s����������K�'�� ��4���#�� /�$�F�F� �� $�� /��Y�F�F��j�j�l�l� � �"�"�-�-�g�6�6�� /��)�)�+�+�(�(��1�1� /�$�F�F��%�%�d�+�+�� /��)�)�#�.�.� /��,�,�.�.�F�� r���c�����������������������|������������������������������������}|���������������������d������������ot�������������������������������|�������������S�)N�<)r���rD����_repr_re�search)r/����ss��� r���rE���z$LXMLOutputChecker._looks_like_markup���s:������ �G�G�I�I�����S�!�!��+� ����*�*�*� ,r���c������������������&����|�����������������������|j��������|j��������������������sdS�|����������������������|j��������|j��������d������������sdS�|����������������������|j��������|j��������d������������sdS�d|j��������vr�t ����������|j�������������������������������������������������������}t ����������|j�������������������������������������������������������}||k����rdS�|D�]2}|����������������������|j��������|���������|j��������|���������d������������s�dS��3|j��������dk����st����������|������������r|t����������|������������}t����������|������������}|s|rZ|r|sdS�|� ��������������������d������������}|� ��������������������d������������} |����������������������|| ������������sdS�|s|j��������dk����rn|�X|�ZdS�)NFT�anyz...r���)�tag_compare�tag�text_compare�text�tail�attrib�sorted�keys�len�list�popr9���) r/���r:���r;���� want_keys�got_keys�key� want_children�got_children� want_first� got_firsts ��� r���r9���zLXMLOutputChecker.compare_docs����s�����������#�'�2�2�� ��5�� � ���C�H�d�;�;�� ��5�� � ���C�H�d�;�;�� ��5����#�#��t�{�/�/�1�1�2�2�I��c�j�o�o�/�/�0�0�H��H�$�$��u� �� !�� !���(�(���S�)9�3�:�c�?�E�R�R��!� �5�5�!��9�����T���� ��J�J�M���9�9�L��� �<�� �$��!�L��!� �5�*�.�.�q�1�1� �(�,�,�Q�/�/� ��(�(��Y�?�?��!� �5�#��� ��5�(@�(@��� �� �<�� ���tr���c������������������&����|pd}|pd}|rBt����������|�����������������������������������������������}t����������|�����������������������������������������������}dt����������j��������|������������z��}|���������������������dd������������}t����������j��������||������������rdS�dS�)N��z^%s$z\.\.\.z.*TF)r���r����rer����replacerI���)r/���r:���r;���r���s��� r���rO���zLXMLOutputChecker.text_compare����s��������z�r���i�R���� /�"�4�(�(�.�.�0�0�D�!�#�&�&�,�,�.�.�C��� �$���'���|�|�I�t�,�,�� �9�T�3���� ��4��5r���c������������������(����|dk����rdS�t����������|t����������������������rt����������|t����������������������s||k����S�|pd}|pd}|���������������������d������������r8|���������������������d������������d���������|���������������������d������������d���������k����S�||k����S�)NrL���Tr`���z{...}�}���)� isinstance�_basestringrD����split)r/���r:���r;���s��� r���rM���zLXMLOutputChecker.tag_compare����s��������5�=�=��4��4��-�-�� ��c�;�/�/� ��3�;���z�r���i�R���?�?�7�#�#�� ��:�:�c�?�?�2�&�#�)�)�C�.�.��*<�<�<��3�;�r���c����������������������|j���������}|����������������������|||������������}g�}|�� ��||������������}nF#�t����������j��������$�r4�t ����������j����������������������d���������}|���������������������d|z���������������Y�nw�xY�w ��||������������} nF#�t����������j��������$�r4�t ����������j����������������������d���������}|���������������������d|z���������������Y�nw�xY�w|�|rKt�������������������������������|�|||������������} |r*|���������������������| �������������d� ��������������������|������������S�| S�|t����������u�}d|����������������������||d������������d|����������������������| |d������������d|����������������������|| |d������������g}d� ��������������������|������������S�) N����zIn example: %szIn actual output: %s� z Expected:����zGot:zDiff:) r:���r7���r���r8����sys�exc_info�appendr5����output_difference�joinr ���� format_doc�collect_diff) r/����exampler;���r<���r:���r?����errorsr@����erA����valuer���� diff_partss ��� r���rp���z#LXMLOutputChecker.output_difference����s�������|������s�K�8�8������ 4�!�6�$�<�<�����'�� 4�� 4�� 4��L�N�N�1�%��� � �.��2�3�3�3�3�3� 4���� :� �&��+�+�����'�� :�� :�� :��L�N�N�1�%��� � �4�q�8�9�9�9�9�9� :������>�V�>�!�3�3��g�s�K�1��1�E��� �� � �e�$�$�$��y�y��(�(�(�����(��!��o�o�h��a�8�8���o�o�g�t�Q�7�7���'�'��'�4��C�C�E� ���y�y��$�$�$s#����0��A�A3�2A3�7B��A�C�CTc������������������^�����|sdS�|j���������|�j��������vrdS�|j��������st����������|������������rdS�dS�)NFT)rN���� empty_tagsrP���rU���)r/����elr���s��� r����html_empty_tagz LXMLOutputChecker.html_empty_tag����sD�������� ��5� �6���(�(��5� �7�� �c�"�g�g�� ��5��tr���r`���c����������� �����������g�}t����������|�������������s?|���������������������d|z���������������|���������������������|�������������|���������������������|����������������������|�������������������������|����������������������||������������sit ����������|j��������������������r-|���������������������|����������������������|j���������������������������������|���������������������|����������������������|�������������������������t ����������|j��������������������r-|���������������������|����������������������|j���������������������������������|���������������������d�������������d� ��������������������|������������S�|���������������������d|z���������������|���������������������|�������������|���������������������|����������������������|�������������������������|����������������������||�������������s |���������������������d�������������t ����������|j��������������������rZ|���������������������d|z���������������|���������������������|����������������������|j���������������������������������|���������������������d�������������|D�]/}|���������������������|�� ��������������������|||dz�����������������������������0|���������������������d|z���������������|���������������������|����������������������|�������������������������|���������������������d�������������t ����������|j��������������������rZ|���������������������d|z���������������|���������������������|����������������������|j���������������������������������|���������������������d�������������d� ��������������������|������������S�)Nr���rk���r`���rl���)rU���ro���� format_tagr|���r���rP����format_text�format_end_tagrQ���rq���rr���)r/����docr����indent�prefix�partsr{���s��� r���rr���zLXMLOutputChecker.format_doc����s���������3�x�x�� "��L�L��V��$�$�$��L�L�� � � ��L�L�����-�-�.�.�.��&�&�s�D�1�1�� 7����?�?��=��L�L��!1�!1�#�(�!;�!;�<�<�<����T�0�0��5�5�6�6�6��S�X���� 9����T�-�-�c�h�7�7�8�8�8��L�L������7�7�5�>�>�!� ���S��Z� � � � ���V���� ���T�_�_�S�)�)�*�*�*��"�"�3��-�-�� ��L�L������S�X���� #����S��Z�(�(�(����T�-�-�c�h�7�7�8�8�8����T�"�"�"��� B�� B�����T�_�_�R��v�a�x�@�@�A�A�A�A��L�L��V��$�$�$��L�L��,�,�S�1�1�2�2�2��L�L��������?�?�� ��L�L��V��$�$�$��L�L��)�)�#�(�3�3�4�4�4��L�L������w�w�u�~�~�r���c������������������V�����|�dS�|r|������������������������������������}t����������|d������������S�)Nr`���rj���)r����html_escape)r/���rP���r���s��� r���r���zLXMLOutputChecker.format_text ��s1�������<��2��� ��:�:�<�<�D��4��#�#�#r���c����������� �������N����g�}t����������|t����������j��������������������rdS�t����������|j�������������������������������������������������������D�]4\��}}|���������������������|�d|����������������������|d�������������d���������������5|s d|j��������z��S�d|j���������dd� ��������������������|�������������d�S�) Nz<!--�="F�"�<%s>rG���r����>) rf���r����CommentBaserS���rR����itemsro���r���rN���rq���)r/���r{����attrs�namerw���s��� r���r~���zLXMLOutputChecker.format_tag��s����������b�%�+�,�,�� ��6�!�"�)�/�/�"3�"3�4�4�� M�� M�K�D�%��L�L�d�d�d�D�,<�,<�U�E�,J�,J�,J�,J�K�L�L�L�L��� #��B�F�?�"� #��F�F�F�C�H�H�U�O�O�O�O�4�4r���c������������������N�����t����������|t����������j��������������������rdS�d|j��������z��S�)Nz-->�</%s>)rf���r���r����rN���)r/���r{���s��� r���r����z LXMLOutputChecker.format_end_tag��s)�������b�%�+�,�,�� ��5�����r���c����������� �����������g�}t����������|�������������s t����������|�������������s|���������������������d|z���������������|���������������������|����������������������||�������������������������|����������������������||������������s\|���������������������|����������������������|j��������|j���������������������������������|���������������������|����������������������||�������������������������|���������������������|����������������������|j��������|j���������������������������������|���������������������d�������������d���������������������|������������S�|���������������������d|z���������������|���������������������|����������������������||�������������������������|���������������������d�������������t����������|j��������������������st����������|j��������������������r`|���������������������d|z���������������|���������������������|����������������������|j��������|j���������������������������������|���������������������d�������������t����������|������������}t����������|������������}|s|r�|sB|���������������������|����������������������|���������������������d������������||dz���d��������������������������H|sB|���������������������|����������������������|���������������������d������������||dz���d���������������������������|���������������������|�� ��������������������|���������������������d������������|���������������������d������������||dz����������������������������|��|��|���������������������d|z���������������|���������������������|����������������������||�������������������������|���������������������d�������������t����������|j��������������������st����������|j��������������������r`|���������������������d|z���������������|���������������������|����������������������|j��������|j���������������������������������|���������������������d�������������d���������������������|������������S�)Nr���rk���r`���r���rl����+�-)rU���ro����collect_diff_tagr|����collect_diff_textrP����collect_diff_end_tagrQ���rq���r���rV���rr���rW���rs���)r/���r:���r;���r���r����r����r[���r\���s��� r���rs���zLXMLOutputChecker.collect_diff!��s���������4�y�y�� "��S���� "��L�L��V��$�$�$��L�L��.�.�t�S�9�9�:�:�:��&�&�s�D�1�1�� C����T�3�3�D�I�s�x�H�H�I�I�I����T�6�6�t�S�A�A�B�B�B��L�L��/�/�� �3�8�D�D�E�E�E��L�L������7�7�5�>�>�!� ���S��Z� � � � ���T�*�*�4��5�5�6�6�6� ���T���������� �u�S�X���� ��L�L��V��$�$�$��L�L��/�/�� �3�8�D�D�E�E�E��L�L������T� � � ��C�y�y���� L�|�� L� �� ����T�_�_�\�-=�-=�a�-@�-@�$��q��RU�V�V�W�W�W���� ����T�_�_�]�->�->�q�-A�-A�4��PQ��SV�W�W�X�X�X���L�L��*�*��!�!�!�$�$�l�&6�&6�q�&9�&9�4����K��K�� L�� L�� L���� L�|�� L�� ���S��Z� � � � ���T�.�.�t�S�9�9�:�:�:� ���T���������� �u�S�X���� ��L�L��V��$�$�$��L�L��/�/�� �3�8�D�D�E�E�E��L�L������w�w�u�~�~�r���c����������� �������H����|�����������������������|j��������|j��������������������s|j���������d|j���������d�}n|j��������}g�}|j��������dk����pd|j��������v�}t����������|j�������������������������������������������������������D�]�\��}}||j��������vr3|s1|���������������������d|�d|����������������������|d�������������d���������������A||j��������v�r#|����������������������|j��������|���������|d������������}n|����������������������|d������������}|���������������������|�d|�d����������������|sft����������|j�������������������������������������������������������D�]?\��}}||j��������v�r�|���������������������d|�d|����������������������|d�������������d���������������@|rd |�d d ���������������������|�������������d�}nd|z��}|S�) N� (got: �)rL���r����r����Fr����r����rG���r���r����r����) rM���rN���rR���rS���r����ro���r���r����rq���) r/���r:���r;���rN���r����rL���r����rw���rP���s ��� r���r����z"LXMLOutputChecker.collect_diff_tagG��s�����������#�'�2�2�� �$(�H�H�H�c�g�g�g�6�C�C��'�C����h�%��7�5�D�K�#7��!�#�*�"2�"2�"4�"4�5�5�� 7�� 7�K�D�%��4�;�&�&�s�&�����4�4�4��1A�1A�%��1O�1O�1O�1O�P�Q�Q�Q�Q��4�;�&�&��1�1�$�+�d�2C�U�E�R�R�D�D��+�+�E�5�9�9�D����$�$�$����5�6�6�6�6��� R�%�d�k�&7�&7�&9�&9�:�:�� R�� R���e��3�:�%�%������4�4�4��1A�1A�%��1O�1O�1O�1O�P�Q�Q�Q�Q��� �� �"�s�s�C�H�H�U�O�O�O�O�4�C�C��3�,�C�� r���c������������������`�����|j���������|j���������k����r|j����������d|j����������d�}n|j���������}d|z��S�)Nr����r����r����)rN���)r/���r:���r;���rN���s��� r���r����z&LXMLOutputChecker.collect_diff_end_tagb��s:�������8�s�w���$(�H�H�H�c�g�g�g�6�C�C��'�C���}�r���c�����������������������|�����������������������|||������������r|sdS�|����������������������||������������S�|�d|�d�}|����������������������||������������S�)Nr`���r����r����)rO���r���)r/���r:���r;���r���rP���s��� r���r����z#LXMLOutputChecker.collect_diff_texti��sg���������T�3��.�.�� 0��� ��r��#�#�C��/�/�/�!%���s�s�s�+������e�,�,�,r���N)T)r`���)�__name__� __module__�__qualname__rz���r0���r6���r7���rE���r9���rO���rM���rp���r|���rr���r���r~���r����rs���r����r����r������r���r���r���r���Q���s1�������������'�J������4��4��4�*����� ,��,��,� �����:����������%��%��%�@�������!��!��!��!�F$��$��$��$� 5�� 5�� 5� �� �� �$��$��$�L�����6�����-��-��-��-��-��-r���r���c�������������������������e�Zd�Zd��ZdS�)r ���c�����������������������t�����������S�r���)r ���r.���s��� r���r0���z%LHTMLOutputChecker.get_default_parserr��s�������r���N)r����r����r����r0���r����r���r���r ���r ���q��s#����������������������r���r ���c������������������R�����|�rt�����������t����������_��������dS�t����������t����������_��������dS�)z� Install doctestcompare for all future doctests. If html is true, then by default the HTML parser will be used; otherwise the XML parser is used. N)r ����doctestr5���r���r���s��� r���r ���r ���u��s(���������2� 2����� 1����r���c������������������`����|�rt�����������}nt����������}t������������������������}|j��������d���������}�|��������������}|j��������}||_��������t ����������r|j��������d���������j��������}|j��������j��������}n|j��������d���������j��������}|j��������j��������}t����������t����������_ ��������t����������||||||�������������dS�)z� Use this *inside* a doctest to enable this checker for this doctest only. If html is true, then by default the HTML parser will be used; otherwise the XML parser is used. r/����checkN)r ���r����_find_doctest_frame�f_locals�_checker�_IS_PYTHON_3�__func__r6����im_funcr���r�����_RestoreChecker) r���� del_module�Checker�frame�dt_self�checker�old_checker� check_func�checker_check_funcs ��� r���r���r������s����������$�$���#���!�!�E��n�V�$�G��g�i�i�G��"�K��G�����:��^�G�,�5� �$�1�:����^�G�,�4� �$�1�9����G�M��G�[�'�� 2�� �� �� �� �� r���c��������������������>�����e�Zd�Zd��Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z d S�) r����c������������������������||�_���������||�_��������|�j��������|�j��������_��������||�j��������_��������||�_��������||�_��������||�_��������|�������������������������������������|�� �����������������������������������d�S�r���) r����r����� call_superr4���r2���r����� clone_funcr����� install_clone�install_dt_self)r/���r����r�����new_checkerr����r����r����s��� r����__init__z_RestoreChecker.__init__���se���������"���59�_���2�+6���(�$���$���$����������������r���c�����������������������t�����������r:|�j��������j��������|�_��������|�j��������j��������|�_��������|�j��������j��������|�j��������_��������d�S�|�j��������j��������|�_��������|�j��������j��������|�_��������|�j��������j��������|�j��������_��������d�S�r���)r����r�����__code__� func_code�__globals__�func_globalsr����r.���s��� r���r����z_RestoreChecker.install_clone���sg�������� B�!�_�5�D�N� $�� ;�D��'+��'?�D�O�$�$�$�!�_�6�D�N� $�� <�D��(,��(A�D�O�%�%�%r���c������������������\�����t�����������r|�j��������|�j��������_��������d�S�|�j��������|�j��������_��������d�S�r���)r����r����r����r����r.���s��� r����uninstall_clonez_RestoreChecker.uninstall_clone���s.�������� 7�'+�~�D�O�$�$�$�(,��D�O�%�%�%r���c������������������@�����|�j���������j��������|�_��������|�|�j���������_��������d�S�r���)r�����_DocTestRunner__record_outcome� prev_funcr.���s��� r���r����z_RestoreChecker.install_dt_self���s��������D���6:���3�3�3r���c������������������(�����|�j���������|�j��������_��������d�S�r���)r����r����r����r.���s��� r����uninstall_dt_selfz!_RestoreChecker.uninstall_dt_self���s������6:�n���3�3�3r���c������������������������|�j���������rWdd�l}|j��������|�j���������=�d|�j���������v�r?|�j������������������������������dd������������\��}}|j��������|���������}t ����������||�������������d�S�d�S�d�S�)Nr����.rj���)r����rm����modules�rsplit�delattr)r/���rm����package�module�package_mods��� r����uninstall_modulez _RestoreChecker.uninstall_module���s}�������?�� -��J�J�J���D�O�,��d�o�%�%�"&�/�"8�"8��a�"@�"@����!�k�'�2����V�,�,�,�,�,� -�� -��&�%r���c�����������������������|��������������������������������������|�������������������������������������|�j��������`|�j��������`�|�j��������|i�|��}|�������������������������������������|S�r���)r����r����r����r2���r4���r����r����)r/����args�kw�results��� r����__call__z_RestoreChecker.__call__���sc��������������� � � ��L�,��L�6�����,��,�,��������� r���c�����������������������|�������������������������������������� ��|�j��������|i�|��|�������������������������������������S�#�|�������������������������������������w�xY�wr���)r����r����r����)r/���r����r����s��� r���r����z_RestoreChecker.call_super���sZ������������ !�"�4�?�D�/�B�/�/���� � � � ��D��� � � � ���s ����7��A N)r����r����r����r����r����r����r����r����r����r����r����r����r���r���r����r�������s��������������� �� �� �B��B��B�7��7��7� ;��;��;�E��E��E�-��-��-������!��!��!��!��!r���r����c�������������������x�����dd�l�}��|�j��������d������������}|r|j��������}d|v�r|S�|j��������}|�t ����������d�������������)Nr���rj����BOOMzBCould not find doctest (only use this function *inside* a doctest))rm���� _getframer�����f_back�LookupError)rm���r�����ls��� r���r����r�������sd�������J�J�J��C�M�!���E� ����N���Q�;�;��L����������L�N��N��Nr����basicai�� >>> temp_install() >>> print """<xml a="1" b="2">stuff</xml>""" <xml b="2" a="1">...</xml> >>> print """<xml xmlns="http://example.com"><tag attr="bar" /></xml>""" <xml xmlns="..."> <tag attr="..." /> </xml> >>> print """<xml>blahblahblah<foo /></xml>""" # doctest: +NOPARSE_MARKUP, +ELLIPSIS <xml>...foo /></xml> �__main__)F)FN)*�__doc__�lxmlr���rm���ra���r����r���r���r�����ImportError�cgi�__all__� basestringrg���� NameError�str�bytes�version_infor�����register_optionflagr���r���r���r5���r���r���� HTMLParserr���r ����compilerH���r���r���r ���r ���r����objectr����r�����__test__r�����testmodr����r���r����<module>r�������s�����#��#�J������������� � � � �� � � � ������*�*�*�*�*�*�*�*����*��*��*�)�)�)�)�)�)�)�)�*����<��<��<����K�K�����������,�K�K�K���������"�a�'�� (�W� (�� 6� 6� �'�G�'��4�4� �,��,�-=�>�>���%� ������+��+��+�� �u����F�F�F��0��0��0���2�:�-�.�.�� �b�j�!3�4�4���^-��^-��^-��^-��^-� ��^-��^-��^-�@ ���������*������� 2�� 2�� 2�� 2�% ��% ��% ��% �N4!��4!��4!��4!��4!�f��4!��4!��4!�l N�� N�� N���� � ����z����N�N�N��G�O��������s������+�+�6�� A�A