� K�g����6�ddlmZmZmZddlmZmZddlZddlm Z ddlm Z ddlm Z ddl m Z dd lmZdd lmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z dd �Z!dd�Z"d�Z#Gd�de$��Z%ej&d���Z'd�Z( dd�Z)Gd�de*��Z+dS)�)�absolute_import�division�unicode_literals)�with_metaclass�viewkeysN�)� _inputstream)� _tokenizer)� treebuilders)�Marker)�_utils)�spaceCharacters�asciiUpper2Lower�specialElements�headingElements� cdataElements�rcdataElements� tokenTypes� tagTokenTypes� namespaces�htmlIntegrationPointElements�"mathmlTextIntegrationPointElements�adjustForeignAttributes�adjustMathMLAttributes�adjustSVGAttributes�E�_ReparseException�etreeTc �h�tj|��}t||���}|j|fi|��S)a�Parse an HTML document as a string or file-like object into a tree :arg doc: the document to parse as a string or file-like object :arg treebuilder: the treebuilder to use when parsing :arg namespaceHTMLElements: whether or not to namespace HTML elements :returns: parsed tree Example: >>> from html5lib.html5parser import parse >>> parse('<html><body><p>This is a doc</p></body></html>') <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> ��namespaceHTMLElements)r �getTreeBuilder� HTMLParser�parse)�doc� treebuilderr!�kwargs�tb�ps �d/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/html5lib/html5parser.pyr$r$sA��$ � $�[� 1� 1�B��2�-B�C�C�C�A� �1�7�3� !� !�&� !� !�!��divc �l�tj|��}t||���}|j|fd|i|��S)a#Parse an HTML fragment as a string or file-like object into a tree :arg doc: the fragment to parse as a string or file-like object :arg container: the container context to parse the fragment in :arg treebuilder: the treebuilder to use when parsing :arg namespaceHTMLElements: whether or not to namespace HTML elements :returns: parsed tree Example: >>> from html5lib.html5libparser import parseFragment >>> parseFragment('<b>this is a fragment</b>') <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> r � container)r r"r#� parseFragment)r%r.r&r!r'r(r)s r*r/r/1sF��( � $�[� 1� 1�B��2�-B�C�C�C�A� �1�?�3� >� >�)� >�v� >� >�>r+c�2��G�fd�dt��}|S)Nc���eZdZ�fd�ZdS)�-method_decorator_metaclass.<locals>.Decoratedc����|���D]/\}}t|tj��r �|��}|||<�0t�||||��S�N)�items� isinstance�types� FunctionType�type�__new__)�meta� classname�bases� classDict� attributeName� attribute�functions �r*r:z5method_decorator_metaclass.<locals>.Decorated.__new__Lsj���,5�O�O�,=�,=� 5� 5�(� �y��i��);�<�<�4� (��� 3� 3�I�+4� �-�(�(��<�<��i�� �B�B� Br+N)�__name__� __module__� __qualname__r:)rAs�r*� Decoratedr2Ks5������� C� C� C� C� C� C� Cr+rE)r9)rArEs` r*�method_decorator_metaclassrFJsI���C�C�C�C�C�C�C�D�C�C�C� �r+c��eZdZdZdd�Zdd�Zd�Zed ���Zd �Z d �Z d �Z d �Z d�Z dd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)r#z]HTML parser Generates a tree structure from a stream of (possibly malformed) HTML. NFTc����|�_|�tjd��}||���_g�_�fd�t |�����D���_dS)a� :arg tree: a treebuilder class controlling the type of tree that will be returned. Built in treebuilders can be accessed through html5lib.treebuilders.getTreeBuilder(treeType) :arg strict: raise an exception when a parse error is encountered :arg namespaceHTMLElements: whether or not to namespace HTML elements :arg debug: whether or not to enable debug mode which logs things Example: >>> from html5lib.html5parser import HTMLParser >>> parser = HTMLParser() # generates parser with etree builder >>> parser = HTMLParser('lxml', strict=True) # generates parser with lxml builder which is strict Nrc�:��i|]\}}||��j����S�)�tree)�.0�name�cls�selfs �r*� <dictcomp>z'HTMLParser.__init__.<locals>.<dictcomp>ys9���1�1�1�i�d�C�t�S�S��t�y�1�1�1�1�1r+)�strictr r"rK�errors� getPhasesr5�phases)rOrKrQr!�debugs` r*�__init__zHTMLParser.__init__]s|���*�� � �<��.�w�7�7�D��D�.�/�/�� ��� �1�1�1�1� ��'�'�-�-�/�/�1�1�1�� � � r+r,c �&�||_||_||_tj|fd|i|��|_|��� |���dS#t$r,|���|���YdSwxYw)N�parser) � innerHTMLModer.� scriptingr � HTMLTokenizer� tokenizer�reset�mainLoopr)rO�stream� innerHTMLr.rZr's r*�_parsezHTMLParser._parse|s���&���"���"���#�1�&�P�P��P��P�P��� � � � � � � � �M�M�O�O�O�O�O�� � � � � �J�J�L�L�L� �M�M�O�O�O�O�O�O� ���s�A�2B�Bc�p�|j���d|_g|_g|_d|_|jr�|j���|_ |j tvr|j j |j _ nH|j tvr|j j|j _ n#|j dkr|j j|j _ n |jd|_|j���|���nd|_ |jd|_d|_d|_d|_dS)NFz no quirks� plaintext� beforeHtml�initialT)rKr]� firstStartTagrR�log� compatModerYr.�lowerr`rr\� rcdataState�stater� rawtextState�plaintextStaterT�phase�insertHtmlElement�resetInsertionMode� lastPhase�beforeRCDataPhase� framesetOK�rOs r*r]zHTMLParser.reset�s�� � ������"����� ����%��� � � 0�!�^�1�1�3�3�D�N��~��.�.�'+�~�'A���$�$���>�1�1�'+�~�'B���$�$���;�.�.�'+�~�'D���$�$����\�2�D�J� �J� (� (� *� *� *� � #� #� %� %� %� %�"�D�N���Y�/�D�J����!%�������r+c�^�t|d��sdS|jjjdjS)z�Name of the character encoding that was used to decode the input stream, or :obj:`None` if that is not determined yet r\Nr)�hasattrr\r_� charEncodingrMrts r*�documentEncodingzHTMLParser.documentEncoding�s1�� �t�[�)�)� ��4��~�$�1�!�4�9�9r+c���|jdkrF|jtdkr0d|jvo&|jd�t ��dvS|j|jft vS)N�annotation-xml�mathml�encoding)z text/htmlzapplication/xhtml+xml)rM� namespacer� attributes� translaterr�rO�elements r*�isHTMLIntegrationPointz!HTMLParser.isHTMLIntegrationPoint�sv�� �L�,� ,� ,��!�Z��%9�9�9��'�"4�4�;��&�z�2�<�<�(�*�*�:�;� <� �%�w�|�4�8T�T� Tr+c�,�|j|jftvSr4)r}rMrr�s r*�isMathMLTextIntegrationPointz'HTMLParser.isMathMLTextIntegrationPoint�s���!�7�<�0�4V�V�Vr+c��td}td}td}td}td}td}td}|jD�]#}d} |} | ���| } |jjr|jjdnd} | r| jnd} | r| jnd} | d }||kr4|�| d | �d i����d} �nht|jj��d ks�| |jj ks|� | ��r%||kr|d tddg��vsK|||fvsE| tdkr| dkr||kr |d dks|� | ��r||||fvr|j}n |jd}||kr|�| ��} n�||kr|�| ��} no||kr|�| ��} nS||kr|�| ��} n7||kr|�| ��} n||kr|�| ��} | ���||kr.| dr&| ds|�dd | d i����%d}g}|rD|�|j��|j���}|r |j|vsJ�|�BdSdS)N� Characters�SpaceCharacters�StartTag�EndTag�Comment�Doctype� ParseError�����r9�data�datavarsrrM�mglyph� malignmarkr{rz�svg�inForeignContent� selfClosing�selfClosingAcknowledgedz&non-void-element-with-trailing-solidusT)rr\rK� openElementsr}rM� parseError�get�len�defaultNamespacer�� frozensetrr�rnrT�processCharacters�processSpaceCharacters�processStartTag� processEndTag�processComment�processDoctype�append� processEOF)rO�CharactersToken�SpaceCharactersToken� StartTagToken� EndTagToken� CommentToken� DoctypeToken�ParseErrorToken�token� prev_token� new_token� currentNode�currentNodeNamespace�currentNodeNamer9rn� reprocessrTs r*r^zHTMLParser.mainLoop�sn��$�\�2��)�*;�<��"�:�.� � ��*� �!�)�,� �!�)�,� �$�\�2���^�/ >�/ >�E��J��I��'�&� �<@�I�<R�\�d�i�4�R�8�8�X\� �@K�'U�{�'<�'<�QU�$�6A�"K�+�"2�"2�t�� ��(���?�*�*��O�O�I�f�$5�y�}�}�Z�QS�7T�7T�U�U�U� $�I�I��D�I�2�3�3�q�8�8�,�� �0J�J�J��:�:�;�G�G�K��=�0�0� ��=� �8�\�:R�0S�0S�S�S��?�4H�"I�I�I�-��H�1E�E�E�(�,<�<�<���.�.��v��%�/�/��4�4�[�A�A�0��-��BV�!W�W�W� $� ��� $� �,>� ?����.�.�$)�$;�$;�I�$F�$F� � ��!5�5�5�$)�$@�$@��$K�$K� � ���.�.�$)�$9�$9�)�$D�$D� � ���,�,�$)�$7�$7� �$B�$B� � ���-�-�$)�$8�$8��$C�$C� � ���-�-�$)�$8�$8��$C�$C� �O�'�R� �%�%�*�]�*C�%�"�#<�=�&���� H�!'��F�);� <�>�>�>��� ���� 0� �M�M�$�*� %� %� %�� �-�-�/�/�I�� 0��z��/�/�/�/� � 0� 0� 0� 0� 0r+c�Z�|j|ddg|�Ri|��|j���S)a�Parse a HTML document into a well-formed tree :arg stream: a file-like object or string containing the HTML to be parsed The optional encoding parameter must be a string that indicates the encoding. If specified, that encoding will be used, regardless of any BOM or later declaration (such as in a meta element). :arg scripting: treat noscript elements as if JavaScript was turned on :returns: parsed tree Example: >>> from html5lib.html5parser import HTMLParser >>> parser = HTMLParser() >>> parser.parse('<html><body><p>This is a doc</p></body></html>') <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> FN)rarK� getDocument�rOr_�argsr's r*r$zHTMLParser.parses>��, �� �F�E�4�9�$�9�9�9�&�9�9�9��y�$�$�&�&�&r+c�X�|j|dg|�Ri|��|j���S)aZParse a HTML fragment into a well-formed tree fragment :arg container: name of the element we're setting the innerHTML property if set to None, default to 'div' :arg stream: a file-like object or string containing the HTML to be parsed The optional encoding parameter must be a string that indicates the encoding. If specified, that encoding will be used, regardless of any BOM or later declaration (such as in a meta element) :arg scripting: treat noscript elements as if JavaScript was turned on :returns: parsed tree Example: >>> from html5lib.html5libparser import HTMLParser >>> parser = HTMLParser() >>> parser.parseFragment('<b>this is a fragment</b>') <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> T)rarK� getFragmentr�s r*r/zHTMLParser.parseFragments<��2 �� �F�D�2�4�2�2�2�6�2�2�2��y�$�$�&�&�&r+�XXX-undefined-errorc���|�i}|j�|jj���||f��|jrt t||z���dSr4)rRr�r\r_�positionrQr�r)rO� errorcoder�s r*r�zHTMLParser.parseError;sf�� � ��H� � ���D�N�1�:�:�<�<�i��R�S�S�S� �;� 6��Q�y�\�H�4�5�5� 5� 6� 6r+c�0�t|t��dSr4)�adjust_attributesr�rOr�s r*rz!HTMLParser.adjustMathMLAttributesCs���%�!7�8�8�8�8�8r+c�0�t|t��dSr4)r�rr�s r*rzHTMLParser.adjustSVGAttributesFs���%�!4�5�5�5�5�5r+c�0�t|t��dSr4)r��adjustForeignAttributesMapr�s r*rz"HTMLParser.adjustForeignAttributesIs���%�!;�<�<�<�<�<r+c�8�|j���dSr4)rXrnr�s r*�reparseTokenNormalzHTMLParser.reparseTokenNormalLs�� � �������r+c�j�d}ddddddddddd d d d d �}|jjddd �D]�}|j}d}||jjdkr|jsJ�d}|j}|dvr |jsJ�|s|j|jjkr�X||vr|j||}n|r|jd }n��||_dS)NF�inSelect�inCell�inRow� inTableBody� inCaption� inColumnGroup�inTable�inBody� inFrameset� beforeHead)�select�td�th�tr�tbody�thead�tfoot�caption�colgroup�table�head�body�frameset�htmlr�rT)r�r�r�r�)rKr�rMr`r}r�rTrn)rO�last�newModes�node�nodeName� new_phases r*rpzHTMLParser.resetInsertionModePs���� ����"�"�"�"�'����$� � � �� �I�*�4�4�R�4�0� � �D��y�H��I��t�y�-�a�0�0�0��~�%�%�~����>���A�A�A��~�%�%�~�� �D�N�d�i�.H�H�H���8�#�#� �K���(:�;� ���� � �K��1� ��� ��� � � r+c���|dvsJ�|j�|��|dkr|jj|j_n|jj|j_|j|_|jd|_dS)N)�RAWTEXT�RCDATAr��text) rK� insertElementr\rlrkrjrn� originalPhaserT)rOr�� contentTypes r*�parseRCDataRawtextzHTMLParser.parseRCDataRawtext|sr���3�3�3�3�3� � ����&�&�&� �)� #� #�#'�>�#>�D�N� � �#'�>�#=�D�N� �!�Z����[��(�� � � r+)NFTF)Fr,F)r�N)rBrCrD�__doc__rVrar]�propertyrxr�r�r^r$r/r�rrrr�rpr�rJr+r*r#r#Vs5�������� 1�1�1�1�> � � � � � � �D�:�:��X�:�U�U�U�W�W�W�A0�A0�A0�F'�'�'�2'�'�'�86�6�6�6�9�9�9�6�6�6�=�=�=����*�*�*�X )� )� )� )� )r+r#c �����d�}d�}Gd�dt|||�������Gd�d���}Gd�d���}Gd �d ���}Gd �d ���}Gd �d���}Gd�d���}G��fd�d����Gd�d���} G�fd�d���} G�fd�d����G�fd�d���} G�fd�d���} G�fd�d���} G�fd�d ���}G�fd!�d"���}G�fd#�d$���}Gd%�d&���}G�fd'�d(���}Gd)�d*���}G�fd+�d,���}G�fd-�d.���}Gd/�d0���}Gd1�d2���}id3|�d4|�d5|�d6|�d7|�d8|�d9��d:| �d;| �d<��d=| �d>| �d?| �d@|�dA|�dB|�dC|�||||||dD��S)ENc�P���d�tj��D�����fd�}|S)z4Logger that records which phase processes each tokenc��i|]\}}||�� SrJrJ)rL�key�values r*rPz*getPhases.<locals>.log.<locals>.<dictcomp>�s��F�F�F�Z�S�%�e�S�F�F�Fr+c����j�d��r�t|��dkr�|d}d�|di}|dtvr |d|d<|jj�|jjjj|jj j j|j j�j|f���|g|�Ri|��S�|g|�Ri|��S)N�processrr9rM) rB� startswithr�rrXrgr�r\rkrn� __class__)rOr�r'r��inforA� type_namess ��r*�wrappedz'getPhases.<locals>.log.<locals>.wrapped�s����� �+�+�I�6�6� 7�3�t�9�9�q�=�=��Q���� �5��=� 9�:����=�M�1�1�#(��=�D��L�� ��&�&�� �(=�(C�(L�(,� �(9�(C�(L�(,��(?�(0�(9�(,� (.�/�/�/�  �x��6�t�6�6�6�v�6�6�6��x��6�t�6�6�6�v�6�6�6r+)rr5)rAr�r�s` @r*rgzgetPhases.<locals>.log�sE����F�F�:�3C�3E�3E�F�F�F� � 7� 7� 7� 7� 7� 7��r+c�2�|rt|��StSr4)rFr9)� use_metaclass�metaclass_funcs r*� getMetaclasszgetPhases.<locals>.getMetaclass�s�� � �-�n�=�=� =��Kr+c�L�eZdZdZdZd�Zd�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z d S) �getPhases.<locals>.PhasezNBase class for helper object that implements each phase of processing )rXrK�__startTagCache� __endTagCachec�>�||_||_i|_i|_dSr4)rXrK�_Phase__startTagCache�_Phase__endTagCache)rOrXrKs r*rVz!getPhases.<locals>.Phase.__init__�s&�� �D�K��D�I�#%�D� �!#�D� � � r+c��t�r4)�NotImplementedErrorrts r*r�z#getPhases.<locals>.Phase.processEOF�s��%� %r+c�\�|j�||jjd��dS)Nr��rK� insertCommentr�r�s r*r�z'getPhases.<locals>.Phase.processComment�s,�� �I� #� #�E�4�9�+A�"�+E� F� F� F� F� Fr+c�:�|j�d��dS)Nzunexpected-doctype�rXr�r�s r*r�z'getPhases.<locals>.Phase.processDoctype�s�� �K� "� "�#7� 8� 8� 8� 8� 8r+c�F�|j�|d��dS�Nr��rK� insertTextr�s r*r�z*getPhases.<locals>.Phase.processCharacters��"�� �I� � ��v�� /� /� /� /� /r+c�F�|j�|d��dSr r r�s r*r�z/getPhases.<locals>.Phase.processSpaceCharacters�rr+c��|d}||jvr|j|}n�|j|x}|j|<t|j��t|j��dzkrf|j�t t |j������t|j��t|j��dzk�f||��S�NrMg�������?)r�startTagHandlerr��pop�next�iter�rOr�rM�funcs r*r�z(getPhases.<locals>.Phase.processStartTag�s�����=�D��t�+�+�+��+�D�1���48�4H��4N�N��t�+�D�1��$�.�/�/�#�d�6J�2K�2K�c�2Q�Q�Q��(�,�,�T�$�t�7K�2L�2L�-M�-M�N�N�N��$�.�/�/�#�d�6J�2K�2K�c�2Q�Q�Q��4��;�;� r+c�(�|jjs&|ddkr|j�d��|d���D]8\}}||jjdjvr||jjdj|<�9d|j_dS)NrMr�z non-html-rootr�rF)rXrfr�r5rKr�r~�rOr��attrr�s r*� startTagHtmlz%getPhases.<locals>.Phase.startTagHtml�s����;�,� 8��v��&�1H�1H�� �&�&��7�7�7� %�V�}�2�2�4�4� G� G� ��e��t�y�5�a�8�C�C�C�AF�D�I�*�1�-�8��>��(-�D�K� %� %� %r+c��|d}||jvr|j|}n�|j|x}|j|<t|j��t|j��dzkrf|j�t t |j������t|j��t|j��dzk�f||��Sr)r� endTagHandlerr�rrrrs r*r�z&getPhases.<locals>.Phase.processEndTag�s�����=�D��t�)�)�)��)�$�/���26�2D�T�2J�J��t�)�$�/��$�,�-�-��D�4F�0G�0G�#�0M�M�M��&�*�*�4��T�5G�0H�0H�+I�+I�J�J�J��$�,�-�-��D�4F�0G�0G�#�0M�M�M��4��;�;� r+N)rBrCrDr�� __slots__rVr�r�r�r�r�r�rr�rJr+r*�Phaser��s������� � �J� � $� $� $�  &� &� &� G� G� G�  9� 9� 9� 0� 0� 0� 0� 0� 0� � � �" .� .� .� � � � � r+rc�R�eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d S) �getPhases.<locals>.InitialPhasec��dSr4rJr�s r*r�z6getPhases.<locals>.InitialPhase.processSpaceCharacters���� �Dr+c�P�|j�||jj��dSr4�rKr�documentr�s r*r�z.getPhases.<locals>.InitialPhase.processComment��%�� �I� #� #�E�4�9�+=� >� >� >� >� >r+c��|d}|d}|d}|d}|dks |�|� |dkr|j�d��|�d}|j�|��|dkr|�t ��}|rV|ddksJ|�d ��s5|d vs1|�d ��r|�|r%|���d kr d |j_n8|�d��s|�d ��r|� d|j_|jj d|j_ dS)NrM�publicId�systemId�correctr�zabout:legacy-compatzunknown-doctype�)7z*+//silmaril//dtd html pro v0r11 19970101//z4-//advasoft ltd//dtd html 3.0 aswedit + extensions//z*-//as//dtd html 3.0 aswedit + extensions//z-//ietf//dtd html 2.0 level 1//z-//ietf//dtd html 2.0 level 2//z&-//ietf//dtd html 2.0 strict level 1//z&-//ietf//dtd html 2.0 strict level 2//z-//ietf//dtd html 2.0 strict//z-//ietf//dtd html 2.0//z-//ietf//dtd html 2.1e//z-//ietf//dtd html 3.0//z-//ietf//dtd html 3.2 final//z-//ietf//dtd html 3.2//z-//ietf//dtd html 3//z-//ietf//dtd html level 0//z-//ietf//dtd html level 1//z-//ietf//dtd html level 2//z-//ietf//dtd html level 3//z"-//ietf//dtd html strict level 0//z"-//ietf//dtd html strict level 1//z"-//ietf//dtd html strict level 2//z"-//ietf//dtd html strict level 3//z-//ietf//dtd html strict//z-//ietf//dtd html//z(-//metrius//dtd metrius presentational//z5-//microsoft//dtd internet explorer 2.0 html strict//z.-//microsoft//dtd internet explorer 2.0 html//z0-//microsoft//dtd internet explorer 2.0 tables//z5-//microsoft//dtd internet explorer 3.0 html strict//z.-//microsoft//dtd internet explorer 3.0 html//z0-//microsoft//dtd internet explorer 3.0 tables//z#-//netscape comm. corp.//dtd html//z*-//netscape comm. corp.//dtd strict html//z*-//o'reilly and associates//dtd html 2.0//z3-//o'reilly and associates//dtd html extended 1.0//z;-//o'reilly and associates//dtd html extended relaxed 1.0//zN-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//zE-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//z$-//spyglass//dtd html 2.0 extended//z+-//sq//dtd html 2.0 hotmetal + extensions//z--//sun microsystems corp.//dtd hotjava html//z4-//sun microsystems corp.//dtd hotjava strict html//z-//w3c//dtd html 3 1995-03-24//z-//w3c//dtd html 3.2 draft//z-//w3c//dtd html 3.2 final//z-//w3c//dtd html 3.2//z-//w3c//dtd html 3.2s draft//z-//w3c//dtd html 4.0 frameset//z#-//w3c//dtd html 4.0 transitional//z(-//w3c//dtd html experimental 19960712//z&-//w3c//dtd html experimental 970421//z-//w3c//dtd w3 html//z-//w3o//dtd w3 html 3.0//z#-//webtechs//dtd mozilla html 2.0//z-//webtechs//dtd mozilla html//)z$-//w3o//dtd w3 html strict 3.0//en//z"-/w3c/dtd html 4.0 transitional/enr�)z -//w3c//dtd html 4.01 frameset//z$-//w3c//dtd html 4.01 transitional//z:http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd�quirks)z -//w3c//dtd xhtml 1.0 frameset//z$-//w3c//dtd xhtml 1.0 transitional//zlimited quirksrd) rXr�rK� insertDoctyperrr�rirhrTrn)rOr�rMr)r*r+s r*r�z.getPhases.<locals>.InitialPhase.processDoctype�s�����=�D��Z�(�H��Z�(�H��I�&�G�����(�"6��(�X�9N�-N�-N�� �&�&�'8�9�9�9����� �I� #� #�E� *� *� *��2�~�~�#�-�-�.>�?�?���I :�u�V�}��6�6��'�'�6<�7=�7=� 7�r�!)�)�)��'�'�A�B�B�)� �$��%�!)���!1�!1�5q�!q�!q�)1�� �&�&��%�%�=�>�>� :��%�%�?�@�@� :� �&�)9�� �&� $� � 2�<� @�D�K� � � r+c�V�d|j_|jjd|j_dS)Nr-rd)rXrhrTrnrts r*� anythingElsez,getPhases.<locals>.InitialPhase.anythingElseZs&��%-�D�K� "� $� � 2�<� @�D�K� � � r+c�b�|j�d��|���|S)Nzexpected-doctype-but-got-chars�rXr�r0r�s r*r�z1getPhases.<locals>.InitialPhase.processCharacters^s0�� �K� "� "�#C� D� D� D� � � � � � ��Lr+c�t�|j�dd|di��|���|S)Nz"expected-doctype-but-got-start-tagrMr2r�s r*r�z/getPhases.<locals>.InitialPhase.processStartTagcsB�� �K� "� "�#G�$*�E�&�M�#:� <� <� <� � � � � � ��Lr+c�t�|j�dd|di��|���|S)Nz expected-doctype-but-got-end-tagrMr2r�s r*r�z-getPhases.<locals>.InitialPhase.processEndTagisB�� �K� "� "�#E�$*�E�&�M�#:� <� <� <� � � � � � ��Lr+c�b�|j�d��|���dS)Nzexpected-doctype-but-got-eofTr2rts r*r�z*getPhases.<locals>.InitialPhase.processEOFos0�� �K� "� "�#A� B� B� B� � � � � � ��4r+N) rBrCrD�tuplerr�r�r�r0r�r�r�r�rJr+r*� InitialPhaser!�s��������E�G�G� � � � � ?� ?� ?�] A�] A�] A�~ A� A� A� � � �  � � �  � � �  � � � � r+r7c�L�eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z dS) �"getPhases.<locals>.BeforeHtmlPhasec��|j�tdd����|jjd|j_dS)Nr�r�r�)rK� insertRoot�impliedTagTokenrXrTrnrts r*roz4getPhases.<locals>.BeforeHtmlPhase.insertHtmlElementxs<�� �I� � ����!D�!D� E� E� E� $� � 2�<� @�D�K� � � r+c�.�|���dS�NT�rorts r*r�z-getPhases.<locals>.BeforeHtmlPhase.processEOF}s�� � "� "� $� $� $��4r+c�P�|j�||jj��dSr4r%r�s r*r�z1getPhases.<locals>.BeforeHtmlPhase.processComment�r'r+c��dSr4rJr�s r*r�z9getPhases.<locals>.BeforeHtmlPhase.processSpaceCharacters�r#r+c�.�|���|Sr4r?r�s r*r�z4getPhases.<locals>.BeforeHtmlPhase.processCharacters�s�� � "� "� $� $� $��Lr+c�^�|ddkr d|j_|���|S)NrMr�T)rXrfror�s r*r�z2getPhases.<locals>.BeforeHtmlPhase.processStartTag�s2���V�}��&�&�,0�� �)� � "� "� $� $� $��Lr+c��|ddvr%|j�dd|di��dS|���|S)NrM�r�r�r��brzunexpected-end-tag-before-html)rXr�ror�s r*r�z0getPhases.<locals>.BeforeHtmlPhase.processEndTag�sc���V�}�$B�B�B�� �&�&�'G�(.��f� �'>�@�@�@�@�@��&�&�(�(�(�� r+N) rBrCrDr6rror�r�r�r�r�r�rJr+r*�BeforeHtmlPhaser9ts��������E�G�G� � A� A� A�  � � � ?� ?� ?� � � � � � � � � �  � � � � r+rGc���eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z e jd efd e fg��Ze e_e jd e fg��Ze e_d S) �"getPhases.<locals>.BeforeHeadPhasec�L�|�tdd����dS)Nr�r�T�� startTagHeadr<rts r*r�z-getPhases.<locals>.BeforeHeadPhase.processEOF�s%�� � � �o�f�j�A�A� B� B� B��4r+c��dSr4rJr�s r*r�z9getPhases.<locals>.BeforeHeadPhase.processSpaceCharacters�r#r+c�L�|�tdd����|S�Nr�r�rKr�s r*r�z4getPhases.<locals>.BeforeHeadPhase.processCharacters��%�� � � �o�f�j�A�A� B� B� B��Lr+c�L�|jjd�|��S�Nr��rXrTr�r�s r*rz/getPhases.<locals>.BeforeHeadPhase.startTagHtml�� ���;�%�h�/�?�?��F�F� Fr+c��|j�|��|jjd|j_|jjd|j_dS)Nr��inHead)rKr�r�� headPointerrXrTrnr�s r*rLz/getPhases.<locals>.BeforeHeadPhase.startTagHead�sF�� �I� #� #�E� *� *� *�$(�I�$:�2�$>�D�I� !� $� � 2�8� <�D�K� � � r+c�L�|�tdd����|SrOrKr�s r*� startTagOtherz0getPhases.<locals>.BeforeHeadPhase.startTagOther�rPr+c�L�|�tdd����|SrOrKr�s r*�endTagImplyHeadz2getPhases.<locals>.BeforeHeadPhase.endTagImplyHead�rPr+c�L�|j�dd|di��dS)Nzend-tag-after-implied-rootrMr r�s r*� endTagOtherz.getPhases.<locals>.BeforeHeadPhase.endTagOther�s5�� �K� "� "�#?�$*�E�&�M�#:� <� <� <� <� <r+r�r�rEN)rBrCrDr6rr�r�r�rrLrYr[r]r �MethodDispatcherr�defaultrrJr+r*�BeforeHeadPhaserI�s��������E�G�G� � � � � � � � � � � G� G� G� =� =� =�  � � � � � � <� <� <�2�&�1� �\� "� �\� "�3 � � ��#0���/��/� +�_� =�1 � � � �!,� ���r+r`c ��eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zd �Zd�Zd�Zejdefde fde fde fdefde fde fdefg��Zee_ejdefdefg��Zee_dS)�getPhases.<locals>.InHeadPhasec�.�|���dSr>�r0rts r*r�z)getPhases.<locals>.InHeadPhase.processEOF���� � � � � � ��4r+c�.�|���|Sr4rdr�s r*r�z0getPhases.<locals>.InHeadPhase.processCharacters���� � � � � � ��Lr+c�L�|jjd�|��SrRrSr�s r*rz+getPhases.<locals>.InHeadPhase.startTagHtml�rTr+c�:�|j�d��dS)Nz!two-heads-are-not-better-than-oner r�s r*rLz+getPhases.<locals>.InHeadPhase.startTagHead�s�� �K� "� "�#F� G� G� G� G� Gr+c��|j�|��|jj���d|d<dS�NTr��rKr�r�rr�s r*�startTagBaseLinkCommandz6getPhases.<locals>.InHeadPhase.startTagBaseLinkCommand��@�� �I� #� #�E� *� *� *� �I� "� &� &� (� (� (�/3�E�+� ,� ,� ,r+c�~�|j�|��|jj���d|d<|d}|jjjjddkr�d|vr,|jjj�|d��dSd|vr�d|vr�|d� ��d kr�tj |d� d ����}tj |��}|���}|jjj�|��dSdSdSdSdS) NTr�r�r� tentative�charset�contentz http-equivz content-typezutf-8)rKr�r�rrXr\r_rw�changeEncodingrir � EncodingBytes�encode�ContentAttrParserr$)rOr�r~r�rX�codecs r*� startTagMetaz+getPhases.<locals>.InHeadPhase.startTagMeta�sD�� �I� #� #�E� *� *� *� �I� "� &� &� (� (� (�/3�E�+� ,��v��J��{�$�+�8��;�{�J�J�� �*�*��K�)�0�?�?� �9�@U�V�V�V�V�V��:�-�-�"�j�0�0� ��.�4�4�6�6�.�H�H� (�5�j��6K�6R�6R�SZ�6[�6[�\�\�D�)�;�D�A�A�F�"�L�L�N�N�E��K�)�0�?�?��F�F�F�F�F�K�J�.�-�0�0�H�Hr+c�<�|j�|d��dS)Nr��rXr�r�s r*� startTagTitlez,getPhases.<locals>.InHeadPhase.startTagTitle�s �� �K� *� *�5�(� ;� ;� ;� ;� ;r+c�<�|j�|d��dS)Nr�rzr�s r*�startTagNoFramesStylez4getPhases.<locals>.InHeadPhase.startTagNoFramesStyle�� �� �K� *� *�5�)� <� <� <� <� <r+c���|jjr|j�|d��dS|j�|��|jjd|j_dS)Nr��inHeadNoscript)rXrZr�rKr�rTrnr�s r*�startTagNoscriptz/getPhases.<locals>.InHeadPhase.startTagNoscript�s_���{�$� I�� �.�.�u�i�@�@�@�@�@�� �'�'��.�.�.�$(�K�$6�7G�$H�� �!�!�!r+c���|j�|��|jjj|jj_|jj|j_|jjd|j_dS)Nr�) rKr�rXr\�scriptDataStaterkrnr�rTr�s r*�startTagScriptz-getPhases.<locals>.InHeadPhase.startTagScriptsV�� �I� #� #�E� *� *� *�*.�+�*?�*O�D�K� !� '�(,� �(9�D�K� %� $� � 2�6� :�D�K� � � r+c�.�|���|Sr4rdr�s r*rYz,getPhases.<locals>.InHeadPhase.startTagOtherrgr+c��|jjj���}|jdksJd|jz���|jjd|j_dS)Nr�zExpected head got %s� afterHead�rXrKr�rrMrTrn�rOr�r�s r*� endTagHeadz)getPhases.<locals>.InHeadPhase.endTagHead sX���;�#�0�4�4�6�6�D��9��&�&�&�(>���(J�&�&�&� $� � 2�;� ?�D�K� � � r+c�.�|���|Sr4rdr�s r*�endTagHtmlBodyBrz/getPhases.<locals>.InHeadPhase.endTagHtmlBodyBrrgr+c�L�|j�dd|di��dS�N�unexpected-end-tagrMr r�s r*r]z*getPhases.<locals>.InHeadPhase.endTagOther�*�� �K� "� "�#7�&�%��-�9P� Q� Q� Q� Q� Qr+c�J�|�td����dS)Nr�)r�r<rts r*r0z+getPhases.<locals>.InHeadPhase.anythingElses"�� �O�O�O�F�3�3� 4� 4� 4� 4� 4r+r��title)�noframes�style�noscript�script)�base�basefont�bgsound�command�linkr;r�)rFr�r�N)rBrCrDr6rr�r�rrLrmrxr{r}r�r�rYr�r�r]r0r r^rr_rrJr+r*� InHeadPhaserb�s��������E�G�G� � � � � � � � G� G� G� H� H� H� 4� 4� 4�  G� G� G�* <� <� <� =� =� =� I� I� I� ;� ;� ;�  � � � @� @� @�  � � � R� R� R� 5� 5� 5�2�&�1� �\� "� �m� $� "�$9� :� �)� *� �~� &� ?� $� &� �\� "� �\� "� 3 �  �  ��#0���/��/� �Z� � #�%5� 6�1 � � � �!,� ���r+r�c���eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zejd e fde fde fg��Ze e_ejde fdefg��Zee_dS)�&getPhases.<locals>.InHeadNoscriptPhasec�b�|j�d��|���dS)Nzeof-in-head-noscriptTr2rts r*r�z1getPhases.<locals>.InHeadNoscriptPhase.processEOF/s0�� �K� "� "�#9� :� :� :� � � � � � ��4r+c�L�|jjd�|��S�NrV)rXrTr�r�s r*r�z5getPhases.<locals>.InHeadNoscriptPhase.processComment4s ���;�%�h�/�>�>�u�E�E� Er+c�b�|j�d��|���|S)Nzchar-in-head-noscriptr2r�s r*r�z8getPhases.<locals>.InHeadNoscriptPhase.processCharacters7s0�� �K� "� "�#:� ;� ;� ;� � � � � � ��Lr+c�L�|jjd�|��Sr��rXrTr�r�s r*r�z=getPhases.<locals>.InHeadNoscriptPhase.processSpaceCharacters<� ���;�%�h�/�F�F�u�M�M� Mr+c�L�|jjd�|��SrRrSr�s r*rz3getPhases.<locals>.InHeadNoscriptPhase.startTagHtml?rTr+c�L�|jjd�|��Sr�rSr�s r*rmz>getPhases.<locals>.InHeadNoscriptPhase.startTagBaseLinkCommandBrTr+c�L�|j�dd|di��dS�N�unexpected-start-tagrMr r�s r*�startTagHeadNoscriptz;getPhases.<locals>.InHeadNoscriptPhase.startTagHeadNoscriptE�*�� �K� "� "�#9�F�E�&�M�;R� S� S� S� S� Sr+c�t�|j�dd|di��|���|S�Nzunexpected-inhead-noscript-tagrMr2r�s r*rYz4getPhases.<locals>.InHeadNoscriptPhase.startTagOtherH�<�� �K� "� "�#C�f�e�TZ�m�E\� ]� ]� ]� � � � � � ��Lr+c��|jjj���}|jdksJd|jz���|jjd|j_dS)Nr�zExpected noscript got %srVr�r�s r*�endTagNoscriptz5getPhases.<locals>.InHeadNoscriptPhase.endTagNoscriptMsX���;�#�0�4�4�6�6�D��9� �*�*�*�,F���,R�*�*�*� $� � 2�8� <�D�K� � � r+c�t�|j�dd|di��|���|Sr�r2r�s r*�endTagBrz/getPhases.<locals>.InHeadNoscriptPhase.endTagBrRr�r+c�L�|j�dd|di��dSr�r r�s r*r]z2getPhases.<locals>.InHeadNoscriptPhase.endTagOtherWr�r+c�J�|�td����dS)Nr�)r�r<rts r*r0z3getPhases.<locals>.InHeadNoscriptPhase.anythingElseZs$�� � � �� � ;� ;� <� <� <� <� <r+r�)r�r�r�r;r�r�)r�r�r�rFN)rBrCrDr6rr�r�r�r�rrmr�rYr�r�r]r0r r^rr_rrJr+r*�InHeadNoscriptPhaser�,sS�������E�G�G� � � � �  F� F� F� � � �  N� N� N� G� G� G� G� G� G� T� T� T� � � �  =� =� =�  � � �  R� R� R� =� =� =�2�&�1� �\� "� I�Kb� c� !�#7� 8�3 � � �� #0���/��/� �� (� �8� �1 � � � �!,� ���r+r�c���eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zejd efd efde fde fde fg��Ze e_ejde fg��Zee_dS)�!getPhases.<locals>.AfterHeadPhasec�.�|���dSr>rdrts r*r�z,getPhases.<locals>.AfterHeadPhase.processEOFnrer+c�.�|���|Sr4rdr�s r*r�z3getPhases.<locals>.AfterHeadPhase.processCharactersrrgr+c�L�|jjd�|��SrRrSr�s r*rz.getPhases.<locals>.AfterHeadPhase.startTagHtmlvrTr+c��d|j_|j�|��|jjd|j_dS)NFr�)rXrsrKr�rTrnr�s r*� startTagBodyz.getPhases.<locals>.AfterHeadPhase.startTagBodyys<��%*�D�K� "� �I� #� #�E� *� *� *� $� � 2�8� <�D�K� � � r+c�r�|j�|��|jjd|j_dS)Nr�)rKr�rXrTrnr�s r*�startTagFramesetz2getPhases.<locals>.AfterHeadPhase.startTagFrameset~s2�� �I� #� #�E� *� *� *� $� � 2�<� @�D�K� � � r+c�r�|j�dd|di��|jj�|jj��|jjd�|��|jjddd�D]/}|jdkr"|jj� |��dS�0dS)Nz#unexpected-start-tag-out-of-my-headrMrVr�r�) rXr�rKr�r�rWrTr�rM�remover�s r*�startTagFromHeadz2getPhases.<locals>.AfterHeadPhase.startTagFromHead�s��� �K� "� "�#H�$*�E�&�M�#:� <� <� <� �I� "� )� )�$�)�*?� @� @� @� �K� �x� (� 8� 8�� ?� ?� ?�� �.�t�t��t�4� � ���9��&�&��I�*�1�1�$�7�7�7��E�E�'� � r+c�L�|j�dd|di��dSr�r r�s r*rLz.getPhases.<locals>.AfterHeadPhase.startTagHead�r�r+c�.�|���|Sr4rdr�s r*rYz/getPhases.<locals>.AfterHeadPhase.startTagOther�rgr+c�.�|���|Sr4rdr�s r*r�z2getPhases.<locals>.AfterHeadPhase.endTagHtmlBodyBr�rgr+c�L�|j�dd|di��dSr�r r�s r*r]z-getPhases.<locals>.AfterHeadPhase.endTagOther�r�r+c��|j�tdd����|jjd|j_d|j_dS)Nr�r�r�T)rKr�r<rXrTrnrsrts r*r0z.getPhases.<locals>.AfterHeadPhase.anythingElse�sF�� �I� #� #�O�F�J�$G�$G� H� H� H� $� � 2�8� <�D�K� �%)�D�K� "� "� "r+r�r�r�) r�r�r�r�r;r�r�r�r�r�)r�r�rFN)rBrCrDr6rr�r�rr�r�r�rLrYr�r]r0r r^rr_rrJr+r*�AfterHeadPhaser�ksQ�������E�G�G� � � � � � � � G� G� G� =� =� =�  A� A� A� � � � T� T� T� � � � � � � R� R� R� *� *� *� 2�&�1� �\� "� �\� "� �)� *� � � ��\� "�3 � � ��#0���/��/�2H�2B�2D�1E�F�F� � +� ���r+r�c �����eZdZdZ��fd�Zd�Zd�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z d �Zd �Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6e7j8gd5�j9f�d6e f�d7e f�d8e f�d9ef�e:ef�d:ef�d;ef�d<ef�d=ef�d>ef�d?ef�d@ef�dAef�dBef�dCef�dDef�dEef�dFef�dGef�dHef�dIef�dJe f�dKe!f�dLe"f�dMe#f�dNe$f�dOe&f�dPe'f�dQe%f�dRe(f�dSe)f�dTe*f���Z;e+e;_<e7j8d7e-fd5e.fdUe/fd;e0fdVe,fdWe1fe:e2fdXe3fdBe4fdYe5fg ��Z=e6e=_<�xZ>S)Z�getPhases.<locals>.InBodyPhase)r�c�V��t�|��j|i|��|j|_dSr4)�superrV�processSpaceCharactersNonPrer�)rOr�r'� InBodyPhaser�s ��r*rVz'getPhases.<locals>.InBodyPhase.__init__�s6��� -�E�+�t� $� $� -�t� >�v� >� >� >�*.�*K�D� '� '� 'r+c�b�|j|jko|j|jko|j|jkSr4)rMr}r~)rO�node1�node2s r*�isMatchingFormattingElementz:getPhases.<locals>.InBodyPhase.isMatchingFormattingElement�s7���J�%�*�,�9��O�u��6�9��$��(8�8� :r+c���|j�|��|jjd}g}|jjddd�D]8}|turn,|�||��r|�|���9t|��dksJ�t|��dkr%|jj�|d��|jj�|��dS)Nr��) rKr�r��activeFormattingElementsr r�r�r�r�)rOr�r��matchingElementsr�s r*�addFormattingElementz3getPhases.<locals>.InBodyPhase.addFormattingElement�s��� �I� #� #�E� *� *� *��i�,�R�0�G�!� �� �:�4�4�R�4�@� 2� 2���6�>�>��E��5�5�d�G�D�D�2�$�+�+�D�1�1�1���'�(�(�A�-�-�-�-��#�$�$��)�)�� �2�9�9�:J�2�:N�O�O�O� �I� .� 5� 5�g� >� >� >� >� >r+c��td��}|jjddd�D](}|j|vr|j�d��dS�)dS)N) �dd�dt�lir)r�r�r�r�r�r�r�r�r�z expected-closing-tag-but-got-eof)r�rKr�rMrXr�)rO�allowed_elementsr�s r*r�z)getPhases.<locals>.InBodyPhase.processEOF�ss��(�*2� 3� 3� �� �.�t�t��t�4� � ���9�$4�4�4��K�*�*�+M�N�N�N��E�E�5� � r+c�T�|d}|j|_|�d��rG|jjdjdvr.|jjd���s |dd�}|r5|j���|j�|��dSdS)Nr�� r�)�pre�listing�textarear) r�r�r�rKr�rM� hasContent�#reconstructActiveFormattingElementsr )rOr�r�s r*�!processSpaceCharactersDropNewlinez@getPhases.<locals>.InBodyPhase.processSpaceCharactersDropNewline�s�����=�D�*.�*K�D� '�����%�%� �� �&�r�*�/�3Q�Q�Q�� �.�r�2�=�=�?�?�R��A�B�B�x��� +�� �=�=�?�?�?�� �$�$�T�*�*�*�*�*� +� +r+c� �|ddkrdS|j���|j�|d��|jjr-t d�|dD����rd|j_dSdSdS)Nr��c� �g|] }|tv�� SrJ�r�rL�chars r*� <listcomp>zDgetPhases.<locals>.InBodyPhase.processCharacters.<locals>.<listcomp>�s-��0�0�0����0�0�0�0r+F)rKr�r rXrs�anyr�s r*r�z0getPhases.<locals>.InBodyPhase.processCharacters�s����V�}��(�(��� �I� 9� 9� ;� ;� ;� �I� � ��v�� /� /� /�� �&� /��0�0�!&�v��0�0�0�1�1� /�*/�� �&�&�&� /� /� /� /r+c�x�|j���|j�|d��dSr )rKr�r r�s r*r�z;getPhases.<locals>.InBodyPhase.processSpaceCharactersNonPre�s6�� �I� 9� 9� ;� ;� ;� �I� � ��v�� /� /� /� /� /r+c�L�|jjd�|��Sr�rSr�s r*�startTagProcessInHeadz4getPhases.<locals>.InBodyPhase.startTagProcessInHead�rTr+c��|j�dddi��t|jj��dks|jjdjdkr|jjsJ�dSd|j_|d���D]8\}}||jjdj vr||jjdj |<�9dS)Nr�rMr�rFr�) rXr�r�rKr�rMr`rsr5r~rs r*r�z+getPhases.<locals>.InBodyPhase.startTagBody�s��� �K� "� "�#9�F�F�;K� L� L� L��D�I�*�+�+�q�0�0��I�*�1�-�2�f�<�<��{�,�,�,�,�,�,�).�� �&�#(��=�#6�#6�#8�#8�K�K�K�D�%��4�9�#9�!�#<�#G�G�G�EJ�� �.�q�1�<�T�B��K�Kr+c��|j�dddi��t|jj��dks|jjdjdkr|jjsJ�dS|jjsdS|jjdjr:|jjdj� |jjd��|jjdjdkr9|jj� ��|jjdjdk�9|j� |��|jj d|j_ dS) Nr�rMr�rr�r�r�r�)rXr�r�rKr�rMr`rs�parent� removeChildrr�rTrnr�s r*r�z/getPhases.<locals>.InBodyPhase.startTagFramesets5�� �K� "� "�#9�F�J�;O� P� P� P��D�I�*�+�+�q�0�0�D�I�4J�1�4M�4R�V\�4\�4\��{�,�,�,�,�,�,��[�+� E����9�)�!�,�3�\��I�*�1�-�4�@�@���AW�XY�AZ�[�[�[��i�,�R�0�5��?�?��I�*�.�.�0�0�0��i�,�R�0�5��?�?�� �'�'��.�.�.�$(�K�$6�|�$D�� �!�!�!r+c��|j�dd���r"|�td����|j�|��dS�Nr)�button��variant)rK�elementInScope�endTagPr<r�r�s r*�startTagClosePz-getPhases.<locals>.InBodyPhase.startTagClosePsU���y�'�'��X�'�>�>� 3�� � �_�S�1�1�2�2�2� �I� #� #�E� *� *� *� *� *r+c���|j�dd���r"|�td����|j�|��d|j_|j|_dS)Nr)r�r�F) rKr�r�r<r�rXrsr�r�r�s r*�startTagPreListingz1getPhases.<locals>.InBodyPhase.startTagPreListingsj���y�'�'��X�'�>�>� 3�� � �_�S�1�1�2�2�2� �I� #� #�E� *� *� *�%*�D�K� "�*.�*P�D� '� '� 'r+c�D�|jjr|j�dddi��dS|j�dd���r"|�t d����|j�|��|jjd|j_dS)Nr�rM�formr)r�r�r�) rK� formPointerrXr�r�r�r<r�r�r�s r*� startTagFormz+getPhases.<locals>.InBodyPhase.startTagForms����y�$� C�� �&�&�'=���?O�P�P�P�P�P��9�+�+�C��+�B�B�7��L�L���!5�!5�6�6�6�� �'�'��.�.�.�(,� �(>�r�(B�� �%�%�%r+c���d|j_dgddgddgd�}||d}t|jj��D]X}|j|vr4|jj�t|jd����n|j tvr |jdvrn�Y|j� d d � ��r-|jj�td d����|j� |��dS) NFr�r�r�)r�r�r�rMr�)�addressr,r)r)r�r�) rXrs�reversedrKr�rMrnr�r<� nameTuplerr�r�)rOr�� stopNamesMap� stopNamesr�s r*�startTagListItemz/getPhases.<locals>.InBodyPhase.startTagListItem&s��%*�D�K� "�#'�&�#'��,�#'��,�0�0�L�%�U�6�]�3�I� ���!7�8�8� � ���9� �)�)��K�%�3�3�'�� �8�<�<�>�>�>��E��N�o�5�5�� �)@�@�@��E���y�'�'��X�'�>�>� 4�� �!�/�/�#�C��2�2�4�4�4� �I� #� #�E� *� *� *� *� *r+c���|j�dd���r"|�td����|j�|��|jjj|jj_dSr�) rKr�r�r<r�rXr\rmrkr�s r*�startTagPlaintextz0getPhases.<locals>.InBodyPhase.startTagPlaintext<sj���y�'�'��X�'�>�>� 3�� � �_�S�1�1�2�2�2� �I� #� #�E� *� *� *�*.�+�*?�*N�D�K� !� '� '� 'r+c�t�|j�dd���r"|�td����|jjdjt vrA|j�dd|di��|jj� ��|j� |��dS)Nr)r�r�r�r�rM) rKr�r�r<r�rMrrXr�rr�r�s r*�startTagHeadingz.getPhases.<locals>.InBodyPhase.startTagHeadingBs����y�'�'��X�'�>�>� 3�� � �_�S�1�1�2�2�2��y�%�b�)�.�/�A�A�� �&�&�'=���f� �?V�W�W�W�� �&�*�*�,�,�,� �I� #� #�E� *� *� *� *� *r+c���|j�d��}|r�|j�dddd���|�t d����||jjvr|jj�|��||jjvr|jj�|��|j� ��|� |��dS)N�a�$unexpected-start-tag-implies-end-tag�� startName�endName) rK�!elementInActiveFormattingElementsrXr��endTagFormattingr<r�r�r�r�r�)rOr�� afeAElements r*� startTagAz(getPhases.<locals>.InBodyPhase.startTagAJs����)�E�E�c�J�J�K�� K�� �&�&�'M�58�S�'I�'I�K�K�K��%�%�o�c�&:�&:�;�;�;��$�)�"8�8�8��I�*�1�1�+�>�>�>��$�)�"D�D�D��I�6�=�=�k�J�J�J� �I� 9� 9� ;� ;� ;� � %� %�e� ,� ,� ,� ,� ,r+c�b�|j���|�|��dSr4)rKr�r�r�s r*�startTagFormattingz1getPhases.<locals>.InBodyPhase.startTagFormattingWs0�� �I� 9� 9� ;� ;� ;� � %� %�e� ,� ,� ,� ,� ,r+c�H�|j���|j�d��rY|j�dddd���|�t d����|j���|�|��dS)N�nobrrr)rKr�r�rXr�r�r<r�r�s r*� startTagNobrz+getPhases.<locals>.InBodyPhase.startTagNobr[s��� �I� 9� 9� ;� ;� ;��y�'�'��/�/� @�� �&�&�'M�5;��'O�'O�Q�Q�Q��"�"�?�6�#:�#:�;�;�;�� �=�=�?�?�?� � %� %�e� ,� ,� ,� ,� ,r+c�<�|j�d��rB|j�dddd���|�t d����|S|j���|j�|��d|j_dS)Nr�rrF) rKr�rXr�r�r<r�r�rsr�s r*�startTagButtonz-getPhases.<locals>.InBodyPhase.startTagButtones����y�'�'��1�1� /�� �&�&�'M�5=�(�'S�'S�U�U�U��"�"�?�8�#<�#<�=�=�=�� �� �=�=�?�?�?�� �'�'��.�.�.�).�� �&�&�&r+c���|j���|j�|��|jj�t ��d|j_dS�NF)rKr�r�r�r�r rXrsr�s r*�startTagAppletMarqueeObjectz:getPhases.<locals>.InBodyPhase.startTagAppletMarqueeObjectpsU�� �I� 9� 9� ;� ;� ;� �I� #� #�E� *� *� *� �I� .� 5� 5�f� =� =� =�%*�D�K� "� "� "r+c��|j�dd���r"|�td����|j���d|j_|j�|d��dS)Nr)r�r�Fr�)rKr�r�r<r�rXrsr�r�s r*� startTagXmpz*getPhases.<locals>.InBodyPhase.startTagXmpvsu���y�'�'��X�'�>�>� 3�� � �_�S�1�1�2�2�2� �I� 9� 9� ;� ;� ;�%*�D�K� "� �K� *� *�5�)� <� <� <� <� <r+c�&�|jjdkr>|j�dd���r"|�t d����|j�|��d|j_|jjd|j_ dS)Nr-r)r�r�Fr�) rXrhrKr�r�r<r�rsrTrnr�s r*� startTagTablez,getPhases.<locals>.InBodyPhase.startTagTable}s����{�%��1�1��9�+�+�C��+�B�B�=��&�&��s�';�';�<�<�<� �I� #� #�E� *� *� *�%*�D�K� "� $� � 2�9� =�D�K� � � r+c���|j���|j�|��|jj���d|d<d|j_dS)NTr�F)rKr�r�r�rrXrsr�s r*�startTagVoidFormattingz5getPhases.<locals>.InBodyPhase.startTagVoidFormatting�s^�� �I� 9� 9� ;� ;� ;� �I� #� #�E� *� *� *� �I� "� &� &� (� (� (�/3�E�+� ,�%*�D�K� "� "� "r+c���|jj}|�|��d|dvr8|dd�t��dkr||j_dSdSdS)Nr9r��hidden)rXrsr&rr)rOr�rss r*� startTagInputz,getPhases.<locals>.InBodyPhase.startTagInput�sp����/�J� � '� '�� .� .� .��%��-�'�'��&�M�&�)�3�3�4D�E�E��Q�Q�)3�� �&�&�&�(�'�Q�Qr+c��|j�|��|jj���d|d<dSrkrlr�s r*�startTagParamSourcez2getPhases.<locals>.InBodyPhase.startTagParamSource�rnr+c��|j�dd���r"|�td����|j�|��|jj���d|d<d|j_dS)Nr)r�r�Tr�F) rKr�r�r<r�r�rrXrsr�s r*� startTagHrz)getPhases.<locals>.InBodyPhase.startTagHr�s����y�'�'��X�'�>�>� 3�� � �_�S�1�1�2�2�2� �I� #� #�E� *� *� *� �I� "� &� &� (� (� (�/3�E�+� ,�%*�D�K� "� "� "r+c ��|j�dddd���|�tdd|d|d�����dS) Nzunexpected-start-tag-treated-as�image�img�� originalName�newNamer�r�r��r~r�)rXr�r�r<r�s r*� startTagImagez,getPhases.<locals>.InBodyPhase.startTagImage�s{�� �K� "� "�#D�4;��#N�#N� P� P� P� � � ��� �<A�&�M�=B�=�=Q�"S�"S�"S� T� T� T� T� Tr+c �h�|j�dddi��|jjrdSi}d|dvr|dd|d<|�t dd|�����|�t d d����|�t d d����d |dvr|dd }nd }|�td |d���|d���}d|vr|d=d |vr|d =d|d<|�t dd||d�����|� t d ����|�t d d����|� t d����dS)Nzdeprecated-tagrM�isindex�actionr�r�r�)r~�hr�label�promptz3This is a searchable index. Enter search keywords: r��r9r��inputr�r4) rXr�rKrr�r<r�r�copyr�)rOr�� form_attrsr;r~s r*�startTagIsIndexz.getPhases.<locals>.InBodyPhase.startTagIsIndex�s��� �K� "� "�#3�f�i�5H� I� I� I��y�$� ����J��5��=�(�(�',�V�}�X�'>� �8�$� � � ����<F�"H�"H�"H� I� I� I� � � ���z�!B�!B� C� C� C� � � ���*�!E�!E� F� F� F��5��=�(�(��v��x�0���N�� � "� "�#�L�1�6�B�B� D� D� D��v��+�+�-�-�J��:�%�%��x�(��:�%�%��x�(�!*�J�v� � � � ���*�<F�=B�=�=Q�"S�"S�"S� T� T� T� � � ��w�7�7� 8� 8� 8� � � ���z�!B�!B� C� C� C� � � ��v�6�6� 7� 7� 7� 7� 7r+c��|j�|��|jjj|jj_|j|_d|j_dSr) rKr�rXr\rjrkr�r�rsr�s r*�startTagTextareaz/getPhases.<locals>.InBodyPhase.startTagTextarea�sH�� �I� #� #�E� *� *� *�*.�+�*?�*K�D�K� !� '�*.�*P�D� '�%*�D�K� "� "� "r+c�H�d|j_|�|��dSr)rXrs�startTagRawtextr�s r*�startTagIFramez-getPhases.<locals>.InBodyPhase.startTagIFrame�s&��%*�D�K� "� � � �� '� '� '� '� 'r+c�v�|jjr|�|��dS|�|��dSr4)rXrZrDrYr�s r*r�z/getPhases.<locals>.InBodyPhase.startTagNoscript�sC���{�$� *��$�$�U�+�+�+�+�+��"�"�5�)�)�)�)�)r+c�<�|j�|d��dS)z8iframe, noembed noframes, noscript(if scripting enabled)r�Nrzr�s r*rDz.getPhases.<locals>.InBodyPhase.startTagRawtext�r~r+c��|jjdjdkr,|jj�t d����|j���|jj�|��dS�Nr��option) rKr�rMrXrnr�r<r�r�r�s r*� startTagOptz*getPhases.<locals>.InBodyPhase.startTagOpt�sn���y�%�b�)�.�(�:�:�� �!�/�/���0I�0I�J�J�J� �I� 9� 9� ;� ;� ;� �K� � *� *�5� 1� 1� 1� 1� 1r+c���|j���|j�|��d|j_|jj|jjd|jjd|jjd|jjd|jjd|jjdfvr|jjd|j_dS|jjd |j_dS) NFr�r�r�r�r�r��inSelectInTabler�)rKr�r�rXrsrnrTr�s r*�startTagSelectz-getPhases.<locals>.InBodyPhase.startTagSelect�s��� �I� 9� 9� ;� ;� ;� �I� #� #�E� *� *� *�%*�D�K� "��{� �T�[�%7� �%B�%)�[�%7� �%D�%)�[�%7��%H�%)�[�%7� �%F�%)�[�%7��%@�%)�[�%7��%A� %C�C�C� %)�K�$6�7H�$I�� �!�!�!�$(�K�$6�z�$B�� �!�!�!r+c��|j�d��rM|j���|jjdjdkr|j���|j�|��dS)N�rubyr�)rKr��generateImpliedEndTagsr�rMrXr�r�r�s r*� startTagRpRtz+getPhases.<locals>.InBodyPhase.startTagRpRt�sv���y�'�'��/�/� -�� �0�0�2�2�2��9�)�"�-�2�f�<�<��K�*�*�,�,�,� �I� #� #�E� *� *� *� *� *r+c�N�|j���|j�|��|j�|��t d|d<|j�|��|dr%|jj���d|d<dSdS)Nr{r}r�Tr�) rKr�rXrrrr�r�rr�s r*� startTagMathz+getPhases.<locals>.InBodyPhase.startTagMath�s��� �I� 9� 9� ;� ;� ;� �K� .� .�u� 5� 5� 5� �K� /� /�� 6� 6� 6�!+�H�!5�E�+� � �I� #� #�E� *� *� *��]�#� 8�� �&�*�*�,�,�,�37��/�0�0�0� 8� 8r+c�N�|j���|j�|��|j�|��t d|d<|j�|��|dr%|jj���d|d<dSdS)Nr�r}r�Tr�) rKr�rXrrrr�r�rr�s r*� startTagSvgz*getPhases.<locals>.InBodyPhase.startTagSvgs��� �I� 9� 9� ;� ;� ;� �K� +� +�E� 2� 2� 2� �K� /� /�� 6� 6� 6�!+�E�!2�E�+� � �I� #� #�E� *� *� *��]�#� 8�� �&�*�*�,�,�,�37��/�0�0�0� 8� 8r+c�L�|j�dd|di��dS)a5 Elements that should be children of other elements that have a different insertion mode; here they are ignored "caption", "col", "colgroup", "frame", "frameset", "head", "option", "optgroup", "tbody", "td", "tfoot", "th", "thead", "tr", "noscript" zunexpected-start-tag-ignoredrMNr r�s r*�startTagMisplacedz0getPhases.<locals>.InBodyPhase.startTagMisplaceds-�� �K� "� "�#A�F�E�RX�M�CZ� [� [� [� [� [r+c�l�|j���|j�|��dSr4)rKr�r�r�s r*rYz,getPhases.<locals>.InBodyPhase.startTagOthers2�� �I� 9� 9� ;� ;� ;� �I� #� #�E� *� *� *� *� *r+c�T�|j�dd���se|�tdd����|j�dddi��|�tdd����dS|j�d��|jjdj dkr|j�dddi��|jj� ��}|j dkr+|jj� ��}|j dk�)dSdS) Nr)r�r�r�r�rMr�r�) rKr�r�r<rXr�r�rQr�rMrr�s r*r�z&getPhases.<locals>.InBodyPhase.endTagPs���9�+�+�C��+�B�B� 8��#�#�O�C��$D�$D�E�E�E�� �&�&�';�f�c�]�K�K�K�� � �_�S�(�;�;�<�<�<�<�<�� �0�0��5�5�5��9�)�"�-�2�c�9�9��K�*�*�+?�&�#��O�O�O��y�-�1�1�3�3���i�3�&�&��9�1�5�5�7�7�D��i�3�&�&�&�&�&�&r+c��|j�d��s|j���dS|jjdjdkrR|jjdd�D]=}|jt d��vr%|j�dd|jd���n�>|jjd|j_dS)Nr�r��)r�r�r��optgrouprJr)�rp�rtr�r�r�r�r�r�r�r��$expected-one-end-tag-but-got-another��gotName� expectedName� afterBody) rKr�rXr�r�rMr�rTrnr�s r*� endTagBodyz)getPhases.<locals>.InBodyPhase.endTagBody)s����9�+�+�F�3�3� �� �&�&�(�(�(�����'��+�0�F�:�:� �I�2�1�2�2�6� � �D��y� �3;�)<�)<�<�<� � �.�.�B�(.�� �J�J�L�L�L���<�!%� � 2�;� ?�D�K� � � r+c��|j�d��r$|�td����|SdS)Nr�)rKr�rer<r�s r*� endTagHtmlz)getPhases.<locals>.InBodyPhase.endTagHtml;sC���y�'�'��/�/� ������ 7� 7�8�8�8�� � � r+c���|ddkr |j|_|j�|d��}|r|j���|jjdj|dkr#|j�dd|di��|r`|jj� ��}|j|dkr3|jj� ��}|j|dk�/dSdSdS)NrMr�r��end-tag-too-early) r�r�rKr�rQr�rMrXr�r)rOr��inScoper�s r*� endTagBlockz*getPhases.<locals>.InBodyPhase.endTagBlockAs����V�}��%�%�.2�.O��+��i�.�.�u�V�}�=�=�G�� 3�� �0�0�2�2�2��y�%�b�)�.�%��-�?�?�� �&�&�':�V�U�6�]�<S�T�T�T�� 8��y�-�1�1�3�3���i�5��=�0�0��9�1�5�5�7�7�D��i�5��=�0�0�0�0� 8� 8�0�0r+c��|jj}d|j_|�|j�|��s|j�dddi��dS|j���|jjd|kr|j�dddi��|jj�|��dS)Nr�rMr�r�zend-tag-too-early-ignored)rKrr�rXr�rQr�r�r�s r*� endTagFormz)getPhases.<locals>.InBodyPhase.endTagFormOs����9�(�D�$(�D�I� !��|�4�9�#;�#;�D�#A�#A�|�� �&�&�';�(.��'7�9�9�9�9�9�� �0�0�2�2�2��9�)�"�-��5�5��K�*�*�+F�,2�F�+;�=�=�=�� �&�-�-�d�3�3�3�3�3r+c�@�|ddkrd}nd}|j�|d|���s%|j�dd|di��dS|j�|d���|jjdj|dkr#|j�dd|di��|jj���}|j|dkr1|jj���}|j|dk�/dSdS) NrMr��listr�r���excluder�ri)rKr�rXr�rQr�rMr)rOr�r�r�s r*�endTagListItemz-getPhases.<locals>.InBodyPhase.endTagListItem\s&���V�}��$�$� ������9�+�+�E�&�M�7�+�K�K� 8�� �&�&�';�f�e�F�m�=T�U�U�U�U�U�� �0�0��v��0�G�G�G��9�)�"�-�2�e�F�m�C�C��K�*�*�+���v��/�1�1�1��y�-�1�1�3�3���i�5��=�0�0��9�1�5�5�7�7�D��i�5��=�0�0�0�0�0�0r+c� �tD]7}|j�|��r|j���n�8|jjdj|dkr#|j�dd|di��tD]w}|j�|��r[|jj���}|jtvr,|jj���}|jtv�,dS�xdS)Nr�rMri) rrKr�rQr�rMrXr�r)rOr��items r*� endTagHeadingz,getPhases.<locals>.InBodyPhase.endTagHeadingms ��'� � ���9�+�+�D�1�1���I�4�4�6�6�6��E���y�%�b�)�.�%��-�?�?�� �&�&�':�V�U�6�]�<S�T�T�T�'� � ���9�+�+�D�1�1���9�1�5�5�7�7�D��)�?�:�:�#�y�5�9�9�;�;���)�?�:�:��E�E� � � r+c�� �d}|dk�r�|dz }|j�|d��}|r-||jjvr6|j�|j��s|�|��dS||jjvrD|j�dd|di��|jj� |��dS|j�|j��s%|j�dd|di��dS||jjdkr#|j�d d|di��|jj� |��}d}|jj|d�D]}|j tvr|}n�|�i|jj� ��}||kr$|jj� ��}||k�$|jj� |��dS|jj|dz }|jj� |��}|x} } d} |jj� | ��} | d k�r&| dz } | dz} |jj| } | |jjvr |jj� | ���Q| |krn�| |kr"|jj� | ��dz}| ���} | |jj|jj� | ��<| |jj|jj� | ��<| } | jr| j�| ��| �| ��| } | d k��&| jr| j�| ��|jt%d ��vr3|j���\}}|�| |��n|�| ��|���} |�| ��|�| ��|jj� |��|jj�|| ��|jj� |��|jj�|jj� |��dz| ��|dk���dSdS) z)The much-feared adoption agency algorithmr�rrMNzadoption-agency-1.2zadoption-agency-4.4r�zadoption-agency-1.3r��r�r�r�r�r�)rKrr�r�rMr]rXr�r�r��indexrrr� cloneNoder�r�� appendChildr��getTableMisnestedNodePosition� insertBefore�reparentChildren�insert)rOr��outerLoopCounter�formattingElement�afeIndex� furthestBlockr��commonAncestor�bookmark�lastNoder��innerLoopCounterry�cloner�r}s r*rz/getPhases.<locals>.InBodyPhase.endTagFormatting|s9�� !� �#�Q�&�&�!�A�%� �%)�I�$O�$O��&�M�%#�%#�!�)�!_�&�$�)�*@�@�@���1�1�2C�2H�I�I�A� �$�$�U�+�+�+��F� '�d�i�.D�D�D��K�*�*�+@�6�5�QW�=�BY�Z�Z�Z��I�6�=�=�>O�P�P�P��F� ��1�1�2C�2H�I�I� _��K�*�*�+@�6�5�QW�=�BY�Z�Z�Z��F�)�D�I�,B�2�,F�F�F�� �.�.�/D�v�u�U[�}�F]�^�^�^� �9�1�7�7�8I�J�J�� $� �#�y�5�h�i�i�@���G��(�O�;�;�(/� ���<�!�(�"�i�4�8�8�:�:�G�!�%6�6�6�"&�)�"8�"<�"<�">�">��"�%6�6�6��I�6�=�=�g�F�F�F��F�"&��!7��1� �!E�� �9�=�C�C�DU�V�V��#0�/��4�#$� �� �.�4�4�T�:�:��&��*�*�$��)�$��Q�J�E��9�1�%�8�D��4�9�#E�E�E�� �.�5�5�d�;�;�;� ��0�0�0���=�0�0�#'�9�#E�#K�#K�D�#Q�#Q�TU�#U�� �N�N�,�,�E�KP��I�6�� �:�@�@��F�F�H�?D��I�*�� �.�4�4�T�:�:�<� �D� ��>� ��3�3�H�=�=�=��$�$�X�.�.�.�#�H�9'��*�*�D�?�:��O�/�/��9�9�9�!�&�)�4^�*_�*_�_�_�+/�9�+R�+R�+T�+T�(�F�L��'�'��,�?�?�?�?�"�.�.�x�8�8�8�*�3�3�5�5���.�.�u�5�5�5��)�)�%�0�0�0�� �2�9�9�:K�L�L�L�� �2�9�9�(�E�J�J�J�� �&�-�-�.?�@�@�@�� �&�-�-��I�*�0�0��?�?�!�C�U�L�L�L�o#�Q�&�&�&�&�&�&r+c�2�|j�|d��r|j���|jjdj|dkr#|j�dd|di��|j�|d��ry|jj���}|j|dkr/|jj���}|j|dk�/|j���dSdS)NrMr�ri) rKr�rQr�rMrXr�r�clearActiveFormattingElements)rOr�r�s r*�endTagAppletMarqueeObjectz8getPhases.<locals>.InBodyPhase.endTagAppletMarqueeObjects���y�'�'��f� �6�6� 3�� �0�0�2�2�2��y�%�b�)�.�%��-�?�?�� �&�&�':�V�U�6�]�<S�T�T�T��y�'�'��f� �6�6� :��)�0�4�4�6�6���l�e�F�m�3�3�"�i�4�8�8�:�:�G��l�e�F�m�3�3�� �7�7�9�9�9�9�9�  :� :r+c��|j�dddd���|j���|j�t dd����|jj���dS)Nzunexpected-end-tag-treated-asrFz br elementr1r�)rXr�rKr�r�r<r�rr�s r*r�z'getPhases.<locals>.InBodyPhase.endTagBr+s~�� �K� "� "�#B�48�\�#R�#R� T� T� T� �I� 9� 9� ;� ;� ;� �I� #� #�O�D�*�$E�$E� F� F� F� �I� "� &� &� (� (� (� (� (r+c��|jjddd�D]�}|j|dkr�|j�|d���|jjdj|dkr#|j�dd|di��|jj���|kr# |jj���|k�#dS|jtvr&|j�dd|di��dS��dS)Nr�rMrpr�) rKr�rMrQrXr�rrrr�s r*r]z*getPhases.<locals>.InBodyPhase.endTagOther2s��� �.�t�t��t�4� � ���9��f� �-�-��I�4�4�U�6�]�4�K�K�K��y�-�b�1�6�%��-�G�G�� �.�.�/C�f�e�TZ�m�E\�]�]�]��)�0�4�4�6�6�$�>�>���)�0�4�4�6�6�$�>�>��E�E��~��8�8�� �.�.�/C�f�e�TZ�m�E\�]�]�]����9� � r+r�) r�r�r�r�r�r;r�r�r�r�r�)r�article�aside� blockquote�center�details�dirr,�dl�fieldset� figcaption�figure�footer�header�hgroup�main�menu�nav�olr)�section�summary�ul)r�r�r�)r�r�r�rcr) �b�big�code�em�font�i�s�small�strike�strong�tt�urr�)�applet�marquee�object�xmpr�)�arearF�embedr0�keygen�wbr)�param�source�trackr=r9r/r7r��iframer�)�noembedr�r�)r^r_)rJr]�mathr�) r��colr��framer�r�r�r�r�r�r�)rr�r�r�r�r�r��dialogr�r,r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r))r�r�r�)rr�r�r�r�r�r�rr�r�r�r�r�r�rF)?rBrCrDrrVr�r�r�r�r�r�r�r�r�r�r�rrr r rrrrr r"r$r&r)r+r-r5r@rBrEr�rDrKrNrRrTrVrXrYr�rergrkrmrrrurr�r�r]r r^rrrr_r� __classcell__)r�r�rs@��r*r�r��s��������0� � L� L� L� L� L� L�  :� :� :�  ?� ?� ?�" � � � +� +� +� /� /� /� 0� 0� 0� G� G� G� K� K� K� E� E� E� +� +� +�  Q� Q� Q� C� C� C� +� +� +�, O� O� O�  +� +� +� -� -� -� -� -� -� -� -� -� /� /� /� +� +� +�  =� =� =� >� >� >� +� +� +� 4� 4� 4� 4� 4� 4�  +� +� +� T� T� T� 8� 8� 8�> +� +� +�  (� (� (� *� *� *�  =� =� =� 2� 2� 2� C� C� C� +� +� +� 8� 8� 8� 8� 8� 8� \� \� \� +� +� +� 8� 8� 8� @� @� @�$ � � � 8� 8� 8� 4� 4� 4� 8� 8� 8�" � � �a L�a L�a L�F :� :� :� )� )� )� � � �2�&�1�,3 � �U�'� (�,3 �*� "� $�,3 � �\� "� ,3 � �)� *� ,3 �*��  �,3 ��o� .�,3 � �!3� 4�,3 ��\� "�,3 � �!1� 2�,3 � �+� ,�!,3 �"�)� �#,3 �$#�$6� 8�%,3 �(�\� "�),3 �*�~� &�+,3 �,-�.I� J�-,3 �.�K� �/,3 �0�m� $�1,3 �2=� #� %�3,3 �6*�+>� ?�7,3 �8�m� $�9,3 �:�:� �;,3 �<�m� $�=,3 �>�� (�?,3 �@�)� *�A,3 �B�~� &�C,3 �D�)� *�E,3 �F%�o� 6�G,3 �H�~� &�I,3 �J�<� (�K,3 �L$�[� 1�M,3 �N�|� $�O,3 �P�k� "�Q,3 �R�&� (�S,3 �, �, ��Z#0���/��/� �Z� � �Z� �*�,7� 8��Z� � �'�N� �� 0� �m� ,�-�.>� @� ,�.G� H� �8� �1 � � � � !,� �����r+r�c��eZdZe��Zd�Zd�Zd�Zd�Zd�Z e j g��Z ee _ e j defg��Ze e_ dS)�getPhases.<locals>.TextPhasec�F�|j�|d��dSr r r�s r*r�z.getPhases.<locals>.TextPhase.processCharacters�rr+c���|j�dd|jjdji��|jj���|jj|j_dS)Nz&expected-named-closing-tag-but-got-eofrMr�T)rXr�rKr�rMrr�rnrts r*r�z'getPhases.<locals>.TextPhase.processEOF�sb�� �K� "� "�#K�$*�D�I�,B�2�,F�,K�#L� N� N� N� �I� "� &� &� (� (� (� $� � 9�D�K� ��4r+c�(�Jd|dz���)NFz4Tried to process start tag %s in RCDATA/RAWTEXT moderMrJr�s r*rYz*getPhases.<locals>.TextPhase.startTagOther�s�� `�P�SX�Y_�S`�`� `� `�5r+c��|jj���}|jdksJ�|jj|j_dS)Nr�)rKr�rrMrXr�rnr�s r*� endTagScriptz)getPhases.<locals>.TextPhase.endTagScript�s@���9�)�-�-�/�/�D��9��(�(�(�(� $� � 9�D�K� � � r+c�n�|jj���|jj|j_dSr4)rKr�rrXr�rnr�s r*r]z(getPhases.<locals>.TextPhase.endTagOther�s.�� �I� "� &� &� (� (� (� $� � 9�D�K� � � r+r�N)rBrCrDr6rr�r�rYr�r]r r^rr_rrJr+r*� TextPhaser��s��������E�G�G� � 0� 0� 0� � � � a� a� a� :� :� :� :� :� :�2�&�1�"�5�5��"/���/��/� �|� $�1&�'�'� � +� ���r+r�c �>��eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zd �Zd�Zd�Zd�Zd�Zd�Zejd�jfde fde fde fde fdefdefdefdefdefg ��Zee_ejdefdefg��Zee_dS)�getPhases.<locals>.InTablePhasec��|jjdjdvr9|jj���|jjdjdv�7dSdS)Nr�)r�r�)rKr�rMrrts r*�clearStackToTableContextz8getPhases.<locals>.InTablePhase.clearStackToTableContext�s[���)�(��,�1�9J�J�J�� �&�*�*�,�,�,��)�(��,�1�9J�J�J�J�J�J�Jr+c��|jjdjdkr|j�d��dS|jjsJ�dS)Nr�r�z eof-in-table�rKr�rMrXr�r`rts r*r�z*getPhases.<locals>.InTablePhase.processEOF�sM���y�%�b�)�.�&�8�8�� �&�&�~�6�6�6�6�6��{�,�,�,�,�,�,r+c��|jj}|jjd|j_||jj_|jj�|��dS�N� inTableText)rXrnrTr�r��rOr�r�s r*r�z6getPhases.<locals>.InTablePhase.processSpaceCharacters�sL�� �K�-�M� $� � 2�=� A�D�K� �.;�D�K� � +� �K� � 4� 4�U� ;� ;� ;� ;� ;r+c��|jj}|jjd|j_||jj_|jj�|��dSr�)rXrnrTr�r�r�s r*r�z1getPhases.<locals>.InTablePhase.processCharacters�sL�� �K�-�M� $� � 2�=� A�D�K� �.;�D�K� � +� �K� � /� /�� 6� 6� 6� 6� 6r+c��d|j_|jjd�|��d|j_dS)NTr�F)rK�insertFromTablerXrTr�r�s r*r z*getPhases.<locals>.InTablePhase.insertText�s<��)-�D�I� %� �K� �x� (� :� :�5� A� A� A�(-�D�I� %� %� %r+c���|���|jj�t��|j�|��|jjd|j_dS)Nr�) r�rKr�r�r r�rXrTrnr�s r*�startTagCaptionz/getPhases.<locals>.InTablePhase.startTagCaption�s]�� � )� )� +� +� +� �I� .� 5� 5�f� =� =� =� �I� #� #�E� *� *� *� $� � 2�;� ?�D�K� � � r+c��|���|j�|��|jjd|j_dS)Nr��r�rKr�rXrTrnr�s r*�startTagColgroupz0getPhases.<locals>.InTablePhase.startTagColgroup�sD�� � )� )� +� +� +� �I� #� #�E� *� *� *� $� � 2�?� C�D�K� � � r+c�L�|�tdd����|S)Nr�r�)r�r<r�s r*� startTagColz+getPhases.<locals>.InTablePhase.startTagCol�s%�� � !� !�/�*�j�"I�"I� J� J� J��Lr+c��|���|j�|��|jjd|j_dS�Nr�r�r�s r*�startTagRowGroupz0getPhases.<locals>.InTablePhase.startTagRowGroup�sD�� � )� )� +� +� +� �I� #� #�E� *� *� *� $� � 2�=� A�D�K� � � r+c�L�|�tdd����|S)Nr�r�)r�r<r�s r*�startTagImplyTbodyz2getPhases.<locals>.InTablePhase.startTagImplyTbody�s%�� � !� !�/�'�:�"F�"F� G� G� G��Lr+c��|j�dddd���|jj�t d����|jjs|SdS)Nrr�r)rXr�rnr�r<r`r�s r*r$z-getPhases.<locals>.InTablePhase.startTagTable�sj�� �K� "� "�#I�18�W�#M�#M� O� O� O� �K� � +� +�O�G�,D�,D� E� E� E��;�(� �� � � r+c�L�|jjd�|��Sr�rSr�s r*�startTagStyleScriptz3getPhases.<locals>.InTablePhase.startTagStyleScript�rTr+c�@�d|dvr~|dd�t��dkrT|j�d��|j�|��|jj���dS|�|��dS)Nr9r�r(z unexpected-hidden-input-in-table) rrrXr�rKr�r�rrYr�s r*r)z-getPhases.<locals>.InTablePhase.startTagInput�s����%��-�'�'��&�M�&�)�3�3�4D�E�E��Q�Q�� �&�&�'I�J�J�J�� �'�'��.�.�.�� �&�*�*�,�,�,�,�,��"�"�5�)�)�)�)�)r+c���|j�d��|jj�V|j�|��|jjd|j_|jj���dSdS)Nzunexpected-form-in-tabler�)rXr�rKrr�r�rr�s r*rz,getPhases.<locals>.InTablePhase.startTagForm�ss�� �K� "� "�#=� >� >� >��y�$�,�� �'�'��.�.�.�(,� �(>�r�(B�� �%�� �&�*�*�,�,�,�,�,�-�,r+c���|j�dd|di��d|j_|jjd�|��d|j_dS)Nz)unexpected-start-tag-implies-table-voodoorMTr�F)rXr�rKr�rTr�r�s r*rYz-getPhases.<locals>.InTablePhase.startTagOther�s`�� �K� "� "�#N�QW�Y^�_e�Yf�Pg� h� h� h�(,�D�I� %� �K� �x� (� 8� 8�� ?� ?� ?�(-�D�I� %� %� %r+c�t�|j�dd���r�|j���|jjdjdkr3|j�dd|jjdjd���|jjdjdkr9|jj���|jjdjdk�9|jj���|j���dS|jj sJ�|j���dS)Nr�r�r�zend-tag-too-early-namedra) rKr�rQr�rMrXr�rrpr`r�s r*� endTagTablez+getPhases.<locals>.InTablePhase.endTagTables4���y�'�'���'�A�A� )�� �0�0�2�2�2��9�)�"�-�2�g�=�=��K�*�*�+D�7>�<@�I�<R�SU�<V�<[�,]�,]�^�^�^��i�,�R�0�5��@�@��I�*�.�.�0�0�0��i�,�R�0�5��@�@�� �&�*�*�,�,�,�� �.�.�0�0�0�0�0��{�,�,�,�,�� �&�&�(�(�(�(�(r+c�L�|j�dd|di��dSr�r r�s r*� endTagIgnorez,getPhases.<locals>.InTablePhase.endTagIgnorer�r+c���|j�dd|di��d|j_|jjd�|��d|j_dS)Nz'unexpected-end-tag-implies-table-voodoorMTr�F)rXr�rKr�rTr�r�s r*r]z+getPhases.<locals>.InTablePhase.endTagOthers_�� �K� "� "�#L�v�W\�]c�Wd�Ne� f� f� f�(,�D�I� %� �K� �x� (� 6� 6�u� =� =� =�(-�D�I� %� %� %r+r�r�r�r��r�r�r�)r�r�r�r�)r�r�r=r�) r�r�r�r�r�r�r�r�r�r�r�N)rBrCrDr6rr�r�r�r�r r�r�r�r�r�r$r�r)rrYr�r�r]r r^rrr_r�rs�r*� InTablePhaser��s���������E�G�G� � -� -� -� -� -� -� <� <� <�  7� 7� 7�  .� .� .� @� @� @�  D� D� D�  � � � B� B� B�  � � � � � � G� G� G� *� *� *� -� -� -� .� .� .� )� )� )�  R� R� R� .� .� .�2�&�1� �U�'� (� �� (� �)� *� �K� � (�*:� ;� �!3� 4� �m� $� �"5� 6� �m� $� �\� "� 3 �  �  ��#0���/��/� �k� "�,�-9� ;�1 � � � � !,� ���r+r�c�P���eZdZdZ��fd�Zd�Zd�Zd�Zd�Zd�Z d�Z d �Z �xZ S) �#getPhases.<locals>.InTableTextPhase)r��characterTokensc�Z��t�|��j|i|��d|_g|_dSr4)r�rVr�r�)rOr�r'�InTableTextPhaser�s ��r*rVz,getPhases.<locals>.InTableTextPhase.__init__6s<��� 2�E�"�D� )� )� 2�D� C�F� C� C� C�!%�D� �#%�D� � � r+c�2�d�d�|jD����}td�|D����r6td|d�}|jjd�|��n|r|j�|��g|_dS)Nr,c��g|] }|d�� S)r�rJ�rLrts r*r�zGgetPhases.<locals>.InTableTextPhase.flushCharacters.<locals>.<listcomp><s��J�J�J�T�D��L�J�J�Jr+c� �g|] }|tv�� SrJr�r�s r*r�zGgetPhases.<locals>.InTableTextPhase.flushCharacters.<locals>.<listcomp>=s��A�A�A�D�D��/�A�A�Ar+r�r<r�)�joinr�r�rrXrTr rK)rOr�r�s r*�flushCharactersz3getPhases.<locals>.InTableTextPhase.flushCharacters;s����7�7�J�J�T�5I�J�J�J�K�K�D��A�A�D�A�A�A�B�B� +�!+�L�!9�4�H�H��� �"�9�-�8�8��?�?�?�?�� +�� �$�$�T�*�*�*�#%�D� � � r+c�P�|���|j|j_|Sr4�r�r�rXrnr�s r*r�z2getPhases.<locals>.InTableTextPhase.processCommentD�&�� � � � "� "� "� $� 2�D�K� ��Lr+c�P�|���|j|j_dSr>r�rts r*r�z.getPhases.<locals>.InTableTextPhase.processEOFIs&�� � � � "� "� "� $� 2�D�K� ��4r+c�V�|ddkrdS|j�|��dS�Nr�r��r�r�r�s r*r�z5getPhases.<locals>.InTableTextPhase.processCharactersNs3���V�}��(�(��� � � '� '�� .� .� .� .� .r+c�:�|j�|��dSr4rr�s r*r�z:getPhases.<locals>.InTableTextPhase.processSpaceCharactersSs�� � � '� '�� .� .� .� .� .r+c�P�|���|j|j_|Sr4r�r�s r*r�z3getPhases.<locals>.InTableTextPhase.processStartTagXr�r+c�P�|���|j|j_|Sr4r�r�s r*r�z1getPhases.<locals>.InTableTextPhase.processEndTag]r�r+) rBrCrDrrVr�r�r�r�r�r�r�r�)r�r�s@�r*r�r�3s���������8� � &� &� &� &� &� &�  &� &� &� � � �  � � �  /� /� /�  /� /� /�  � � �  � � � � � � r+r�c����eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z ejd �jfd efg��Ze e_ejd e fd e fde fg��Ze e_dS)�!getPhases.<locals>.InCaptionPhasec�<�|j�dd��� S)Nr�r�r��rKr�rts r*�ignoreEndTagCaptionz5getPhases.<locals>.InCaptionPhase.ignoreEndTagCaptionfs ���y�/�/� �7�/�K�K�K� Kr+c�N�|jjd���dSrR�rXrTr�rts r*r�z,getPhases.<locals>.InCaptionPhase.processEOFi�$�� �K� �x� (� 3� 3� 5� 5� 5� 5� 5r+c�L�|jjd�|��SrR�rXrTr�r�s r*r�z3getPhases.<locals>.InCaptionPhase.processCharactersl� ���;�%�h�/�A�A�%�H�H� Hr+c���|j���|���}|jj�t d����|s|SdS�Nr��rXr�r rnr�r<�rOr�� ignoreEndTags r*�startTagTableElementz6getPhases.<locals>.InCaptionPhase.startTagTableElementos_�� �K� "� "� $� $� $��3�3�5�5�L� �K� � +� +�O�I�,F�,F� G� G� G�� �� � � r+c�L�|jjd�|��SrRrSr�s r*rYz/getPhases.<locals>.InCaptionPhase.startTagOtherwrTr+c��|����s|j���|jjdjdkr3|j�dd|jjdjd���|jjdjdkr9|jj���|jjdjdk�9|jj���|j���|jj d|j_ dS|jj sJ�|j���dS)Nr�r�r`rar�) r rKrQr�rMrXr�rr�rTrnr`r�s r*� endTagCaptionz/getPhases.<locals>.InCaptionPhase.endTagCaptionzs?���+�+�-�-� )�� �0�0�2�2�2��9�)�"�-�2�i�?�?��K�*�*�+Q�7@�<@�I�<R�SU�<V�<[�,]�,]�^�^�^��i�,�R�0�5��B�B��I�*�.�.�0�0�0��i�,�R�0�5��B�B�� �&�*�*�,�,�,�� �7�7�9�9�9�$(�K�$6�y�$A�� �!�!�!��{�,�,�,�,�� �&�&�(�(�(�(�(r+c���|j���|���}|jj�t d����|s|SdSrrrs r*r�z-getPhases.<locals>.InCaptionPhase.endTagTable�s_�� �K� "� "� $� $� $��3�3�5�5�L� �K� � +� +�O�I�,F�,F� G� G� G�� �� � � r+c�L�|j�dd|di��dSr�r r�s r*r�z.getPhases.<locals>.InCaptionPhase.endTagIgnore�r�r+c�L�|jjd�|��SrR�rXrTr�r�s r*r]z-getPhases.<locals>.InCaptionPhase.endTagOther�� ���;�%�h�/�=�=�e�D�D� Dr+r�� r�r�r�r�r�r�r�r�r�r�r�) r�r�r�r�r�r�r�r�r�r�N)rBrCrDr6rr r�r�rrYrr�r�r]r r^rrr_rr�s�r*�InCaptionPhaserbs/��������E�G�G� � L� L� L� 6� 6� 6� I� I� I� � � � G� G� G� )� )� )�$ � � � R� R� R� E� E� E�2�&�1� �U�'� (��2� 4�3 � � �� #0���/��/� � � &� �k� "��*� ,�1 � � � � !,� ���r+rc����eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z e jd �jfd efg��Ze e_e jd e fd e fg��Ze e_d S) �%getPhases.<locals>.InColumnGroupPhasec�8�|jjdjdkS)Nr�r�)rKr�rMrts r*�ignoreEndTagColgroupz:getPhases.<locals>.InColumnGroupPhase.ignoreEndTagColgroup�s���9�)�"�-�2�f�<� <r+c���|jjdjdkr|jjsJ�dS|���}|�td����|sdSdS)Nr�r�r�T)rKr�rMrXr`r#�endTagColgroupr<)rOrs r*r�z0getPhases.<locals>.InColumnGroupPhase.processEOF�st���y�%�b�)�.�&�8�8��{�,�,�,�,���#�8�8�:�:� ��#�#�O�J�$?�$?�@�@�@�#� ��4� � r+c�z�|���}|�td����|s|SdS�Nr��r#r%r<rs r*r�z7getPhases.<locals>.InColumnGroupPhase.processCharacters��F���4�4�6�6�L� � � �� � ;� ;� <� <� <�� �� � � r+c��|j�|��|jj���d|d<dSrkrlr�s r*r�z1getPhases.<locals>.InColumnGroupPhase.startTagCol�rnr+c�z�|���}|�td����|s|SdSr'r(rs r*rYz3getPhases.<locals>.InColumnGroupPhase.startTagOther�r)r+c���|���r)|jjsJ�|j���dS|jj���|jjd|j_dS�Nr�) r#rXr`r�rKr�rrTrnr�s r*r%z4getPhases.<locals>.InColumnGroupPhase.endTagColgroup�ss���(�(�*�*� B��{�,�,�,�,�� �&�&�(�(�(�(�(�� �&�*�*�,�,�,�$(�K�$6�y�$A�� �!�!�!r+c�@�|j�dddi��dS)Nz no-end-tagrMr�r r�s r*� endTagColz/getPhases.<locals>.InColumnGroupPhase.endTagCol�s$�� �K� "� "�<�&�%�� A� A� A� A� Ar+c�z�|���}|�td����|s|SdSr'r(rs r*r]z1getPhases.<locals>.InColumnGroupPhase.endTagOther�r)r+r�r�r�N)rBrCrDr6rr#r�r�r�rYr%r/r]r r^rrr_rr�s�r*�InColumnGroupPhaser!�s��������E�G�G� � =� =� =� � � � � � �  4� 4� 4�  � � �  B� B� B� B� B� B� � � � 2�&�1� �U�'� (� �K� �3 � � ��#0���/��/� �� (� �I� �1 � � � �!,� ���r+r1c����eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zejd �jfde fde fde fg��Ze e_ejde fdefdefg��Zee_dS)�#getPhases.<locals>.InTableBodyPhasec���|jjdjdvr7|jj���|jjdjdv�7|jjdjdkr|jjsJ�dSdS)Nr�)r�r�r�r�r�)rKr�rMrrXr`rts r*�clearStackToTableBodyContextz@getPhases.<locals>.InTableBodyPhase.clearStackToTableBodyContext�s����)�(��,�1�:K�K�K�� �&�*�*�,�,�,� �)�(��,�1�:K�K�K� �y�%�b�)�.�&�8�8��{�,�,�,�,�9�8�,�,r+c�N�|jjd���dSr-r rts r*r�z.getPhases.<locals>.InTableBodyPhase.processEOF��$�� �K� �y� )� 4� 4� 6� 6� 6� 6� 6r+c�L�|jjd�|��Sr-r�r�s r*r�z:getPhases.<locals>.InTableBodyPhase.processSpaceCharacters�� ���;�%�i�0�G�G��N�N� Nr+c�L�|jjd�|��Sr-rr�s r*r�z5getPhases.<locals>.InTableBodyPhase.processCharacters�� ���;�%�i�0�B�B�5�I�I� Ir+c��|���|j�|��|jjd|j_dS)Nr�)r5rKr�rXrTrnr�s r*� startTagTrz.getPhases.<locals>.InTableBodyPhase.startTagTrsD�� � -� -� /� /� /� �I� #� #�E� *� *� *� $� � 2�7� ;�D�K� � � r+c��|j�dd|di��|�tdd����|S)Nzunexpected-cell-in-table-bodyrMr�r�)rXr�r=r<r�s r*�startTagTableCellz5getPhases.<locals>.InTableBodyPhase.startTagTableCellsL�� �K� "� "�#B�$*�E�&�M�#:� <� <� <� �O�O�O�D�*�=�=� >� >� >��Lr+c��|j�dd���s8|j�dd���s|j�dd���rM|���|�t |jjdj����|S|jjsJ�|j� ��dS�Nr�r�r�r�r�r�� rKr�r5�endTagTableRowGroupr<r�rMrXr`r�r�s r*�startTagTableOtherz6getPhases.<locals>.InTableBodyPhase.startTagTableOther s���� �(�(��'�(�B�B� )�� �(�(��'�(�B�B� )��I�,�,�W�g�,�F�F� )��1�1�3�3�3��(�(�#�D�I�$:�2�$>�$C�D�D�F�F�F�� ��{�,�,�,�,�� �&�&�(�(�(�(�(r+c�L�|jjd�|��Sr-rSr�s r*rYz1getPhases.<locals>.InTableBodyPhase.startTagOther� ���;�%�i�0�@�@��G�G� Gr+c�0�|j�|dd���rP|���|jj���|jjd|j_dS|j�dd|di��dS)NrMr�r�r�� unexpected-end-tag-in-table-body) rKr�r5r�rrXrTrnr�r�s r*rCz7getPhases.<locals>.InTableBodyPhase.endTagTableRowGroups����y�'�'��f� �w�'�G�G� @��1�1�3�3�3�� �&�*�*�,�,�,�$(�K�$6�y�$A�� �!�!�!�� �&�&�'I�(.��f� �'>�@�@�@�@�@r+c��|j�dd���s8|j�dd���s|j�dd���rM|���|�t |jjdj����|S|jjsJ�|j� ��dSrArBr�s r*r�z/getPhases.<locals>.InTableBodyPhase.endTagTable%s���� �(�(��'�(�B�B� )�� �(�(��'�(�B�B� )��I�,�,�W�g�,�F�F� )��1�1�3�3�3��(�(�#�D�I�$:�2�$>�$C�D�D�F�F�F�� ��{�,�,�,�,�� �&�&�(�(�(�(�(r+c�L�|j�dd|di��dS)NrHrMr r�s r*r�z0getPhases.<locals>.InTableBodyPhase.endTagIgnore2�5�� �K� "� "�#E�$*�E�&�M�#:� <� <� <� <� <r+c�L�|jjd�|��Sr-rr�s r*r]z/getPhases.<locals>.InTableBodyPhase.endTagOther6� ���;�%�i�0�>�>�u�E�E� Er+r�r��r�r�)r�r�r�r�r�r�r�r�)r�r�r�r�r�r�r�r�N)rBrCrDr6rr5r�r�r�r=r?rDrYrCr�r�r]r r^rrr_rr�s�r*�InTableBodyPhaser3�sl��������E�G�G� � -� -� -� 7� 7� 7� O� O� O� J� J� J� <� <� <�  � � � )� )� )� H� H� H� @� @� @� )� )� )� <� <� <� F� F� F�2�&�1� �U�'� (� �:� � �,� -� F� � !� 3 � � ��#0���/��/� (�*=� >� �k� "��!� #�1 � � � � !,� ���r+rOc���eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zd �Zejd�jfde fde fg��Ze e_ejde fdefdefdefg��Zee_dS)�getPhases.<locals>.InRowPhasec��|jjdjdvrk|j�dd|jjdji��|jj���|jjdjdv�idSdS)Nr�)r�r�z'unexpected-implied-end-tag-in-table-rowrM)rKr�rMrXr�rrts r*�clearStackToTableRowContextz9getPhases.<locals>.InRowPhase.clearStackToTableRowContextOs����)�(��,�1��G�G�� �&�&�'P�(.�� �0F�r�0J�0O�'P�R�R�R�� �&�*�*�,�,�,��)�(��,�1��G�G�G�G�G�Gr+c�<�|j�dd��� S)Nr�r�r�rrts r*�ignoreEndTagTrz,getPhases.<locals>.InRowPhase.ignoreEndTagTrUs ���y�/�/��g�/�F�F�F� Fr+c�N�|jjd���dSr-r rts r*r�z(getPhases.<locals>.InRowPhase.processEOFYr7r+c�L�|jjd�|��Sr-r�r�s r*r�z4getPhases.<locals>.InRowPhase.processSpaceCharacters\r9r+c�L�|jjd�|��Sr-rr�s r*r�z/getPhases.<locals>.InRowPhase.processCharacters_r;r+c���|���|j�|��|jjd|j_|jj�t��dS)Nr�) rSrKr�rXrTrnr�r�r r�s r*r?z/getPhases.<locals>.InRowPhase.startTagTableCellbs]�� � ,� ,� .� .� .� �I� #� #�E� *� *� *� $� � 2�8� <�D�K� � �I� .� 5� 5�f� =� =� =� =� =r+c�z�|���}|�td����|s|SdS�Nr��rU�endTagTrr<rs r*rDz0getPhases.<locals>.InRowPhase.startTagTableOtherhsD���.�.�0�0�L� �M�M�/�$�/�/� 0� 0� 0�� �� � � r+c�L�|jjd�|��Sr-rSr�s r*rYz+getPhases.<locals>.InRowPhase.startTagOtherorFr+c��|���sP|���|jj���|jjd|j_dS|jjsJ�|j� ��dSr�) rUrSrKr�rrXrTrnr`r�r�s r*r]z&getPhases.<locals>.InRowPhase.endTagTrrs����&�&�(�(� )��0�0�2�2�2�� �&�*�*�,�,�,�$(�K�$6�}�$E�� �!�!�!��{�,�,�,�,�� �&�&�(�(�(�(�(r+c�z�|���}|�td����|s|SdSr[r\rs r*r�z)getPhases.<locals>.InRowPhase.endTagTable|sF���.�.�0�0�L� �M�M�/�$�/�/� 0� 0� 0� � �� � � r+c���|j�|dd���r$|�td����|S|j���dS)NrMr�r�r�)rKr�r]r<rXr�r�s r*rCz1getPhases.<locals>.InRowPhase.endTagTableRowGroup�s\���y�'�'��f� �w�'�G�G� )�� � �o�d�3�3�4�4�4�� �� �&�&�(�(�(�(�(r+c�L�|j�dd|di��dS)Nzunexpected-end-tag-in-table-rowrMr r�s r*r�z*getPhases.<locals>.InRowPhase.endTagIgnore�s5�� �K� "� "�#D�$*�E�&�M�#:� <� <� <� <� <r+c�L�|jjd�|��Sr-rr�s r*r]z)getPhases.<locals>.InRowPhase.endTagOther�rMr+r�rN)r�r�r�r�r�r�r�r�r�r�)r�r�r�r�r�r�r�N)rBrCrDr6rrSrUr�r�r�r?rDrYr]r�rCr�r]r r^rrr_rr�s�r*� InRowPhaserQJs{��������E�G�G� � -� -� -�  G� G� G� 7� 7� 7� O� O� O� J� J� J� >� >� >�  � � � H� H� H� )� )� )� � � � )� )� )� <� <� <� F� F� F�2�&�1� �U�'� (� �,� -��'� )�3 � � �� #0���/��/� �8� � �k� "� (�*=� >� G� � � 1 � � � �!,� ���r+rdc����eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z ejd �jfd efg��Ze e_ejd e fd e fde fg��Ze e_dS)�getPhases.<locals>.InCellPhasec��|j�dd���r$|�td����dS|j�dd���r$|�td����dSdS�Nr�r�r�r�)rKr��endTagTableCellr<rts r*� closeCellz(getPhases.<locals>.InCellPhase.closeCell�s����y�'�'��g�'�>�>� <��$�$�_�T�%:�%:�;�;�;�;�;���)�)�$��)�@�@� <��$�$�_�T�%:�%:�;�;�;�;�;� <� <r+c�N�|jjd���dSrRr rts r*r�z)getPhases.<locals>.InCellPhase.processEOF�r r+c�L�|jjd�|��SrRrr�s r*r�z0getPhases.<locals>.InCellPhase.processCharacters�rr+c���|j�dd���s|j�dd���r|���|S|jjsJ�|j���dSrh)rKr�rjrXr`r�r�s r*rDz1getPhases.<locals>.InCellPhase.startTagTableOther�s~��� �(�(��w�(�?�?� )��I�,�,�T�7�,�C�C� )���� � � �� ��{�,�,�,�,�� �&�&�(�(�(�(�(r+c�L�|jjd�|��SrRrSr�s r*rYz,getPhases.<locals>.InCellPhase.startTagOther�rTr+c�h�|j�|dd���r�|j�|d��|jjdj|dkrV|j�dd|di�� |jj���}|j|dkrn�1n|jj���|j���|jj d|j_ dS|j�dd|di��dS) NrMr�r�r�zunexpected-cell-end-tagTr�r�) rKr�rQr�rMrXr�rr�rTrnr�s r*riz.getPhases.<locals>.InCellPhase.endTagTableCell�s,���y�'�'��f� �w�'�G�G� V�� �0�0��v��?�?�?��9�)�"�-�2�e�F�m�C�C��K�*�*�+D�,2�E�&�M�+B�D�D�D�"�#�y�5�9�9�;�;���9��f� �5�5�!�"�"��I�*�.�.�0�0�0�� �7�7�9�9�9�$(�K�$6�w�$?�� �!�!�!�� �&�&�';�f�e�F�m�=T�U�U�U�U�Ur+c�L�|j�dd|di��dSr�r r�s r*r�z+getPhases.<locals>.InCellPhase.endTagIgnore�r�r+c��|j�|dd���r|���|S|j���dS)NrMr�r�)rKr�rjrXr�r�s r*� endTagImplyz*getPhases.<locals>.InCellPhase.endTagImply�sT���y�'�'��f� �w�'�G�G� )���� � � �� �� �&�&�(�(�(�(�(r+c�L�|jjd�|��SrRrr�s r*r]z*getPhases.<locals>.InCellPhase.endTagOther�rr+r�rrN)r�r�r�r�r�rxN)rBrCrDr6rrjr�r�rDrYrir�rrr]r r^rrr_rr�s�r*� InCellPhaserf�s*��������E�G�G� � <� <� <� 6� 6� 6� I� I� I� )� )� )� G� G� G� V� V� V�" R� R� R� )� )� )� E� E� E�2�&�1� �U�'� (��0� 2�3 � � �� #0���/��/� �?� +� ;�\� J� 7�� E�1 � � � � !,� ���r+rtc ���eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zejd �jfdefdefde fde fde fg��Ze e_ejde fdefdefg��Zee_dS)� getPhases.<locals>.InSelectPhasec��|jjdjdkr|j�d��dS|jjsJ�dS)Nr�r�z eof-in-selectr�rts r*r�z+getPhases.<locals>.InSelectPhase.processEOF�sM���y�%�b�)�.�&�8�8�� �&�&��7�7�7�7�7��{�,�,�,�,�,�,r+c�b�|ddkrdS|j�|d��dSrr r�s r*r�z2getPhases.<locals>.InSelectPhase.processCharacters�s6���V�}��(�(��� �I� � ��v�� /� /� /� /� /r+c��|jjdjdkr|jj���|j�|��dSrI�rKr�rMrr�r�s r*�startTagOptionz/getPhases.<locals>.InSelectPhase.startTagOption�sM���y�%�b�)�.�(�:�:�� �&�*�*�,�,�,� �I� #� #�E� *� *� *� *� *r+c��|jjdjdkr|jj���|jjdjdkr|jj���|j�|��dS)Nr�rJr]rzr�s r*�startTagOptgroupz1getPhases.<locals>.InSelectPhase.startTagOptgroup s|���y�%�b�)�.�(�:�:�� �&�*�*�,�,�,��y�%�b�)�.�*�<�<�� �&�*�*�,�,�,� �I� #� #�E� *� *� *� *� *r+c�~�|j�d��|�td����dS)Nzunexpected-select-in-selectr�)rXr�� endTagSelectr<r�s r*rNz/getPhases.<locals>.InSelectPhase.startTagSelect s;�� �K� "� "�#@� A� A� A� � � �o�h�7�7� 8� 8� 8� 8� 8r+c���|j�d��|j�dd���r$|�t d����|S|jjsJ�dS)Nzunexpected-input-in-selectr�r�)rXr�rKr�rr<r`r�s r*r)z.getPhases.<locals>.InSelectPhase.startTagInput sn�� �K� "� "�#?� @� @� @��y�'�'��(�'�C�C� -��!�!�/�(�";�";�<�<�<�� ��{�,�,�,�,�,�,r+c�L�|jjd�|��Sr�rSr�s r*r�z/getPhases.<locals>.InSelectPhase.startTagScript rTr+c�L�|j�dd|di��dS)Nzunexpected-start-tag-in-selectrMr r�s r*rYz.getPhases.<locals>.InSelectPhase.startTagOther �5�� �K� "� "�#C�$*�E�&�M�#:� <� <� <� <� <r+c��|jjdjdkr |jj���dS|j�dddi��dS)Nr�rJ�unexpected-end-tag-in-selectrM�rKr�rMrrXr�r�s r*� endTagOptionz-getPhases.<locals>.InSelectPhase.endTagOption sf���y�%�b�)�.�(�:�:�� �&�*�*�,�,�,�,�,�� �&�&�'E�(.��'9�;�;�;�;�;r+c�^�|jjdjdkr9|jjdjdkr|jj���|jjdjdkr |jj���dS|j�dddi��dS)Nr�rJ�����r]r�rMr�r�s r*�endTagOptgroupz/getPhases.<locals>.InSelectPhase.endTagOptgroup% s���� �&�r�*�/�8�;�;��I�*�2�.�3�z�A�A�� �&�*�*�,�,�,��y�%�b�)�.�*�<�<�� �&�*�*�,�,�,�,�,�� �&�&�'E�(.� �';�=�=�=�=�=r+c�f�|j�dd���rm|jj���}|jdkr)|jj���}|jdk�)|j���dS|jjsJ�|j���dS)Nr�r�) rKr�r�rrMrXrpr`r�r�s r*rz-getPhases.<locals>.InSelectPhase.endTagSelect2 s����y�'�'��(�'�C�C� )��y�-�1�1�3�3���i�8�+�+��9�1�5�5�7�7�D��i�8�+�+�� �.�.�0�0�0�0�0��{�,�,�,�,�� �&�&�(�(�(�(�(r+c�L�|j�dd|di��dS)Nr�rMr r�s r*r]z,getPhases.<locals>.InSelectPhase.endTagOther= �5�� �K� "� "�#A�$*�E�&�M�#:� <� <� <� <� <r+r�rJr]r�)r=r�r�r�N)rBrCrDr6rr�r�r{r}rNr)r�rYr�r�rr]r r^rrr_rr�s�r*� InSelectPhaserv�sg��������E�G�G� � -� -� -�  0� 0� 0�  +� +� +�  +� +� +� 9� 9� 9� -� -� -� G� G� G� <� <� <� ;� ;� ;� =� =� =� )� )� )� <� <� <�2�&�1� �U�'� (� �~� &� �)� *� �~� &� ,�m� <� �~� &� 3 � � ��#0���/��/� �|� $� �� (� �|� $�1 � � � � !,� ���r+r�c��eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z e j defg��Z ee _e j de fg��Ze e_dS) �'getPhases.<locals>.InSelectInTablePhasec�N�|jjd���dS�Nr�r rts r*r�z2getPhases.<locals>.InSelectInTablePhase.processEOFU s$�� �K� �z� *� 5� 5� 7� 7� 7� 7� 7r+c�L�|jjd�|��Sr�rr�s r*r�z9getPhases.<locals>.InSelectInTablePhase.processCharactersX s ���;�%�j�1�C�C�E�J�J� Jr+c��|j�dd|di��|�td����|S)Nz5unexpected-table-element-start-tag-in-select-in-tablerMr�)rXr�r]r<r�s r*r$z5getPhases.<locals>.InSelectInTablePhase.startTagTable[ sI�� �K� "� "�#Z�]c�ej�kq�er�\s� t� t� t� � � �_�X�6�6� 7� 7� 7��Lr+c�L�|jjd�|��Sr�rSr�s r*rYz5getPhases.<locals>.InSelectInTablePhase.startTagOther` s ���;�%�j�1�A�A�%�H�H� Hr+c���|j�dd|di��|j�|dd���r$|�t d����|SdS)Nz3unexpected-table-element-end-tag-in-select-in-tablerMr�r�r�)rXr�rKr�r]r<r�s r*r�z3getPhases.<locals>.InSelectInTablePhase.endTagTablec st�� �K� "� "�#X�[a�ch�io�cp�Zq� r� r� r��y�'�'��f� �w�'�G�G� �� � ���!:�!:�;�;�;�� � � r+c�L�|jjd�|��Sr�rr�s r*r]z3getPhases.<locals>.InSelectInTablePhase.endTagOtheri s ���;�%�j�1�?�?��F�F� Fr+)r�r�r�r�r�r�r�r�N)rBrCrDr6rr�r�r$rYr�r]r r^rr_rrJr+r*�InSelectInTablePhaser�R s��������E�G�G� � 8� 8� 8� K� K� K� � � �  I� I� I� � � �  G� G� G�2�&�1� N� � �3 � � ��#0���/��/� N� � �1 � � � �!,� ���r+r�c�Z��eZdZe��Zegd���Zd�Z�fd�Zd�Z d�Z dS)�(getPhases.<locals>.InForeignContentPhase),r�r�r�r�rFr�r�r�r,r�r�r�r��h1�h2�h3�h4�h5�h6r�r9r�r0r�r�r�r;rr�r)r�rPr�r��spanr�r��sub�supr�r�r�r��varc��idd�dd�dd�dd�d d �d d �d d�dd�dd�dd�dd�dd�dd�dd�dd�dd �d!d"�id#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<�d=d>�d?d@�dAdB�dCdD��dEdFdG��}|dH|vr||dH|dH<dSdS)IN�altglyph�altGlyph� altglyphdef� altGlyphDef� altglyphitem� altGlyphItem� animatecolor� animateColor� animatemotion� animateMotion�animatetransform�animateTransform�clippath�clipPath�feblend�feBlend� fecolormatrix� feColorMatrix�fecomponenttransfer�feComponentTransfer� fecomposite� feComposite�feconvolvematrix�feConvolveMatrix�fediffuselighting�feDiffuseLighting�fedisplacementmap�feDisplacementMap�fedistantlight�feDistantLight�feflood�feFlood�fefunca�feFuncA�fefuncb�feFuncB�fefuncg�feFuncG�fefuncr�feFuncR�fegaussianblur�feGaussianBlur�feimage�feImage�femerge�feMerge� femergenode� feMergeNode� femorphology� feMorphology�feoffset�feOffset� fepointlight� fePointLight�fespecularlighting�feSpecularLighting� fespotlight� feSpotLight�fetile�feTile� feturbulence� feTurbulence� foreignobject� foreignObject�glyphref�glyphRef�lineargradient�linearGradient�radialGradient�textPath)�radialgradient�textpathrMrJ)rOr�� replacementss r*�adjustSVGTagNamesz:getPhases.<locals>.InForeignContentPhase.adjustSVGTagNames� s���#4�J� �#4�)�=�#4�*�N�#4�+�N�#4�,�_� #4� /�0B� #4� '� � #4�&�y�#4�,�_�#4�2�3H�#4�*�=�#4�/�0B�#4�0�1D�#4�0�1D�#4�-�.>�#4�&�y�#4� &�y�!#4�#4�"&�y�##4�$&�y�%#4�&&�y�'#4�(-�.>�)#4�*&�y�+#4�,&�y�-#4�.*�=�/#4�0+�N�1#4�2'� �3#4�4+�N�5#4�61�2F�7#4�8*�=�9#4�:%�h�;#4�<+�N�=#4�>,�_�?#4�@'� �A#4�B-�.>�C#4�#4�D/?�(2�G#4�#4�#4�L�J�V�}� �,�,� ,�U�6�]� ;��f� � � �-�,r+c����|ddkrd|d<n7|jjr+td�|dD����r d|j_��||��dS)Nr�r�u�c3�(K�|] }|tvV��dSr4r�r�s r*� <genexpr>zMgetPhases.<locals>.InForeignContentPhase.processCharacters.<locals>.<genexpr>� s'����L�L�d�d�/�1�L�L�L�L�L�Lr+F)rXrsr�r�)rOr�rs �r*r�z:getPhases.<locals>.InForeignContentPhase.processCharacters� ss����V�}��(�(� (��f� � ��+�(� /��L�L�e�F�m�L�L�L�L�L� /�).�� �&� � #� #�D�%� 0� 0� 0� 0� 0r+c���|jjd}|d|jvs:|ddk�rbt|d�����hd�z�r5|j�dd|di��|jjdj|jjkr�|j� |jjd��s�|j� |jjd��s�|jj� ��|jjdj|jjkrT|j� |jjd��s*|j� |jjd����|S|jtdkr|j� |��nE|jtdkr/|�|��|j�|��|j�|��|j|d <|j�|��|d r%|jj� ��d |d <dSdS) Nr�rMr�r�>�face�size�colorz*unexpected-html-element-in-foreign-contentr{r�r}r�Tr�)rKr��breakoutElements�set�keysrXr�r}r�r�r�rrrr�rrr�)rOr�r�s r*r�z8getPhases.<locals>.InForeignContentPhase.processStartTag� sc���)�0��4�K��f� ��!6�6�6��v��&�(�(��U�6�]�'�'�)�)�*�*�-F�-F�-F�F�)�� �&�&�'S�(.��f� �'>�@�@�@��y�-�b�1�;��y�1�2�2��;�=�=�d�i�>T�UW�>X�Y�Y�2� �;�C�C�D�I�DZ�[]�D^�_�_�2��I�*�.�.�0�0�0� �y�-�b�1�;��y�1�2�2��;�=�=�d�i�>T�UW�>X�Y�Y�2� �;�C�C�D�I�DZ�[]�D^�_�_�2� � ��(�J�x�,@�@�@��K�6�6�u�=�=�=�=� �*�j��.?�?�?��*�*�5�1�1�1��K�3�3�E�:�:�:�� �3�3�E�:�:�:�%0�%:��k�"�� �'�'��.�.�.���'�<��I�*�.�.�0�0�0�7;�E�3�4�4�4�<�<r+c�F�t|jj��dz }|jjd}|j�t ��|dkr#|j�dd|di�� |j�t ��|dkr�|jj|jj dkr9|jj� ��|jjj |j_|jj� ��|kr0|jjsJ�|jj� ��|k�0d}nN|dz}|jj|}|j |jjkr��|jj�|��} |S)Nrr�rMr�Tr�)r�rKr�rMrrrXr�rnrTr�r�rr}r�r�)rOr�� nodeIndexr�r�s r*r�z6getPhases.<locals>.InForeignContentPhase.processEndTag� ss���D�I�2�3�3�a�7�I��9�)�"�-�D��y�"�"�#3�4�4��f� �E�E�� �&�&�';�f�e�F�m�=T�U�U�U� ��9�&�&�'7�8�8�E�&�M�I�I��{�(�D�K�,>�}�,M�M�M�� �)�9�9�;�;�;�,0�K�,=�,K�� �)��)�0�4�4�6�6�$�>�>�#�y�5�5�5�5��)�0�4�4�6�6�$�>�>� $�I���Q�� ��y�-�i�8���>�T�Y�%?�?�?�� $� � 1� ?� ?�� F� F�I��� r+N) rBrCrDr6rr�r�r�r�r�r�r�s�r*�InForeignContentPhaser�x s���������E�G�G� �$�9�&G�&G�&G�H�H��' <�' <�' <�R 1� 1� 1� 1� 1� <� <� <�6 � � � � r+r�c��eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z e j defg��Ze e_e j de fg��Ze e_d S) �!getPhases.<locals>.AfterBodyPhasec��dSr4rJrts r*r�z,getPhases.<locals>.AfterBodyPhase.processEOF� ��� �Dr+c�\�|j�||jjd��dS)Nrrr�s r*r�z0getPhases.<locals>.AfterBodyPhase.processComment� s,�� �I� #� #�E�4�9�+A�!�+D� E� E� E� E� Er+c�r�|j�d��|jjd|j_|S)Nzunexpected-char-after-bodyr��rXr�rTrnr�s r*r�z3getPhases.<locals>.AfterBodyPhase.processCharacters� s2�� �K� "� "�#?� @� @� @� $� � 2�8� <�D�K� ��Lr+c�L�|jjd�|��SrRrSr�s r*rz.getPhases.<locals>.AfterBodyPhase.startTagHtml� rTr+c��|j�dd|di��|jjd|j_|S)Nzunexpected-start-tag-after-bodyrMr�rr�s r*rYz/getPhases.<locals>.AfterBodyPhase.startTagOther� sD�� �K� "� "�#D�$*�E�&�M�#:� <� <� <� $� � 2�8� <�D�K� ��Lr+c��|jjr|j�d��dS|jjd|j_dS)Nz'unexpected-end-tag-after-body-innerhtml�afterAfterBody)rXr`r�rTrn)rOrMs r*rgz,getPhases.<locals>.AfterBodyPhase.endTagHtml sH���{�$� I�� �&�&�'P�Q�Q�Q�Q�Q�$(�K�$6�7G�$H�� �!�!�!r+c��|j�dd|di��|jjd|j_|S)Nzunexpected-end-tag-after-bodyrMr�rr�s r*r]z-getPhases.<locals>.AfterBodyPhase.endTagOther sD�� �K� "� "�#B�$*�E�&�M�#:� <� <� <� $� � 2�8� <�D�K� ��Lr+r�N)rBrCrDr6rr�r�r�rrYrgr]r r^rr_rrJr+r*�AfterBodyPhaser�� s��������E�G�G� � � � � F� F� F�  � � �  G� G� G� � � �  I� I� I�  � � � 2�&�1� �\� "�3 � � ��#0���/��/�&�*�1E�0F�G�G� � +� ���r+r c����eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z e jd �jfd efd efd e fg��Ze e_e jd e fg��Ze e_d S)�"getPhases.<locals>.InFramesetPhasec��|jjdjdkr|j�d��dS|jjsJ�dS)Nr�r�zeof-in-framesetr�rts r*r�z-getPhases.<locals>.InFramesetPhase.processEOF sN���y�%�b�)�.�&�8�8�� �&�&�'8�9�9�9�9�9��{�,�,�,�,�,�,r+c�:�|j�d��dS)Nzunexpected-char-in-framesetr r�s r*r�z4getPhases.<locals>.InFramesetPhase.processCharacters" s�� �K� "� "�#@� A� A� A� A� Ar+c�:�|j�|��dSr4)rKr�r�s r*r�z3getPhases.<locals>.InFramesetPhase.startTagFrameset% s�� �I� #� #�E� *� *� *� *� *r+c�v�|j�|��|jj���dSr4rlr�s r*� startTagFramez0getPhases.<locals>.InFramesetPhase.startTagFrame( s5�� �I� #� #�E� *� *� *� �I� "� &� &� (� (� (� (� (r+c�L�|jjd�|��SrRrSr�s r*�startTagNoframesz3getPhases.<locals>.InFramesetPhase.startTagNoframes, rTr+c�L�|j�dd|di��dS)Nz unexpected-start-tag-in-framesetrMr r�s r*rYz0getPhases.<locals>.InFramesetPhase.startTagOther/ rKr+c�<�|jjdjdkr|j�d��n|jj���|jjs9|jjdjdkr |jjd|j_dSdSdS)Nr�r�z)unexpected-frameset-in-frameset-innerhtmlr�� afterFrameset) rKr�rMrXr�rr`rTrnr�s r*�endTagFramesetz1getPhases.<locals>.InFramesetPhase.endTagFrameset3 s����y�%�b�)�.�&�8�8�� �&�&�'R�S�S�S�S�� �&�*�*�,�,�,��K�)� H��I�*�2�.�3�z�A�A�%)�K�$6��$G�� �!�!�!�  H� H�A�Ar+c�L�|j�dd|di��dS)Nzunexpected-end-tag-in-framesetrMr r�s r*r]z.getPhases.<locals>.InFramesetPhase.endTagOther? r�r+r�r�r�r�N)rBrCrDr6rr�r�r�rrrYrr]r r^rrr_rr�s�r*�InFramesetPhaser  s��������E�G�G� � -� -� -�  B� B� B� +� +� +� )� )� )� G� G� G� <� <� <� H� H� H� <� <� <�2�&�1� �U�'� (� �)� *� �m� $� �)� *� 3 � � �� #0���/��/� �� (�1 � � � �!,� ���r+rc����eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z e j d�j fdefg��Zee_e j de fg��Ze e_d S) �%getPhases.<locals>.AfterFramesetPhasec��dSr4rJrts r*r�z0getPhases.<locals>.AfterFramesetPhase.processEOFT rr+c�:�|j�d��dS)Nzunexpected-char-after-framesetr r�s r*r�z7getPhases.<locals>.AfterFramesetPhase.processCharactersX s�� �K� "� "�#C� D� D� D� D� Dr+c�L�|jjd�|��Sr�rSr�s r*rz6getPhases.<locals>.AfterFramesetPhase.startTagNoframes[ rTr+c�L�|j�dd|di��dS)Nz#unexpected-start-tag-after-framesetrMr r�s r*rYz3getPhases.<locals>.AfterFramesetPhase.startTagOther^ s5�� �K� "� "�#H�$*�E�&�M�#:� <� <� <� <� <r+c�>�|jjd|j_dS)N�afterAfterFrameset)rXrTrnr�s r*rgz0getPhases.<locals>.AfterFramesetPhase.endTagHtmlb s�� $� � 2�3G� H�D�K� � � r+c�L�|j�dd|di��dS)Nz!unexpected-end-tag-after-framesetrMr r�s r*r]z1getPhases.<locals>.AfterFramesetPhase.endTagOthere s5�� �K� "� "�#F�$*�E�&�M�#:� <� <� <� <� <r+r�r�N)rBrCrDr6rr�r�rrYrgr]r r^rrr_rr�s�r*�AfterFramesetPhaserP s���������E�G�G� � � � � E� E� E� G� G� G� <� <� <� I� I� I� <� <� <�2�&�1� �U�'� (� �)� *�3 � � ��#0���/��/� �Z� �1 � � � �!,� ���r+r"c��eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z e j de fg��Ze e_d S) �&getPhases.<locals>.AfterAfterBodyPhasec��dSr4rJrts r*r�z1getPhases.<locals>.AfterAfterBodyPhase.processEOFw r#r+c�P�|j�||jj��dSr4r%r�s r*r�z5getPhases.<locals>.AfterAfterBodyPhase.processCommentz r'r+c�L�|jjd�|��SrRr�r�s r*r�z=getPhases.<locals>.AfterAfterBodyPhase.processSpaceCharacters} r�r+c�r�|j�d��|jjd|j_|S)N�expected-eof-but-got-charr�rr�s r*r�z8getPhases.<locals>.AfterAfterBodyPhase.processCharacters� s2�� �K� "� "�#>� ?� ?� ?� $� � 2�8� <�D�K� ��Lr+c�L�|jjd�|��SrRrSr�s r*rz3getPhases.<locals>.AfterAfterBodyPhase.startTagHtml� rTr+c��|j�dd|di��|jjd|j_|S)N�expected-eof-but-got-start-tagrMr�rr�s r*rYz4getPhases.<locals>.AfterAfterBodyPhase.startTagOther� sD�� �K� "� "�#C�$*�E�&�M�#:� <� <� <� $� � 2�8� <�D�K� ��Lr+c��|j�dd|di��|jjd|j_|S)N�expected-eof-but-got-end-tagrMr�rr�s r*r�z4getPhases.<locals>.AfterAfterBodyPhase.processEndTag� sD�� �K� "� "�#A�$*�E�&�M�#:� <� <� <� $� � 2�8� <�D�K� ��Lr+r�N)rBrCrDr6rr�r�r�r�rrYr�r r^rr_rJr+r*�AfterAfterBodyPhaser$t s��������E�G�G� � � � � ?� ?� ?� N� N� N� � � �  G� G� G� � � �  � � � 2�&�1� �\� "�3 � � ��#0����r+r/c��eZdZe��Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z e jd e fd e fg��Ze e_d S) �*getPhases.<locals>.AfterAfterFramesetPhasec��dSr4rJrts r*r�z5getPhases.<locals>.AfterAfterFramesetPhase.processEOF� r#r+c�P�|j�||jj��dSr4r%r�s r*r�z9getPhases.<locals>.AfterAfterFramesetPhase.processComment� r'r+c�L�|jjd�|��SrRr�r�s r*r�zAgetPhases.<locals>.AfterAfterFramesetPhase.processSpaceCharacters� r�r+c�:�|j�d��dS)Nr)r r�s r*r�z<getPhases.<locals>.AfterAfterFramesetPhase.processCharacters� s�� �K� "� "�#>� ?� ?� ?� ?� ?r+c�L�|jjd�|��SrRrSr�s r*rz7getPhases.<locals>.AfterAfterFramesetPhase.startTagHtml� rTr+c�L�|jjd�|��Sr�rSr�s r*�startTagNoFramesz;getPhases.<locals>.AfterAfterFramesetPhase.startTagNoFrames� rTr+c�L�|j�dd|di��dS)Nr,rMr r�s r*rYz8getPhases.<locals>.AfterAfterFramesetPhase.startTagOther� r�r+c�L�|j�dd|di��dS)Nr.rMr r�s r*r�z8getPhases.<locals>.AfterAfterFramesetPhase.processEndTag� r�r+r�r�N)rBrCrDr6rr�r�r�r�rr8rYr�r r^rr_rJr+r*�AfterAfterFramesetPhaser1� s��������E�G�G� � � � � ?� ?� ?� N� N� N� @� @� @� G� G� G� G� G� G� <� <� <� <� <� <�2�&�1� �\� "� �)� *�3 � � ��#0����r+r;rerdr�rVr�r�r�r�r�r�r�r�r�r�r�r�rM)r�rdr�rrr )r)rUrgr�r7rGr`r�r�r�r�r�rr1rOrdrtr�r�r�r rr"r/r;r�r�rs @@@r*rSrS�s'��������*���F�F�F�F�F��|�|�E�3�7�7�8�8�F�F�F�P@�@�@�@�@�u�@�@�@�D#�#�#�#�#�%�#�#�#�J+,�+,�+,�+,�+,�%�+,�+,�+,�Zd,�d,�d,�d,�d,�e�d,�d,�d,�L=,�=,�=,�=,�=,�e�=,�=,�=,�~@,�@,�@,�@,�@,��@,�@,�@,�DR ,�R ,�R ,�R ,�R ,�R ,�R ,�R ,�e�R ,�R ,�R ,�h,�,�,�,�,�E�,�,�,�BO,�O,�O,�O,�O,�O,�O,�u�O,�O,�O,�b-�-�-�-�-�-�-�5�-�-�-�^D,�D,�D,�D,�D,�D,�D,��D,�D,�D,�L>,�>,�>,�>,�>,�>,�>,�U�>,�>,�>,�@`,�`,�`,�`,�`,�`,�`,�5�`,�`,�`,�DW,�W,�W,�W,�W,�W,�W,�U�W,�W,�W,�rJ,�J,�J,�J,�J,�J,�J,�e�J,�J,�J,�Xa,�a,�a,�a,�a,�a,�a,��a,�a,�a,�F$,�$,�$,�$,�$,�u�$,�$,�$,�Lp�p�p�p�p�p�p��p�p�p�d,,�,,�,,�,,�,,��,,�,,�,,�\6,�6,�6,�6,�6,�6,�6,�%�6,�6,�6,�p",�",�",�",�",�",�",�U�",�",�",�H#0�#0�#0�#0�#0�e�#0�#0�#0�J!0�!0�!0�!0�!0�%�!0�!0�!0�J ��<� ��o� � �o� � �+�  � �-�  � �^�  � �+� � � � � �<� � �'� � �^� � �+� � �'� � �� � �+� � �M�! �" �/�# �$2�#�%�+�-�5�/ � � �r+c����t|d��t���z}|rGt|d���fd�|d���D����|d<dSdS)Nr�c3�N�K�|]\}}��||��|fV�� dSr4)r�)rL�k�vr�s �r*r�z$adjust_attributes.<locals>.<genexpr>� sX�����,O�,O�04��1�.:�-=�-=�a��-C�-C�Q�,G�,O�,O�,O�,O�,O�,Or+)rr9r5)r�r��needs_adjustments ` r*r�r�� s������f� �.�.��,�1G�1G�G���O�+��U�6�]�+�+�,O�,O�,O�,O�8=�f� �8K�8K�8M�8M�,O�,O�,O�O�O��f� � � �O�Or+r�Fc�.�|�i}t||||d�S)N)r9rMr�r�)r)rMr9r~r�s r*r<r<� s+����� ��t�$�d�J�&� (� (�(r+c��eZdZdZdS)r�zError in parsed documentN)rBrCrDr�rJr+r*r�r�� s������"�"��Dr+r�)rT)r,rT)r�NF),� __future__rrr�sixrrr7r,r r r �treebuilders.baser r � constantsrrrrrrrrrrrrr�rrrrr$r/rFr�r#�memoizerSr�r<� Exceptionr�rJr+r*�<module>rIs@��B�B�B�B�B�B�B�B�B�B�(�(�(�(�(�(�(�(� � � � �������������������%�%�%�%�%�%������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �"�"�"�"�.?�?�?�?�2 � � �s)�s)�s)�s)�s)��s)�s)�s)�l ��J%�J%���J%�ZJO�O�O�59� %�(�(�(�(� � � � � �� � � � � r+
Memory