§
    ¡”jÙù  ã                   ó°   — d dl mZ d dlmZ d dlmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZ  e ee¦  «        ¦  «        Zd„ Zd„ Z G d	„ d
¦  «        ZdS )é    )Úbisect_left)Údeque)Úhtml5é   )	ÚEOFÚTokenÚascii_lettersÚascii_upper_to_lowerÚdigitsÚ	hexdigitsÚreplacement_charactersÚspace_charactersÚtag_token_types)ÚHTMLInputStreamc                 ó¶   — | t           v rdS t          t          | ¦  «        x}t          t           ¦  «        k    rdS t          |                              | ¦  «        S )NTF)Úentitiesr   Úentity_keysÚlenÚ
startswith©ÚprefixÚis     úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/tinyhtml5/tokenizer.pyÚhas_keys_with_prefixr      sO   € Ø•ÐÐØˆtÝ� fÑ-Ô-Ð-ˆµ#µh±-´-Ò?Ð?ØˆuÝ�qŒ>×$Ò$ VÑ,Ô,Ð,ó    c                 óº   — | t           v r| S t          dt          | ¦  «        dz   ¦  «        D ]!}| d | …         t           v r| d | …         c S Œ"t          | ¦  «        ‚)Nr   )r   Úranger   ÚKeyErrorr   s     r   Úlongest_prefixr      ss   € Ø•ÐÐØˆÝ�1•c˜&‘k”k A‘oÑ&Ô&ð ð ˆØ�#�A�2�#Œ;�(Ð"Ð"Ø˜#˜A˜2˜#”;ÐÐÐð #å
�6Ñ
Ô
Ðr   c                   óØ  — e Zd ZdZdOd„Zd„ Zd„ Zd„ Zd„ ZdPd	„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„ 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)„ Z)d*„ Z*d+„ Z+d,„ Z,d-„ Z-d.„ Z.d/„ Z/d0„ Z0d1„ Z1d2„ Z2d3„ Z3d4„ Z4d5„ Z5d6„ Z6d7„ Z7d8„ Z8d9„ Z9d:„ Z:d;„ Z;d<„ Z<d=„ Z=d>„ Z>d?„ Z?d@„ Z@dA„ ZAdB„ ZBdC„ ZCdD„ ZDdE„ ZEdF„ ZFdG„ ZGdH„ ZHdI„ ZIdJ„ ZJdK„ ZKdL„ ZLdM„ ZMdN„ ZNdS )QÚHTMLTokenizerzHTML tokenizer.Nc                 ó^   — t          |fi |¤Ž| _        || _        | j        | _        d | _        d S ©N)r   ÚstreamÚparserÚ
data_stateÚstateÚcurrent_token)Úselfr$   r%   Úkwargss       r   Ú__init__zHTMLTokenizer.__init__)   s9   € Ý% fÐ7Ð7°Ð7Ð7ˆŒØˆŒð ”_ˆŒ
Ø!ˆÔÐÐr   c              #   ób  K  — t          ¦   «         | _        |                      ¦   «         r…| j        j        r:t
          j        | j        j                             d¦  «        dœV — | j        j        °:| j        r"| j                             ¦   «         V — | j        °"|                      ¦   «         °ƒdS dS )zäThis is where the magic happens.

        We do our usually processing through the states and when we have a token
        to return we yield the token which pauses processing until the next token
        is requested.

        r   ©ÚtypeÚdataN)	r   Útoken_queuer'   r$   Úerrorsr   ÚPARSE_ERRORÚpopÚpopleft©r)   s    r   Ú__iter__zHTMLTokenizer.__iter__1   sÒ   è è € õ !™7œ7ˆÔð �jŠj‰lŒlð 	1Ø”+Ô$ð å!Ô-Ø œKÔ.×2Ò2°1Ñ5Ô5ðð ð ð ð ð ”+Ô$ð ð
 Ô"ð 1ØÔ&×.Ò.Ñ0Ô0Ð0Ð0Ð0ð Ô"ð 1ð �jŠj‰lŒlð 	1ð 	1ð 	1ð 	1ð 	1r   c                 óf   — t           j        |dœ}|r||d<   | j                             |¦  «         dS )z%Add a parse error to the token queue.r-   ÚdatavarsN)r   r2   r0   Úappend)r)   Ú_datar8   Útokens       r   Úparse_errorzHTMLTokenizer.parse_errorE   sA   € åÔ*°EÐ:Ð:ˆØð 	)Ø (ˆE�*ÑØÔ×Ò Ñ&Ô&Ð&Ð&Ð&r   c                 óT   — | j                              t          j        |dœ¦  «         dS )z+Add a characters string to the token queue.r-   N)r0   r9   r   Ú
CHARACTERS)r)   r:   s     r   Ú
characterszHTMLTokenizer.charactersL   s*   € àÔ×Ò­Ô)9À5Ð IÐ IÑJÔJÐJÐJÐJr   c                 ó(  — |rt           nt          }|rdnd}g }| j                             ¦   «         }||v r2|                     |¦  «         | j                             ¦   «         }||v °2t          d                     |¦  «        |¦  «        }|t          v r%t          |         }|                      d|¬¦  «         n¤d|cxk    rdk    sn |dk    rd	}|                      d|¬¦  «         nud
|cxk    rdk    sBn d|cxk    rdk    s3n d|cxk    rdk    s$n d|cxk    rdk    sn |t          g d¢¦  «        v r|                      d|¬¦  «         t          |¦  «        }|dk    r/|                      d¦  «         | j                             |¦  «         |S )zªReturn either U+FFFD or the character based on the representation.

        It also discards ";" if present. If not present self.parse_error is
        invoked.

        é   é
   Ú z$illegal-codepoint-for-numeric-entity)Úintegeri Ø  iÿß  éÿÿ õ   ï¿½r   é   é   é   é   éŸ   iÐý  iïý  )#é   iþÿ  iÿÿ  iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ	 iÿÿ	 iþÿ
 iÿÿ
 iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ iÿÿ iþÿ rE   ú;z numeric-entity-without-semicolon)r   r   r$   Ú	characterr9   ÚintÚjoinr   r<   Ú	frozensetÚchrÚunget)r)   Úis_hexÚallowedÚradixÚstackrN   rD   Úreplacements           r   Úconsume_number_entityz#HTMLTokenizer.consume_number_entityP   s(  € ð  &Ð1•)�)­6ˆØÐ$�� "ˆØˆð ”K×)Ò)Ñ+Ô+ˆ	Ø˜7Ð"Ð"Ø�LŠL˜Ñ#Ô#Ð#Øœ×-Ò-Ñ/Ô/ˆIð ˜7Ð"Ð"õ
 �b—g’g˜e‘n”n eÑ,Ô,ˆð Õ,Ð,Ð,Ý0°Ô9ˆKØ×ÒÐCÈWÐÑUÔUÐUÐUØ˜Ð)Ð)Ò)Ð) 6Ò)Ð)Ð)Ð)¨w¸Ò/AÐ/AØ"ˆKØ×ÒÐCÈWÐÑUÔUÐUÐUð ˜7Ð,Ð,Ò,Ð, fÒ,Ð,Ð,Ð,Ø˜7Ð,Ð,Ò,Ð, fÒ,Ð,Ð,Ð,Ø˜7Ð,Ð,Ò,Ð, fÒ,Ð,Ð,Ð,Ø˜7Ð,Ð,Ò,Ð, fÒ,Ð,Ð,Ð,Ø�9ð &:ð &:ð &:ñ ;ô ;ð ;ð ;ð × Ò Ø:ÀGð !ñ Mô Mð Må˜g™,œ,ˆKð ˜ÒÐØ×ÒÐ?Ñ@Ô@Ð@ØŒK×Ò˜iÑ(Ô(Ð(àÐr   Fc                 óÚ  — d}| j                              ¦   «         g}|d         t          ddgt          ¢R v p|d uo||d         k    }|r"| j                              |d         ¦  «         �n&|d         dk    �rd}|                     | j                              ¦   «         ¦  «         |d         dv r.d}|                     | j                              ¦   «         ¦  «         |d         |rt          nt          v r7| j                              |d         ¦  «         |                      |¦  «        }�nd|  	                    d	¦  «         | j                              | 
                    ¦   «         ¦  «         dd
                     |¦  «        › �}�n	|d         t          ur^t          d
                     |¦  «        ¦  «        sn;|                     | j                              ¦   «         ¦  «         |d         t          u°^	 t          d
                     |d d…         ¦  «        ¦  «        }|d         dk    r|  	                    d¦  «         t          |¦  «        }||         t          v p||         t          v p||         dk    }	|d         dk    rI|rG|	rE| j                              | 
                    ¦   «         ¦  «         dd
                     |¦  «        › �}nÂ| j                              | 
                    ¦   «         ¦  «         t           |         › d
                     ||d …         ¦  «        › �}ni# t"          $ r\ |  	                    d¦  «         | j                              | 
                    ¦   «         ¦  «         dd
                     |¦  «        › �}Y nw xY w|r#| j        d         d         dxx         |z  cc<   d S |t          v rdnd}
| j                             t(          |
         |dœ¦  «         d S )Nú&r   ú<ú#Féÿÿÿÿ)ÚxÚXTzexpected-numeric-entityrC   rM   znamed-entity-without-semicolonú=zexpected-named-entityr/   r   ÚSPACE_CHARACTERSr>   r-   )r$   rN   r   r   rS   r9   r   r   rY   r<   r3   rP   r   r   r   r	   r   r   r(   r0   r   )r)   rU   Úfrom_attributeÚoutputrW   rS   ÚhexÚentity_nameÚentity_lengthÚallowed_characterr.   s              r   Úconsume_entityzHTMLTokenizer.consume_entity…   sî  € àˆà”×&Ò&Ñ(Ô(Ð)ˆà�!ŒH�˜c 3Ð:Õ)9Ð:Ð:Ð:ð :Ø˜DÐ Ð8 W°°a´Ò%8ð 	ð ð 7	XØŒK×Ò˜e AœhÑ'Ô'Ð'Ñ'à�1ŒX˜Š_‰_àˆCØ�LŠL˜œ×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø�RŒy˜JÐ&Ð&Ø�Ø—’˜Tœ[×2Ò2Ñ4Ô4Ñ5Ô5Ð5ð �RŒy¨#Ð9�Y˜Yµ6Ð:Ð:à”×!Ò! %¨¤)Ñ,Ô,Ð,Ø×3Ò3°CÑ8Ô8�‘ð × Ò Ð!:Ñ;Ô;Ð;Ø”×!Ò! %§)¢)¡+¤+Ñ.Ô.Ð.Ø-˜RŸWšW U™^œ^Ð-Ð-�‘ð ˜”)¥3Ð&Ð&Ý+¨B¯GªG°E©N¬NÑ;Ô;ð ØØ—’˜Tœ[×2Ò2Ñ4Ô4Ñ5Ô5Ð5ð ˜”)¥3Ð&Ð&ðXÝ,¨R¯WªW°U¸3¸B¸3´ZÑ-@Ô-@ÑAÔA�ð ˜r”? cÒ)Ð)Ø×$Ò$Ð%EÑFÔFÐFÝ # KÑ 0Ô 0�à˜-Ô(­MÐ9ð 0Ø˜-Ô(­FÐ2ð0à˜-Ô(¨CÒ/ð "ð ˜r”? cÒ)Ð)¨nÐ)ÐARÐ)Ø”K×%Ò% e§i¢i¡k¤kÑ2Ô2Ð2Ø1 §¢¨¡¤Ð1Ð1�F�Fà”K×%Ò% e§i¢i¡k¤kÑ2Ô2Ð2Ý (¨Ô 5ÐW°r·w²w¸uÀ]À^À^Ô?TÑ7UÔ7UÐWÐW�F�Føõ# ð .ð .ð .Ø× Ò Ð!8Ñ9Ô9Ð9Ø”×!Ò! %§)¢)¡+¤+Ñ.Ô.Ð.Ø-˜RŸWšW U™^œ^Ð-Ð-���ð.øøøð& ð 	KØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ7Ð-Ð-Ñ-Ð-Ð-à)/Õ3CÐ)CÐ)CÐ%Ð%ÈˆDØÔ×#Ò#­U°4¬[À&Ð$IÐ$IÑJÔJÐJÐJÐJs   Ç6*L( Ì(A#NÎNc                 ó4   — |                       |d¬¦  «         dS )z5Replace the need for entity_in_attribute_value_state.T)rU   rc   N)ri   )r)   rU   s     r   Úprocess_entity_in_attributez)HTMLTokenizer.process_entity_in_attributeÌ   s!   € à×Ò G¸DÐÑAÔAÐAÐAÐAr   c                 óD  — | j         }|d         t          v rã|d                              t          ¦  «        |d<   |d         t          j        k    rZ|d         }t          |¦  «        }t          |¦  «        t          |¦  «        k    r|                     |ddd…         ¦  «         ||d<   |d         t          j	        k    r:|d         r|  
                    d¦  «         |d         r|  
                    d¦  «         | j                             |¦  «         | j        | _        dS )	z°This method is a generic handler for emitting the tags.

        It also sets the state to "data" because that's what's needed after a
        token has been emitted.

        r.   Únamer/   Nr^   zattributes-in-end-tagÚselfClosingzself-closing-flag-on-end-tag)r(   r   Ú	translater
   r   Ú	START_TAGÚdictr   ÚupdateÚEND_TAGr<   r0   r9   r&   r'   )r)   r;   Úrawr/   s       r   Úemit_current_tokenz HTMLTokenizer.emit_current_tokenÐ   s  € ð Ô"ˆà�Œ=�OÐ+Ð+Ø! &œM×3Ò3Õ4HÑIÔIˆE�&‰MØ�VŒ}¥¤Ò/Ð/Ø˜F”m�Ý˜C‘y”y�Ý�s‘8”8�c $™iœiÒ'Ð'à—K’K  D D b D¤	Ñ*Ô*Ð*Ø $��f‘à�VŒ}¥¤Ò-Ð-Ø˜”=ð >Ø×$Ò$Ð%<Ñ=Ô=Ð=Ø˜Ô'ð EØ×$Ò$Ð%CÑDÔDÐDØÔ×Ò Ñ&Ô&Ð&Ø”_ˆŒ
ˆ
ˆ
r   c                 ó  — | j                              ¦   «         }|dk    r| j        | _        nÓ|dk    r| j        | _        nÀ|dk    r+|                      d¦  «         |                      d¦  «         n�|t          u rdS |t          v rI| j	         
                    t          j        || j                              t          d¦  «        z   dœ¦  «         n2| j                              d¦  «        }|                      ||z   ¦  «         dS )	Nr[   r\   ú úinvalid-codepointFTr-   ©r[   r\   rw   )r$   rN   Úentity_data_stater'   Útag_open_stater<   r?   r   r   r0   r9   r   rb   Úchars_until©r)   r/   r?   s      r   r&   zHTMLTokenizer.data_stateì   s  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ/ˆDŒJˆJØ�SŠ[ˆ[ØÔ,ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%Ð%Ø•Sˆ[ˆ[Ø�5ØÕ%Ð%Ð%ð Ô×#Ò#ÝÔ.Ø˜tœ{×6Ò6Õ7GÈÑNÔNÑNð%ð %ñ ô ð ð ð œ×0Ò0Ð1EÑFÔFˆJØ�OŠO˜D :Ñ-Ñ.Ô.Ð.Øˆtr   c                 óF   — |                       ¦   «          | j        | _        dS ©NT)ri   r&   r'   r5   s    r   rz   zHTMLTokenizer.entity_data_state  s"   € Ø×ÒÑÔÐØ”_ˆŒ
Øˆtr   c                 ó  — | j                              ¦   «         }|dk    r| j        | _        nÓ|dk    r| j        | _        nÀ|t
          u rdS |dk    r+|                      d¦  «         |                      d¦  «         n„|t          v rI| j	         
                    t          j        || j                              t          d¦  «        z   dœ¦  «         n2| j                              d	¦  «        }|                      ||z   ¦  «         dS )
Nr[   r\   Frw   rx   rF   Tr-   ry   )r$   rN   Ú$character_reference_in_rc_data_stater'   Úrcdata_less_than_sign_stater   r<   r?   r   r0   r9   r   rb   r|   )r)   r/   Úcharss      r   Úrcdata_statezHTMLTokenizer.rcdata_state  s  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔBˆDŒJˆJØ�SŠ[ˆ[ØÔ9ˆDŒJˆJØ•Sˆ[ˆ[à�5Ø�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%Ð%ØÕ%Ð%Ð%ð Ô×#Ò#ÝÔ.Ø˜tœ{×6Ò6Õ7GÈÑNÔNÑNð%ð %ñ ô ð ð ð ”K×+Ò+Ð,@ÑAÔAˆEØ�OŠO˜D 5™LÑ)Ô)Ð)Øˆtr   c                 óF   — |                       ¦   «          | j        | _        dS r   )ri   r„   r'   r5   s    r   r�   z2HTMLTokenizer.character_reference_in_rc_data_state(  s#   € Ø×ÒÑÔÐØÔ&ˆŒ
Øˆtr   c                 ó:  — | j                              ¦   «         }|dk    r| j        | _        nn|dk    r+|                      d¦  «         |                      d¦  «         n=|t          u rdS | j                              d¦  «        }|                      ||z   ¦  «         dS ©Nr\   rw   rx   rF   F)r\   rw   T)r$   rN   Úrawtext_less_than_sign_stater'   r<   r?   r   r|   r}   s      r   Úrawtext_statezHTMLTokenizer.rawtext_state-  sž   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ:ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%Ð%Ø•Sˆ[ˆ[Ø�5àœ×0Ò0°ÑAÔAˆJØ�OŠO˜D :Ñ-Ñ.Ô.Ð.Øˆtr   c                 ó:  — | j                              ¦   «         }|dk    r| j        | _        nn|dk    r+|                      d¦  «         |                      d¦  «         n=|t          u rdS | j                              d¦  «        }|                      ||z   ¦  «         dS r‡   )r$   rN   Ú script_data_less_than_sign_stater'   r<   r?   r   r|   r}   s      r   Úscript_data_statezHTMLTokenizer.script_data_state;  sž   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ>ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%Ð%Ø•Sˆ[ˆ[Ø�5àœ×0Ò0°ÑAÔAˆJØ�OŠO˜D :Ñ-Ñ.Ô.Ð.Øˆtr   c                 ó  — | j                              ¦   «         }|t          u rdS |dk    r+|                      d¦  «         |                      d¦  «         n0|                      || j                              d¦  «        z   ¦  «         dS )NFrw   rx   rF   T)r$   rN   r   r<   r?   r|   ©r)   r/   s     r   Úplaintext_statezHTMLTokenizer.plaintext_stateI  s„   € ØŒ{×$Ò$Ñ&Ô&ˆØ•3ˆ;ˆ;Ø�5Ø�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%Ð%à�OŠO˜D 4¤;×#:Ò#:¸8Ñ#DÔ#DÑDÑEÔEÐEØˆtr   c                 ó~  — | j                              ¦   «         }|dk    r| j        | _        �n|dk    r| j        | _        nü|t
          v r$t          j        |g dddœ| _        | j	        | _        nÏ|dk    r7|  
                    d¦  «         |                      d¦  «         | j        | _        n’|dk    r<|  
                    d	¦  «         | j                              |¦  «         | j        | _        nP|  
                    d
¦  «         |                      d¦  «         | j                              |¦  «         | j        | _        dS )Nú!ú/F)r.   rm   r/   rn   ÚselfClosingAcknowledgedú>z'expected-tag-name-but-got-right-bracketz<>ú?z'expected-tag-name-but-got-question-markzexpected-tag-namer\   T)r$   rN   Úmarkup_declaration_open_stater'   Úclose_tag_open_stater	   r   rp   r(   Útag_name_stater<   r?   r&   rS   Úbogus_comment_staterŽ   s     r   r{   zHTMLTokenizer.tag_open_stateT  sD  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ;ˆDŒJ‰JØ�SŠ[ˆ[ØÔ2ˆDŒJˆJØ•]Ð"Ð"åœØØØ$Ø+0ð"ð "ˆDÔð Ô,ˆDŒJˆJØ�SŠ[ˆ[ð ×ÒÐFÑGÔGÐGØ�OŠO˜DÑ!Ô!Ð!ØœˆDŒJˆJØ�SŠ[ˆ[ð ×ÒÐFÑGÔGÐGØŒK×Ò˜dÑ#Ô#Ð#ØÔ1ˆDŒJˆJð ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜CÑ Ô Ð ØŒK×Ò˜dÑ#Ô#Ð#ØœˆDŒJØˆtr   c                 óÚ  — | j                              ¦   «         }|t          v r#t          j        |g ddœ| _        | j        | _        n¥|dk    r"|                      d¦  «         | j	        | _        n}|t          u r7|                      d¦  «         |                      d¦  «         | j	        | _        n=|                      d|¬¦  «         | j                              |¦  «         | j        | _        d	S )
NF©r.   rm   r/   rn   r”   z*expected-closing-tag-but-got-right-bracketz expected-closing-tag-but-got-eofú</z!expected-closing-tag-but-got-char©r/   T)r$   rN   r	   r   rs   r(   r˜   r'   r<   r&   r   r?   rS   r™   rŽ   s     r   r—   z"HTMLTokenizer.close_tag_open_statew  sð   € ØŒ{×$Ò$Ñ&Ô&ˆØ•=Ð Ð åœØØØ$ð	"ð "ˆDÔð Ô,ˆDŒJˆJØ�SŠ[ˆ[Ø×ÒÐIÑJÔJÐJØœˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ?Ñ@Ô@Ð@Ø�OŠO˜DÑ!Ô!Ð!ØœˆDŒJˆJð ×ÒÐ@ÀtÐÑLÔLÐLØŒK×Ò˜dÑ#Ô#Ð#ØÔ1ˆDŒJØˆtr   c                 ó¢  — | j                              ¦   «         }|t          v r| j        | _        nŸ|dk    r|                      ¦   «          n„|t          u r"|                      d¦  «         | j        | _        nY|dk    r| j	        | _        nF|dk    r+|                      d¦  «         | j
        dxx         dz  cc<   n| j
        dxx         |z  cc<   dS )	Nr”   zeof-in-tag-namer’   rw   rx   rm   rF   T)r$   rN   r   Úbefore_attribute_name_stater'   ru   r   r<   r&   Úself_closing_start_tag_stater(   rŽ   s     r   r˜   zHTMLTokenizer.tag_name_state�  sñ   € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØÔ9ˆDŒJˆJØ�SŠ[ˆ[Ø×#Ò#Ñ%Ô%Ð%Ð%Ø•Sˆ[ˆ[Ø×ÒÐ.Ñ/Ô/Ð/ØœˆDŒJˆJØ�SŠ[ˆ[ØÔ:ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨(Ñ2Ð&Ð&Ñ&Ð&àÔ˜vÐ&Ð&Ô&¨$Ñ.Ð&Ð&Ñ&ð ˆtr   c                 óâ   — | j                              ¦   «         }|dk    rd| _        | j        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS ©Nr’   rC   r\   T)r$   rN   Útemporary_bufferÚrcdata_end_tag_open_stater'   r?   rS   r„   rŽ   s     r   r‚   z)HTMLTokenizer.rcdata_less_than_sign_state£  si   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø$&ˆDÔ!ØÔ7ˆDŒJˆJà�OŠO˜CÑ Ô Ð ØŒK×Ò˜dÑ#Ô#Ð#ØÔ*ˆDŒJØˆtr   c                 óú   — | j                              ¦   «         }|t          v r| xj        |z  c_        | j        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS ©Nrœ   T)	r$   rN   r	   r£   Úrcdata_end_tag_name_stater'   r?   rS   r„   rŽ   s     r   r¤   z'HTMLTokenizer.rcdata_end_tag_open_state®  sw   € ØŒ{×$Ò$Ñ&Ô&ˆØ•=Ð Ð ØÐ!Ô! TÑ)Ð!Ô!ØÔ7ˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØŒK×Ò˜dÑ#Ô#Ð#ØÔ*ˆDŒJØˆtr   c                 óÂ  — | j         o9| j         d                              ¦   «         | j                             ¦   «         k    }| j                             ¦   «         }|t
          v r*|r(t          j        | j        g ddœ| _         | j        | _	        nÑ|dk    r*|r(t          j        | j        g ddœ| _         | j
        | _	        n¡|dk    r>|r<t          j        | j        g ddœ| _         |                      ¦   «          | j        | _	        n]|t          v r| xj        |z  c_        nC|                      d| j        › �¦  «         | j                             |¦  «         | j        | _	        dS ©Nrm   Fr›   r’   r”   rœ   T)r(   Úlowerr£   r$   rN   r   r   rs   rŸ   r'   r    ru   r&   r	   r?   rS   r„   ©r)   Úappropriater/   s      r   r§   z'HTMLTokenizer.rcdata_end_tag_name_state¹  s~  € àÔð PØÔ˜vÔ&×,Ò,Ñ.Ô.°$Ô2G×2MÒ2MÑ2OÔ2OÒOð 	ð Œ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#¨Ð#åœØÔ-ØØ$ð	"ð "ˆDÔð Ô9ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð Ô:ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð ×#Ò#Ñ%Ô%Ð%ØœˆDŒJˆJØ•]Ð"Ð"ØÐ!Ô! TÑ)Ð!Ô!Ð!à�OŠOÐ8 Ô!6Ð8Ð8Ñ9Ô9Ð9ØŒK×Ò˜dÑ#Ô#Ð#ØÔ*ˆDŒJØˆtr   c                 óâ   — | j                              ¦   «         }|dk    rd| _        | j        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS r¢   )r$   rN   r£   Úrawtext_end_tag_open_stater'   r?   rS   r‰   rŽ   s     r   rˆ   z*HTMLTokenizer.rawtext_less_than_sign_stateß  si   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø$&ˆDÔ!ØÔ8ˆDŒJˆJà�OŠO˜CÑ Ô Ð ØŒK×Ò˜dÑ#Ô#Ð#ØÔ+ˆDŒJØˆtr   c                 óú   — | j                              ¦   «         }|t          v r| xj        |z  c_        | j        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS r¦   )	r$   rN   r	   r£   Úrawtext_end_tag_name_stater'   r?   rS   r‰   rŽ   s     r   r®   z(HTMLTokenizer.rawtext_end_tag_open_stateê  sw   € ØŒ{×$Ò$Ñ&Ô&ˆØ•=Ð Ð ØÐ!Ô! TÑ)Ð!Ô!ØÔ8ˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØŒK×Ò˜dÑ#Ô#Ð#ØÔ+ˆDŒJØˆtr   c                 óÂ  — | j         o9| j         d                              ¦   «         | j                             ¦   «         k    }| j                             ¦   «         }|t
          v r*|r(t          j        | j        g ddœ| _         | j        | _	        nÑ|dk    r*|r(t          j        | j        g ddœ| _         | j
        | _	        n¡|dk    r>|r<t          j        | j        g ddœ| _         |                      ¦   «          | j        | _	        n]|t          v r| xj        |z  c_        nC|                      d| j        › �¦  «         | j                             |¦  «         | j        | _	        dS r©   )r(   rª   r£   r$   rN   r   r   rs   rŸ   r'   r    ru   r&   r	   r?   rS   r‰   r«   s      r   r°   z(HTMLTokenizer.rawtext_end_tag_name_stateõ  s~  € àÔð PØÔ˜vÔ&×,Ò,Ñ.Ô.°$Ô2G×2MÒ2MÑ2OÔ2OÒOð 	ð Œ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#¨Ð#åœØÔ-ØØ$ð	"ð "ˆDÔð Ô9ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð Ô:ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð ×#Ò#Ñ%Ô%Ð%ØœˆDŒJˆJØ•]Ð"Ð"ØÐ!Ô! TÑ)Ð!Ô!Ð!à�OŠOÐ8 Ô!6Ð8Ð8Ñ9Ô9Ð9ØŒK×Ò˜dÑ#Ô#Ð#ØÔ+ˆDŒJØˆtr   c                 ó2  — | j                              ¦   «         }|dk    rd| _        | j        | _        nc|dk    r"|                      d¦  «         | j        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS )Nr’   rC   r‘   z<!r\   T)	r$   rN   r£   Úscript_data_end_tag_open_stater'   r?   Úscript_data_escape_start_staterS   rŒ   rŽ   s     r   r‹   z.HTMLTokenizer.script_data_less_than_sign_state  s�   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø$&ˆDÔ!ØÔ<ˆDŒJˆJØ�SŠ[ˆ[Ø�OŠO˜DÑ!Ô!Ð!ØÔ<ˆDŒJˆJà�OŠO˜CÑ Ô Ð ØŒK×Ò˜dÑ#Ô#Ð#ØÔ/ˆDŒJØˆtr   c                 óú   — | j                              ¦   «         }|t          v r| xj        |z  c_        | j        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS r¦   )	r$   rN   r	   r£   Úscript_data_end_tag_name_stater'   r?   rS   rŒ   rŽ   s     r   r³   z,HTMLTokenizer.script_data_end_tag_open_state)  sw   € ØŒ{×$Ò$Ñ&Ô&ˆØ•=Ð Ð ØÐ!Ô! TÑ)Ð!Ô!ØÔ<ˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØŒK×Ò˜dÑ#Ô#Ð#ØÔ/ˆDŒJØˆtr   c                 óÂ  — | j         o9| j         d                              ¦   «         | j                             ¦   «         k    }| j                             ¦   «         }|t
          v r*|r(t          j        | j        g ddœ| _         | j        | _	        nÑ|dk    r*|r(t          j        | j        g ddœ| _         | j
        | _	        n¡|dk    r>|r<t          j        | j        g ddœ| _         |                      ¦   «          | j        | _	        n]|t          v r| xj        |z  c_        nC|                      d| j        › �¦  «         | j                             |¦  «         | j        | _	        dS r©   )r(   rª   r£   r$   rN   r   r   rs   rŸ   r'   r    ru   r&   r	   r?   rS   rŒ   r«   s      r   r¶   z,HTMLTokenizer.script_data_end_tag_name_state4  s~  € àÔð PØÔ˜vÔ&×,Ò,Ñ.Ô.°$Ô2G×2MÒ2MÑ2OÔ2OÒOð 	ð Œ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#¨Ð#åœØÔ-ØØ$ð	"ð "ˆDÔð Ô9ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð Ô:ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð ×#Ò#Ñ%Ô%Ð%ØœˆDŒJˆJØ•]Ð"Ð"ØÐ!Ô! TÑ)Ð!Ô!Ð!à�OŠOÐ8 Ô!6Ð8Ð8Ñ9Ô9Ð9ØŒK×Ò˜dÑ#Ô#Ð#ØÔ/ˆDŒJØˆtr   c                 óÔ   — | j                              ¦   «         }|dk    r"|                      d¦  «         | j        | _        n&| j                              |¦  «         | j        | _        dS ©Nú-T)r$   rN   r?   Ú#script_data_escape_start_dash_stater'   rS   rŒ   rŽ   s     r   r´   z,HTMLTokenizer.script_data_escape_start_stateZ  óa   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð ØÔAˆDŒJˆJàŒK×Ò˜dÑ#Ô#Ð#ØÔ/ˆDŒJØˆtr   c                 óÔ   — | j                              ¦   «         }|dk    r"|                      d¦  «         | j        | _        n&| j                              |¦  «         | j        | _        dS r¹   )r$   rN   r?   Ú#script_data_escaped_dash_dash_stater'   rS   rŒ   rŽ   s     r   r»   z1HTMLTokenizer.script_data_escape_start_dash_stated  r¼   r   c                 óœ  — | j                              ¦   «         }|dk    r"|                      d¦  «         | j        | _        nŠ|dk    r| j        | _        nw|dk    r+|                      d¦  «         |                      d¦  «         nF|t          u r| j        | _        n0|                      || j          	                    d¦  «        z   ¦  «         dS )Nrº   r\   rw   rx   rF   )r\   rº   rw   T)
r$   rN   r?   Úscript_data_escaped_dash_stater'   Ú(script_data_escaped_less_than_sign_stater<   r   r&   r|   rŽ   s     r   Úscript_data_escaped_statez'HTMLTokenizer.script_data_escaped_staten  sÇ   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð ØÔ<ˆDŒJˆJØ�SŠ[ˆ[ØÔFˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%Ð%Ø•Sˆ[ˆ[ØœˆDŒJˆJà�OŠO˜D 4¤;×#:Ò#:Ð;OÑ#PÔ#PÑPÑQÔQÐQØˆtr   c                 ó–  — | j                              ¦   «         }|dk    r"|                      d¦  «         | j        | _        n‡|dk    r| j        | _        nt|dk    r7|                      d¦  «         |                      d¦  «         | j        | _        n7|t          u r| j	        | _        n!|                      |¦  «         | j        | _        dS )Nrº   r\   rw   rx   rF   T)
r$   rN   r?   r¾   r'   rÁ   r<   rÂ   r   r&   rŽ   s     r   rÀ   z,HTMLTokenizer.script_data_escaped_dash_state~  sÄ   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð ØÔAˆDŒJˆJØ�SŠ[ˆ[ØÔFˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%ØÔ7ˆDŒJˆJØ•Sˆ[ˆ[ØœˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØÔ7ˆDŒJØˆtr   c                 óÎ  — | j                              ¦   «         }|dk    r|                      d¦  «         n¯|dk    r| j        | _        nœ|dk    r"|                      d¦  «         | j        | _        nt|dk    r7|                      d¦  «         |                      d¦  «         | j        | _        n7|t          u r| j	        | _        n!|                      |¦  «         | j        | _        dS )Nrº   r\   r”   rw   rx   rF   T)
r$   rN   r?   rÁ   r'   rŒ   r<   rÂ   r   r&   rŽ   s     r   r¾   z1HTMLTokenizer.script_data_escaped_dash_dash_state�  sâ   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð Ð Ø�SŠ[ˆ[ØÔFˆDŒJˆJØ�SŠ[ˆ[Ø�OŠO˜CÑ Ô Ð ØÔ/ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%ØÔ7ˆDŒJˆJØ•Sˆ[ˆ[ØœˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØÔ7ˆDŒJØˆtr   c                 óL  — | j                              ¦   «         }|dk    rd| _        | j        | _        np|t
          v r,|                      d|› �¦  «         || _        | j        | _        n;|                      d¦  «         | j                              |¦  «         | j	        | _        dS r¢   )
r$   rN   r£   Ú&script_data_escaped_end_tag_open_stater'   r	   r?   Ú%script_data_double_escape_start_staterS   rÂ   rŽ   s     r   rÁ   z6HTMLTokenizer.script_data_escaped_less_than_sign_state¤  s    € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø$&ˆDÔ!ØÔDˆDŒJˆJØ•]Ð"Ð"Ø�OŠO˜J ˜J˜JÑ'Ô'Ð'Ø$(ˆDÔ!ØÔCˆDŒJˆJà�OŠO˜CÑ Ô Ð ØŒK×Ò˜dÑ#Ô#Ð#ØÔ7ˆDŒJØˆtr   c                 óè   — | j                              ¦   «         }|t          v r|| _        | j        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS r¦   )	r$   rN   r	   r£   Ú&script_data_escaped_end_tag_name_stater'   r?   rS   rÂ   rŽ   s     r   rÆ   z4HTMLTokenizer.script_data_escaped_end_tag_open_state³  sk   € ØŒ{×$Ò$Ñ&Ô&ˆØ•=Ð Ð Ø$(ˆDÔ!ØÔDˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØŒK×Ò˜dÑ#Ô#Ð#ØÔ7ˆDŒJØˆtr   c                 óÂ  — | j         o9| j         d                              ¦   «         | j                             ¦   «         k    }| j                             ¦   «         }|t
          v r*|r(t          j        | j        g ddœ| _         | j        | _	        nÑ|dk    r*|r(t          j        | j        g ddœ| _         | j
        | _	        n¡|dk    r>|r<t          j        | j        g ddœ| _         |                      ¦   «          | j        | _	        n]|t          v r| xj        |z  c_        nC|                      d| j        › �¦  «         | j                             |¦  «         | j        | _	        dS r©   )r(   rª   r£   r$   rN   r   r   rs   rŸ   r'   r    ru   r&   r	   r?   rS   rÂ   r«   s      r   rÉ   z4HTMLTokenizer.script_data_escaped_end_tag_name_state¾  s~  € àÔð PØÔ˜vÔ&×,Ò,Ñ.Ô.°$Ô2G×2MÒ2MÑ2OÔ2OÒOð 	ð Œ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#¨Ð#åœØÔ-ØØ$ð	"ð "ˆDÔð Ô9ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð Ô:ˆDŒJˆJØ�SŠ[ˆ[˜[ˆ[åœØÔ-ØØ$ð	"ð "ˆDÔð ×#Ò#Ñ%Ô%Ð%ØœˆDŒJˆJØ•]Ð"Ð"ØÐ!Ô! TÑ)Ð!Ô!Ð!à�OŠOÐ8 Ô!6Ð8Ð8Ñ9Ô9Ð9ØŒK×Ò˜dÑ#Ô#Ð#ØÔ7ˆDŒJØˆtr   c                 ó¬  — | j                              ¦   «         }|t          t          d¦  «        z  v rL|                      |¦  «         | j                             ¦   «         dk    r| j        | _        nb| j	        | _        nU|t          v r&|                      |¦  «         | xj        |z  c_        n&| j                              |¦  «         | j	        | _        dS ©N)r’   r”   ÚscriptT)r$   rN   r   rQ   r?   r£   rª   Ú script_data_double_escaped_stater'   rÂ   r	   rS   rŽ   s     r   rÇ   z3HTMLTokenizer.script_data_double_escape_start_stateä  sË   € ØŒ{×$Ò$Ñ&Ô&ˆØÕ$¥y°Ñ'<Ô'<Ñ<Ð=Ð=Ø�OŠO˜DÑ!Ô!Ð!ØÔ$×*Ò*Ñ,Ô,°Ò8Ð8Ø!ÔB�”
�
à!Ô;�”
�
Ø•]Ð"Ð"Ø�OŠO˜DÑ!Ô!Ð!ØÐ!Ô! TÑ)Ð!Ô!Ð!àŒK×Ò˜dÑ#Ô#Ð#ØÔ7ˆDŒJØˆtr   c                 óº  — | j                              ¦   «         }|dk    r"|                      d¦  «         | j        | _        n™|dk    r"|                      d¦  «         | j        | _        nq|dk    r+|                      d¦  «         |                      d¦  «         n@|t          u r"|                      d¦  «         | j        | _        n|                      |¦  «         dS ©Nrº   r\   rw   rx   rF   úeof-in-script-in-scriptT)	r$   rN   r?   Ú%script_data_double_escaped_dash_stater'   Ú/script_data_double_escaped_less_than_sign_stater<   r   r&   rŽ   s     r   rÎ   z.HTMLTokenizer.script_data_double_escaped_stateô  sØ   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð ØÔCˆDŒJˆJØ�SŠ[ˆ[Ø�OŠO˜CÑ Ô Ð ØÔMˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%Ð%Ø•Sˆ[ˆ[Ø×ÒÐ6Ñ7Ô7Ð7ØœˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!Øˆtr   c                 óê  — | j                              ¦   «         }|dk    r"|                      d¦  «         | j        | _        n±|dk    r"|                      d¦  «         | j        | _        n‰|dk    r7|                      d¦  «         |                      d¦  «         | j        | _        nL|t          u r"|                      d¦  «         | j	        | _        n!|                      |¦  «         | j        | _        dS rÐ   )
r$   rN   r?   Ú*script_data_double_escaped_dash_dash_stater'   rÓ   r<   rÎ   r   r&   rŽ   s     r   rÒ   z3HTMLTokenizer.script_data_double_escaped_dash_state  së   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð ØÔHˆDŒJˆJØ�SŠ[ˆ[Ø�OŠO˜CÑ Ô Ð ØÔMˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%ØÔ>ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ6Ñ7Ô7Ð7ØœˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØÔ>ˆDŒJØˆtr   c                 ó"  — | j                              ¦   «         }|dk    r|                      d¦  «         nÙ|dk    r"|                      d¦  «         | j        | _        n±|dk    r"|                      d¦  «         | j        | _        n‰|dk    r7|                      d¦  «         |                      d¦  «         | j        | _        nL|t          u r"|                      d¦  «         | j	        | _        n!|                      |¦  «         | j        | _        dS )	Nrº   r\   r”   rw   rx   rF   rÑ   T)
r$   rN   r?   rÓ   r'   rŒ   r<   rÎ   r   r&   rŽ   s     r   rÕ   z8HTMLTokenizer.script_data_double_escaped_dash_dash_state  s	  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð Ð Ø�SŠ[ˆ[Ø�OŠO˜CÑ Ô Ð ØÔMˆDŒJˆJØ�SŠ[ˆ[Ø�OŠO˜CÑ Ô Ð ØÔ/ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø�OŠO˜HÑ%Ô%Ð%ØÔ>ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ6Ñ7Ô7Ð7ØœˆDŒJˆJà�OŠO˜DÑ!Ô!Ð!ØÔ>ˆDŒJØˆtr   c                 óâ   — | j                              ¦   «         }|dk    r)|                      d¦  «         d| _        | j        | _        n&| j                              |¦  «         | j        | _        dS )Nr’   rC   T)r$   rN   r?   r£   Ú#script_data_double_escape_end_stater'   rS   rÎ   rŽ   s     r   rÓ   z=HTMLTokenizer.script_data_double_escaped_less_than_sign_state0  si   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø�OŠO˜CÑ Ô Ð Ø$&ˆDÔ!ØÔAˆDŒJˆJàŒK×Ò˜dÑ#Ô#Ð#ØÔ>ˆDŒJØˆtr   c                 ó¬  — | j                              ¦   «         }|t          t          d¦  «        z  v rL|                      |¦  «         | j                             ¦   «         dk    r| j        | _        nb| j	        | _        nU|t          v r&|                      |¦  «         | xj        |z  c_        n&| j                              |¦  «         | j	        | _        dS rÌ   )r$   rN   r   rQ   r?   r£   rª   rÂ   r'   rÎ   r	   rS   rŽ   s     r   rØ   z1HTMLTokenizer.script_data_double_escape_end_state;  sË   € ØŒ{×$Ò$Ñ&Ô&ˆØÕ$¥y°Ñ'<Ô'<Ñ<Ð=Ð=Ø�OŠO˜DÑ!Ô!Ð!ØÔ$×*Ò*Ñ,Ô,°Ò8Ð8Ø!Ô;�”
�
à!ÔB�”
�
Ø•]Ð"Ð"Ø�OŠO˜DÑ!Ô!Ð!ØÐ!Ô! TÑ)Ð!Ô!Ð!àŒK×Ò˜dÑ#Ô#Ð#ØÔ>ˆDŒJØˆtr   c                 ó2  — | j                              ¦   «         }|t          v r"| j                              t          d¦  «         �nR|t          v r0| j        d                              |dg¦  «         | j        | _        �n|dk    r|  	                    ¦   «          nþ|dk    r| j
        | _        në|dv rD|                      d¦  «         | j        d                              |dg¦  «         | j        | _        n£|dk    rD|                      d	¦  «         | j        d                              d
dg¦  «         | j        | _        nY|t          u r"|                      d¦  «         | j        | _        n.| j        d                              |dg¦  «         | j        | _        dS )NTr/   rC   r”   r’   )ú'ú"ra   r\   ú#invalid-character-in-attribute-namerw   rx   rF   z#expected-attribute-name-but-got-eof)r$   rN   r   r|   r	   r(   r9   Úattribute_name_stater'   ru   r    r<   r   r&   rŽ   s     r   rŸ   z)HTMLTokenizer.before_attribute_name_stateK  s˜  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØŒK×#Ò#Õ$4°dÑ;Ô;Ð;Ñ;Ø•]Ð"Ð"ØÔ˜vÔ&×-Ò-¨t°R¨jÑ9Ô9Ð9ØÔ2ˆDŒJ‰JØ�SŠ[ˆ[Ø×#Ò#Ñ%Ô%Ð%Ð%Ø�SŠ[ˆ[ØÔ:ˆDŒJˆJØÐ)Ð)Ð)Ø×ÒÐBÑCÔCÐCØÔ˜vÔ&×-Ò-¨t°R¨jÑ9Ô9Ð9ØÔ2ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÔ&×-Ò-¨x¸¨nÑ=Ô=Ð=ØÔ2ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐBÑCÔCÐCØœˆDŒJˆJàÔ˜vÔ&×-Ò-¨t°R¨jÑ9Ô9Ð9ØÔ2ˆDŒJØˆtr   c                 óT  — | j                              ¦   «         }d}d}|dk    r| j        | _        �nJ|t          v rE| j        d         d         dxx         || j                              t          d¦  «        z   z  cc<   d}nü|dk    rd}nó|t          v r| j        | _        nÝ|dk    r| j	        | _        nÊ|d	k    r9|  
                    d
¦  «         | j        d         d         dxx         dz  cc<   d}n‹|dv r9|  
                    d¦  «         | j        d         d         dxx         |z  cc<   d}nN|t          u r"|  
                    d¦  «         | j        | _        n#| j        d         d         dxx         |z  cc<   d}|rª| j        d         d         d                              t          ¦  «        | j        d         d         d<   | j        d         d d…         D ]9\  }}| j        d         d         d         |k    r|  
                    d¦  «          nŒ:|r|                      ¦   «          dS )NTFra   r/   r^   r   r”   r’   rw   rx   rF   ©rÛ   rÜ   r\   rÝ   zeof-in-attribute-namezduplicate-attribute)r$   rN   Úbefore_attribute_value_stater'   r	   r(   r|   r   Úafter_attribute_name_stater    r<   r   r&   ro   r
   ru   )r)   r/   Úleaving_this_stateÚ
emit_tokenrm   Ú_s         r   rÞ   z"HTMLTokenizer.attribute_name_statef  sŽ  € ØŒ{×$Ò$Ñ&Ô&ˆØ!ÐØˆ
Ø�3Š;ˆ;ØÔ:ˆDŒJ‰JØ•]Ð"Ð"ØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-Ø�t”{×.Ò.­}¸dÑCÔCÑCñEÐ-Ð-Ñ-à!&ÐÐØ�SŠ[ˆ[ð ˆJˆJØÕ%Ð%Ð%ØÔ8ˆDŒJˆJØ�SŠ[ˆ[ØÔ:ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ9Ð-Ð-Ñ-Ø!&ÐÐØ�_Ð$Ð$Ø×ÒÐBÑCÔCÐCØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ5Ð-Ð-Ñ-Ø!&ÐÐØ•Sˆ[ˆ[Ø×ÒÐ4Ñ5Ô5Ð5ØœˆDŒJˆJàÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ5Ð-Ð-Ñ-Ø!&Ðàð 	*ð
 Ô" 6Ô*¨2Ô.¨qÔ1×;Ò;Õ<PÑQÔQð Ô˜vÔ& rÔ*¨1Ñ-àÔ-¨fÔ5°c°r°cÔ:ð ð ‘��aØÔ% fÔ-¨bÔ1°!Ô4¸Ò<Ð<Ø×$Ò$Ð%:Ñ;Ô;Ð;Ø�Eð =ð ð *Ø×'Ò'Ñ)Ô)Ð)Øˆtr   c                 óZ  — | j                              ¦   «         }|t          v r"| j                              t          d¦  «         �nf|dk    r| j        | _        �nR|dk    r|                      ¦   «          �n6|t          v r/| j        d          	                    |dg¦  «         | j
        | _        nþ|dk    r| j        | _        në|dk    rD|                      d¦  «         | j        d          	                    d	dg¦  «         | j
        | _        n¡|d
v rD|                      d¦  «         | j        d          	                    |dg¦  «         | j
        | _        nY|t          u r"|                      d¦  «         | j        | _        n.| j        d          	                    |dg¦  «         | j
        | _        dS )NTra   r”   r/   rC   r’   rw   rx   rF   rà   z&invalid-character-after-attribute-namezexpected-end-of-tag-but-got-eof)r$   rN   r   r|   rá   r'   ru   r	   r(   r9   rÞ   r    r<   r   r&   rŽ   s     r   râ   z(HTMLTokenizer.after_attribute_name_state—  s¬  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØŒK×#Ò#Õ$4°dÑ;Ô;Ð;Ñ;Ø�SŠ[ˆ[ØÔ:ˆDŒJ‰JØ�SŠ[ˆ[Ø×#Ò#Ñ%Ô%Ð%Ñ%Ø•]Ð"Ð"ØÔ˜vÔ&×-Ò-¨t°R¨jÑ9Ô9Ð9ØÔ2ˆDŒJˆJØ�SŠ[ˆ[ØÔ:ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÔ&×-Ò-¨x¸¨nÑ=Ô=Ð=ØÔ2ˆDŒJˆJØ�_Ð$Ð$Ø×ÒÐEÑFÔFÐFØÔ˜vÔ&×-Ò-¨t°R¨jÑ9Ô9Ð9ØÔ2ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ>Ñ?Ô?Ð?ØœˆDŒJˆJàÔ˜vÔ&×-Ò-¨t°R¨jÑ9Ô9Ð9ØÔ2ˆDŒJØˆtr   c                 ój  — | j                              ¦   «         }|t          v r"| j                              t          d¦  «         �nn|dk    r| j        | _        �nZ|dk    r(| j        | _        | j                              |¦  «         �n,|dk    r| j        | _        �n|dk    r*|  	                    d¦  «         |  
                    ¦   «          nè|dk    rC|  	                    d¦  «         | j        d	         d
         dxx         dz  cc<   | j        | _        nŸ|dv rC|  	                    d¦  «         | j        d	         d
         dxx         |z  cc<   | j        | _        nX|t          u r"|  	                    d¦  «         | j        | _        n-| j        d	         d
         dxx         |z  cc<   | j        | _        dS )NTrÜ   r[   rÛ   r”   z.expected-attribute-value-but-got-right-bracketrw   rx   r/   r^   r   rF   )ra   r\   ú`z"equals-in-unquoted-attribute-valuez$expected-attribute-value-but-got-eof)r$   rN   r   r|   Ú#attribute_value_double_quoted_stater'   Úattribute_value_unquoted_staterS   Ú#attribute_value_single_quoted_stater<   ru   r(   r   r&   rŽ   s     r   rá   z*HTMLTokenizer.before_attribute_value_state´  sÑ  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØŒK×#Ò#Õ$4°dÑ;Ô;Ð;Ñ;Ø�SŠ[ˆ[ØÔAˆDŒJ‰JØ�SŠ[ˆ[ØÔ<ˆDŒJØŒK×Ò˜dÑ#Ô#Ð#Ñ#Ø�SŠ[ˆ[ØÔAˆDŒJ‰JØ�SŠ[ˆ[Ø×ÒÐMÑNÔNÐNØ×#Ò#Ñ%Ô%Ð%Ð%Ø�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ9Ð-Ð-Ñ-ØÔ<ˆDŒJˆJØ�_Ð$Ð$Ø×ÒÐAÑBÔBÐBØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ5Ð-Ð-Ñ-ØÔ<ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐCÑDÔDÐDØœˆDŒJˆJàÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ5Ð-Ð-Ñ-ØÔ<ˆDŒJØˆtr   c                 óÞ  — | j                              ¦   «         }|dk    r| j        | _        nÀ|dk    r|                      d¦  «         n¤|dk    r7|                      d¦  «         | j        d         d         dxx         dz  cc<   ng|t          u r"|                      d	¦  «         | j        | _        n<| j        d         d         dxx         || j          	                    d
¦  «        z   z  cc<   dS )NrÜ   r[   rw   rx   r/   r^   r   rF   z#eof-in-attribute-value-double-quote)rÜ   r[   rw   T©
r$   rN   Úafter_attribute_value_stater'   rk   r<   r(   r   r&   r|   rŽ   s     r   ré   z1HTMLTokenizer.attribute_value_double_quoted_stateÒ  ó  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ9ˆDŒJˆJØ�SŠ[ˆ[Ø×,Ò,¨SÑ1Ô1Ð1Ð1Ø�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ9Ð-Ð-Ñ-Ð-Ø•Sˆ[ˆ[Ø×ÒÐBÑCÔCÐCØœˆDŒJˆJàÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-Ø�t”{×.Ò.Ð/CÑDÔDÑDñFÐ-Ð-Ñ-àˆtr   c                 óÞ  — | j                              ¦   «         }|dk    r| j        | _        nÀ|dk    r|                      d¦  «         n¤|dk    r7|                      d¦  «         | j        d         d         dxx         dz  cc<   ng|t          u r"|                      d	¦  «         | j        | _        n<| j        d         d         dxx         || j          	                    d
¦  «        z   z  cc<   dS )NrÛ   r[   rw   rx   r/   r^   r   rF   z#eof-in-attribute-value-single-quote)rÛ   r[   rw   Trí   rŽ   s     r   rë   z1HTMLTokenizer.attribute_value_single_quoted_stateã  rï   r   c           	      ó¾  — | j                              ¦   «         }|t          v r| j        | _        �n,|dk    r|                      d¦  «         �n|dk    r|                      ¦   «          nô|dv r7|                      d¦  «         | j        d         d         dxx         |z  cc<   n¹|dk    r7|                      d	¦  «         | j        d         d         dxx         d
z  cc<   n||t          u r"|                      d¦  «         | j
        | _        nQ| j        d         d         dxx         || j                              t          d¦  «        t          z  ¦  «        z   z  cc<   dS )Nr[   r”   )rÜ   rÛ   ra   r\   rè   z0unexpected-character-in-unquoted-attribute-valuer/   r^   r   rw   rx   rF   z eof-in-attribute-value-no-quotes)r[   r”   rÜ   rÛ   ra   r\   rè   rw   T)r$   rN   r   rŸ   r'   rk   ru   r<   r(   r   r&   r|   rQ   rŽ   s     r   rê   z,HTMLTokenizer.attribute_value_unquoted_stateô  s�  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØÔ9ˆDŒJ‰JØ�SŠ[ˆ[Ø×,Ò,¨SÑ1Ô1Ð1Ñ1Ø�SŠ[ˆ[Ø×#Ò#Ñ%Ô%Ð%Ð%ØÐ.Ð.Ð.Ø×ÒÐOÑPÔPÐPØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ5Ð-Ð-Ñ-Ð-Ø�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-°Ñ9Ð-Ð-Ñ-Ð-Ø•Sˆ[ˆ[Ø×ÒÐ?Ñ@Ô@Ð@ØœˆDŒJˆJàÔ˜vÔ& rÔ*¨1Ð-Ð-Ô-Ø�t”{×.Ò.ÝÐKÑLÔLÝ$ñ%ñ&ô &ñ &ñ'Ð-Ð-Ñ-ð ˆtr   c                 óÀ  — | j                              ¦   «         }|t          v r| j        | _        n®|dk    r|                      ¦   «          n“|dk    r| j        | _        n€|t          u r<|                      d¦  «         | j          	                    |¦  «         | j
        | _        n;|                      d¦  «         | j          	                    |¦  «         | j        | _        dS )Nr”   r’   z$unexpected-eof-after-attribute-valuez*unexpected-character-after-attribute-valueT)r$   rN   r   rŸ   r'   ru   r    r   r<   rS   r&   rŽ   s     r   rî   z)HTMLTokenizer.after_attribute_value_state  sÙ   € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØÔ9ˆDŒJˆJØ�SŠ[ˆ[Ø×#Ò#Ñ%Ô%Ð%Ð%Ø�SŠ[ˆ[ØÔ:ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐCÑDÔDÐDØŒK×Ò˜dÑ#Ô#Ð#ØœˆDŒJˆJà×ÒÐIÑJÔJÐJØŒK×Ò˜dÑ#Ô#Ð#ØÔ9ˆDŒJØˆtr   c                 ó‚  — | j                              ¦   «         }|dk    rd| j        d<   |                      ¦   «          n€|t          u r<|                      d¦  «         | j                              |¦  «         | j        | _        n;|                      d¦  «         | j                              |¦  «         | j	        | _        dS )Nr”   Trn   z#unexpected-eof-after-solidus-in-tagz)unexpected-character-after-solidus-in-tag)
r$   rN   r(   ru   r   r<   rS   r&   r'   rŸ   rŽ   s     r   r    z*HTMLTokenizer.self_closing_start_tag_state  s¹   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;Ø04ˆDÔ˜}Ñ-Ø×#Ò#Ñ%Ô%Ð%Ð%Ø•Sˆ[ˆ[Ø×ÒÐBÑCÔCÐCØŒK×Ò˜dÑ#Ô#Ð#ØœˆDŒJˆJà×ÒÐHÑIÔIÐIØŒK×Ò˜dÑ#Ô#Ð#ØÔ9ˆDŒJØˆtr   c                 óþ   — | j                              d¦  «        }|                     dd¦  «        }| j                             t
          j        |dœ¦  «         | j                              ¦   «          | j        | _	        dS )Nr”   rw   rF   r-   T)
r$   r|   Úreplacer0   r9   r   ÚCOMMENTrN   r&   r'   rŽ   s     r   r™   z!HTMLTokenizer.bogus_comment_state-  sq   € ð Œ{×&Ò& sÑ+Ô+ˆØ�|Š|˜H hÑ/Ô/ˆØÔ×Ò­¬ÀÐ EÐ EÑFÔFÐFð 	Œ×ÒÑÔÐØ”_ˆŒ
Øˆtr   c                 óþ  — | j                              ¦   «         g}|d         dk    r\|                     | j                              ¦   «         ¦  «         |d         dk    r"t          j        ddœ| _        | j        | _        dS �n)|d         r{|d         dv rqd}dD ]D}|                     | j                              ¦   «         ¦  «         |d         r
|d         |vrd} nŒE|r%t          j        dd d dd	œ| _        | j	        | _        dS n¦|d         d
k    rš| j
        �“| j
        j        j        r‚| j
        j        j        d         j        | j
        j        j        k    rSd}dD ]>}|                     | j                              ¦   «         ¦  «         |d         |k    rd} nŒ?|r| j        | _        dS |                      d¦  «         |r.| j                              |                     ¦   «         ¦  «         |°.| j        | _        dS )Nr^   rº   rC   r-   TÚdD)ÚoOÚcCÚtTÚyYÚpPÚeEF)r.   rm   ÚpublicIdÚsystemIdÚcorrectú[zCDATA[zexpected-dashes-or-doctype)r$   rN   r9   r   rö   r(   Úcomment_start_stater'   ÚDOCTYPEÚdoctype_stater%   ÚtreeÚopen_elementsÚ	namespaceÚdefault_namespaceÚcdata_section_stater<   rS   r3   r™   )r)   rW   ÚmatchedÚexpecteds       r   r–   z+HTMLTokenizer.markup_declaration_open_state;  sE  € Ø”×&Ò&Ñ(Ô(Ð)ˆØ�Œ9˜ÒÐØ�LŠL˜œ×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø�RŒy˜CÒÐÝ.3¬mÀRÐ%HÐ%H�Ô"Ø!Ô5�”
Ø�tñ  ð �2ŒYð 	˜5 œ9¨Ð,Ð,ØˆGØ@ð ð �Ø—’˜Tœ[×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ø˜R”yð  E¨"¤I°XÐ$=Ð$=Ø#�GØ�Eð %>ð ð 	å!œMØØ $Ø $Ø#ð&ð &�Ô"ð "Ô/�”
Ø�tð	ð �BŒi˜3ÒÐØŒkÐ%ØŒkÔÔ,ð &àŒkÔÔ,¨RÔ0Ô:ØŒkÔÔ0ò1ð 1àˆGØ$ð ð �Ø—’˜Tœ[×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ø˜”9 Ò(Ð(Ø#�GØ�Eð )ð ð Ø!Ô5�”
Ø�tà×ÒÐ5Ñ6Ô6Ð6àð 	+ØŒK×Ò˜eŸiši™kœkÑ*Ô*Ð*ð ð 	+àÔ-ˆŒ
Øˆtr   c                 ó$  — | j                              ¦   «         }|dk    r| j        | _        nã|dk    r+|                      d¦  «         | j        dxx         dz  cc<   n²|dk    rA|                      d¦  «         | j                             | j        ¦  «         | j        | _        nk|t          u rA|                      d¦  «         | j                             | j        ¦  «         | j        | _        n!| j        dxx         |z  cc<   | j
        | _        d	S )
Nrº   rw   rx   r/   rF   r”   úincorrect-commentúeof-in-commentT)r$   rN   Úcomment_start_dash_stater'   r<   r(   r0   r9   r&   r   Úcomment_staterŽ   s     r   r  z!HTMLTokenizer.comment_start_statej  s   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ6ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨(Ñ2Ð&Ð&Ñ&Ð&Ø�SŠ[ˆ[Ø×ÒÐ0Ñ1Ô1Ð1ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàÔ˜vÐ&Ð&Ô&¨$Ñ.Ð&Ð&Ñ&ØÔ+ˆDŒJØˆtr   c                 ó*  — | j                              ¦   «         }|dk    r| j        | _        næ|dk    r+|                      d¦  «         | j        dxx         dz  cc<   nµ|dk    rA|                      d¦  «         | j                             | j        ¦  «         | j        | _        nn|t          u rA|                      d¦  «         | j                             | j        ¦  «         | j        | _        n$| j        dxx         d|› �z  cc<   | j
        | _        d	S )
Nrº   rw   rx   r/   õ   -ï¿½r”   r  r  T)r$   rN   Úcomment_end_stater'   r<   r(   r0   r9   r&   r   r  rŽ   s     r   r  z&HTMLTokenizer.comment_start_dash_state~  s&  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ/ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨)Ñ3Ð&Ð&Ñ&Ð&Ø�SŠ[ˆ[Ø×ÒÐ0Ñ1Ô1Ð1ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàÔ˜vÐ&Ð&Ô&¨*¨d¨*¨*Ñ4Ð&Ð&Ñ&ØÔ+ˆDŒJØˆtr   c                 ó´  — | j                              ¦   «         }|dk    r| j        | _        n«|dk    r+|                      d¦  «         | j        dxx         dz  cc<   nz|t          u rA|                      d¦  «         | j                             | j        ¦  «         | j	        | _        n0| j        dxx         || j          
                    d¦  «        z   z  cc<   dS )	Nrº   rw   rx   r/   rF   r  )rº   rw   T)r$   rN   Úcomment_end_dash_stater'   r<   r(   r   r0   r9   r&   r|   rŽ   s     r   r  zHTMLTokenizer.comment_state’  sì   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ4ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨(Ñ2Ð&Ð&Ñ&Ð&Ø•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàÔ˜vÐ&Ð&Ô&Ø�t”{×.Ò.¨Ñ?Ô?Ñ?ñAÐ&Ð&Ñ&àˆtr   c                 ó´  — | j                              ¦   «         }|dk    r| j        | _        n«|dk    r7|                      d¦  «         | j        dxx         dz  cc<   | j        | _        nn|t          u rA|                      d¦  «         | j         	                    | j        ¦  «         | j
        | _        n$| j        dxx         d|› �z  cc<   | j        | _        dS )Nrº   rw   rx   r/   r  zeof-in-comment-end-dashT)r$   rN   r  r'   r<   r(   r  r   r0   r9   r&   rŽ   s     r   r  z$HTMLTokenizer.comment_end_dash_state¢  sì   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ/ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨)Ñ3Ð&Ð&Ñ&ØÔ+ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ6Ñ7Ô7Ð7ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàÔ˜vÐ&Ð&Ô&¨*¨d¨*¨*Ñ4Ð&Ð&Ñ&ØÔ+ˆDŒJØˆtr   c                 óÐ  — | j                              ¦   «         }|dk    r-| j                             | j        ¦  «         | j        | _        �n|dk    r7|                      d¦  «         | j        dxx         dz  cc<   | j        | _        nÜ|dk    r"|                      d¦  «         | j	        | _        n´|dk    r+|                      d	¦  «         | j        dxx         |z  cc<   nƒ|t          u rA|                      d
¦  «         | j                             | j        ¦  «         | j        | _        n9|                      d¦  «         | j        dxx         d|› �z  cc<   | j        | _        dS )Nr”   rw   rx   r/   u   --ï¿½r‘   z,unexpected-bang-after-double-dash-in-commentrº   z,unexpected-dash-after-double-dash-in-commentzeof-in-comment-double-dashzunexpected-char-in-commentz--T)r$   rN   r0   r9   r(   r&   r'   r<   r  Úcomment_end_bang_stater   rŽ   s     r   r  zHTMLTokenizer.comment_end_state³  s†  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJ‰JØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨*Ñ4Ð&Ð&Ñ&ØÔ+ˆDŒJˆJØ�SŠ[ˆ[Ø×ÒÐKÑLÔLÐLØÔ4ˆDŒJˆJØ�SŠ[ˆ[Ø×ÒÐKÑLÔLÐLØÔ˜vÐ&Ð&Ô&¨$Ñ.Ð&Ð&Ñ&Ð&Ø•Sˆ[ˆ[Ø×ÒÐ9Ñ:Ô:Ð:ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJð ×ÒÐ9Ñ:Ô:Ð:ØÔ˜vÐ&Ð&Ô&¨+¨t¨+¨+Ñ5Ð&Ð&Ñ&ØÔ+ˆDŒJØˆtr   c                 óB  — | j                              ¦   «         }|dk    r,| j                             | j        ¦  «         | j        | _        nÓ|dk    r"| j        dxx         dz  cc<   | j        | _        n«|dk    r7|                      d¦  «         | j        dxx         dz  cc<   | j	        | _        nn|t          u rA|                      d¦  «         | j                             | j        ¦  «         | j        | _        n$| j        dxx         d|› �z  cc<   | j	        | _        d	S )
Nr”   rº   r/   z--!rw   rx   u   --!ï¿½zeof-in-comment-end-bang-stateT)r$   rN   r0   r9   r(   r&   r'   r  r<   r  r   rŽ   s     r   r  z$HTMLTokenizer.comment_end_bang_stateÍ  s9  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ�SŠ[ˆ[ØÔ˜vÐ&Ð&Ô&¨%Ñ/Ð&Ð&Ñ&ØÔ4ˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨+Ñ5Ð&Ð&Ñ&ØÔ+ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ<Ñ=Ô=Ð=ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàÔ˜vÐ&Ð&Ô&¨,°¨,¨,Ñ6Ð&Ð&Ñ&ØÔ+ˆDŒJØˆtr   c                 ó‚  — | j                              ¦   «         }|t          v r| j        | _        n�|t
          u rK|                      d¦  «         d| j        d<   | j         	                    | j        ¦  «         | j
        | _        n;|                      d¦  «         | j                              |¦  «         | j        | _        dS )Nú!expected-doctype-name-but-got-eofFr  zneed-space-after-doctypeT)r$   rN   r   Úbefore_doctype_name_stater'   r   r<   r(   r0   r9   r&   rS   rŽ   s     r   r  zHTMLTokenizer.doctype_stateâ  s·   € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØÔ7ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ@ÑAÔAÐAØ,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJà×ÒÐ7Ñ8Ô8Ð8ØŒK×Ò˜dÑ#Ô#Ð#ØÔ7ˆDŒJØˆtr   c                 ó&  — | j                              ¦   «         }|t          v rní|dk    rK|                      d¦  «         d| j        d<   | j                             | j        ¦  «         | j        | _        nœ|dk    r,|                      d¦  «         d| j        d<   | j	        | _        nj|t          u rK|                      d	¦  «         d| j        d<   | j                             | j        ¦  «         | j        | _        n|| j        d<   | j	        | _        d
S )Nr”   z+expected-doctype-name-but-got-right-bracketFr  rw   rx   rF   rm   r  T)r$   rN   r   r<   r(   r0   r9   r&   r'   Údoctype_name_stater   rŽ   s     r   r  z'HTMLTokenizer.before_doctype_name_stateñ  s  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØØ�SŠ[ˆ[Ø×ÒÐJÑKÔKÐKØ,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1Ø)1ˆDÔ˜vÑ&ØÔ0ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ@ÑAÔAÐAØ,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJà)-ˆDÔ˜vÑ&ØÔ0ˆDŒJØˆtr   c                 ó$  — | j                              ¦   «         }|t          v r;| j        d                              t
          ¦  «        | j        d<   | j        | _        �n2|dk    rY| j        d                              t
          ¦  «        | j        d<   | j         	                    | j        ¦  «         | j
        | _        nÓ|dk    r7|                      d¦  «         | j        dxx         dz  cc<   | j        | _        n–|t          u rx|                      d¦  «         d| j        d<   | j        d                              t
          ¦  «        | j        d<   | j         	                    | j        ¦  «         | j
        | _        n| j        dxx         |z  cc<   d	S )
Nrm   r”   rw   rx   rF   zeof-in-doctype-nameFr  T)r$   rN   r   r(   ro   r
   Úafter_doctype_name_stater'   r0   r9   r&   r<   r  r   rŽ   s     r   r  z HTMLTokenizer.doctype_name_state  s�  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#àÔ" 6Ô*×4Ò4Õ5IÑJÔJð Ô˜vÑ&àÔ6ˆDŒJ‰JØ�SŠ[ˆ[àÔ" 6Ô*×4Ò4Õ5IÑJÔJð Ô˜vÑ&àÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜vÐ&Ð&Ô&¨(Ñ2Ð&Ð&Ñ&ØÔ0ˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ2Ñ3Ô3Ð3Ø,1ˆDÔ˜yÑ)àÔ" 6Ô*×4Ò4Õ5IÑJÔJð Ô˜vÑ&àÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàÔ˜vÐ&Ð&Ô&¨$Ñ.Ð&Ð&Ñ&Øˆtr   c                 ó   — | j                              ¦   «         }|t          v r�ni|dk    r-| j                             | j        ¦  «         | j        | _        �n6|t          u red| j        d<   | j          	                    |¦  «         |  
                    d¦  «         | j                             | j        ¦  «         | j        | _        nÈ|r?|dv r;d}dD ]%}| j                              ¦   «         }|r||vrd} nŒ&|r| j        | _        dS n@|r>|dv r:d}d	D ]%}| j                              ¦   «         }|r||vrd} nŒ&|r| j        | _        dS | j          	                    |¦  «         |  
                    d
|¬¦  «         d| j        d<   | j        | _        dS )Nr”   Fr  úeof-in-doctyperý   T)ÚuUÚbBÚlLÚiIrú   ÚsS)rü   r(  rû   rþ   ÚmMz*expected-space-or-right-bracket-in-doctyper�   )r$   rN   r   r0   r9   r(   r&   r'   r   rS   r<   Ú"after_doctype_public_keyword_stateÚ"after_doctype_system_keyword_stateÚbogus_doctype_state)r)   r/   r  r  s       r   r!  z&HTMLTokenizer.after_doctype_name_state"  sð  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ÙØ�SŠ[ˆ[ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJ‰JØ•Sˆ[ˆ[Ø,1ˆDÔ˜yÑ)ØŒK×Ò˜dÑ#Ô#Ð#Ø×ÒÐ-Ñ.Ô.Ð.ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàð  ˜ ˜˜Ø�Ø >ð ð �HØœ;×0Ò0Ñ2Ô2�DØð  4¨xÐ#7Ð#7Ø"'˜Ø˜ð $8ð ð  Ø!%Ô!H�D”JØ˜4ð ð ð 	 ˜$ $˜,˜,Ø�Ø >ð ð �HØœ;×0Ò0Ñ2Ô2�DØð  4¨xÐ#7Ð#7Ø"'˜Ø˜ð $8ð ð  Ø!%Ô!H�D”JØ˜4ð ŒK×Ò˜dÑ#Ô#Ð#Ø×ÒÐIÐPTÐÑUÔUÐUØ,1ˆDÔ˜yÑ)ØÔ1ˆDŒJØˆtr   c                 óØ  — | j                              ¦   «         }|t          v r| j        | _        nº|dv r<|                      d¦  «         | j                              |¦  «         | j        | _        nz|t          u rK|                      d¦  «         d| j        d<   | j	         
                    | j        ¦  «         | j        | _        n&| j                              |¦  «         | j        | _        dS ©N)rÛ   rÜ   úunexpected-char-in-doctyper#  Fr  T)r$   rN   r   Ú&before_doctype_public_identifier_stater'   r<   rS   r   r(   r0   r9   r&   rŽ   s     r   r*  z0HTMLTokenizer.after_doctype_public_keyword_stateO  óä   € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØÔDˆDŒJˆJØ�ZÐÐØ×ÒÐ9Ñ:Ô:Ð:ØŒK×Ò˜dÑ#Ô#Ð#ØÔDˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàŒK×Ò˜dÑ#Ô#Ð#ØÔDˆDŒJØˆtr   c                 ób  — | j                              ¦   «         }|t          v r�n
|dk    rd| j        d<   | j        | _        ní|dk    rd| j        d<   | j        | _        nÐ|dk    rK|                      d¦  «         d| j        d<   | j         	                    | j        ¦  «         | j
        | _        n|t          u rK|                      d	¦  «         d| j        d<   | j         	                    | j        ¦  «         | j
        | _        n+|                      d
¦  «         d| j        d<   | j        | _        dS )NrÜ   rC   rÿ   rÛ   r”   úunexpected-end-of-doctypeFr  r#  r/  T)r$   rN   r   r(   Ú-doctype_public_identifier_double_quoted_stater'   Ú-doctype_public_identifier_single_quoted_stater<   r0   r9   r&   r   r,  rŽ   s     r   r0  z4HTMLTokenizer.before_doctype_public_identifier_statea  s9  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ÙØ�SŠ[ˆ[Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ�SŠ[ˆ[Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ�SŠ[ˆ[Ø×ÒÐ8Ñ9Ô9Ð9Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJà×ÒÐ9Ñ:Ô:Ð:Ø,1ˆDÔ˜yÑ)ØÔ1ˆDŒJØˆtr   c                 ó4  — | j                              ¦   «         }|dk    r| j        | _        në|dk    r+|                      d¦  «         | j        dxx         dz  cc<   nº|dk    rK|                      d¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        ni|t          u rK|                      d
¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        n| j        dxx         |z  cc<   dS )NrÜ   rw   rx   rÿ   rF   r”   r3  Fr  r#  T©
r$   rN   Ú%after_doctype_public_identifier_stater'   r<   r(   r0   r9   r&   r   rŽ   s     r   r4  z;HTMLTokenizer.doctype_public_identifier_double_quoted_state{  ó0  € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔCˆDŒJˆJØ�XÒÐØ×ÒÐ0Ñ1Ô1Ð1ØÔ˜zÐ*Ð*Ô*¨hÑ6Ð*Ð*Ñ*Ð*Ø�SŠ[ˆ[Ø×ÒÐ8Ñ9Ô9Ð9Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàÔ˜zÐ*Ð*Ô*¨dÑ2Ð*Ð*Ñ*Øˆtr   c                 ó4  — | j                              ¦   «         }|dk    r| j        | _        në|dk    r+|                      d¦  «         | j        dxx         dz  cc<   nº|dk    rK|                      d¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        ni|t          u rK|                      d
¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        n| j        dxx         |z  cc<   dS )NrÛ   rw   rx   rÿ   rF   r”   r3  Fr  r#  Tr7  rŽ   s     r   r5  z;HTMLTokenizer.doctype_public_identifier_single_quoted_state�  r9  r   c                 ó�  — | j                              ¦   «         }|t          v r| j        | _        �n|dk    r,| j                             | j        ¦  «         | j        | _        nã|dk    r,|  	                    d¦  «         d| j        d<   | j
        | _        n±|dk    r,|  	                    d¦  «         d| j        d<   | j        | _        n|t          u rK|  	                    d¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        n+|  	                    d¦  «         d| j        d	<   | j        | _        d
S )Nr”   rÜ   r/  rC   r   rÛ   r#  Fr  T)r$   rN   r   Ú3between_doctype_public_and_system_identifiers_stater'   r0   r9   r(   r&   r<   Ú-doctype_system_identifier_double_quoted_stateÚ-doctype_system_identifier_single_quoted_stater   r,  rŽ   s     r   r8  z3HTMLTokenizer.after_doctype_public_identifier_state¥  sJ  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØÔQˆDŒJ‰JØ�SŠ[ˆ[ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ�SŠ[ˆ[Ø×ÒÐ9Ñ:Ô:Ð:Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ�SŠ[ˆ[Ø×ÒÐ9Ñ:Ô:Ð:Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJà×ÒÐ9Ñ:Ô:Ð:Ø,1ˆDÔ˜yÑ)ØÔ1ˆDŒJØˆtr   c                 ó"  — | j                              ¦   «         }|t          v rnë|dk    r,| j                             | j        ¦  «         | j        | _        n¹|dk    rd| j        d<   | j        | _        nœ|dk    rd| j        d<   | j	        | _        n|t          u rK|                      d¦  «         d| j        d<   | j                             | j        ¦  «         | j        | _        n+|                      d	¦  «         d| j        d<   | j        | _        d
S )Nr”   rÜ   rC   r   rÛ   r#  Fr  r/  T)r$   rN   r   r0   r9   r(   r&   r'   r=  r>  r   r<   r,  rŽ   s     r   r<  zAHTMLTokenizer.between_doctype_public_and_system_identifiers_state¿  s  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØØ�SŠ[ˆ[ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ�SŠ[ˆ[Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ�SŠ[ˆ[Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJà×ÒÐ9Ñ:Ô:Ð:Ø,1ˆDÔ˜yÑ)ØÔ1ˆDŒJØˆtr   c                 óØ  — | j                              ¦   «         }|t          v r| j        | _        nº|dv r<|                      d¦  «         | j                              |¦  «         | j        | _        nz|t          u rK|                      d¦  «         d| j        d<   | j	         
                    | j        ¦  «         | j        | _        n&| j                              |¦  «         | j        | _        dS r.  )r$   rN   r   Ú&before_doctype_system_identifier_stater'   r<   rS   r   r(   r0   r9   r&   rŽ   s     r   r+  z0HTMLTokenizer.after_doctype_system_keyword_state×  r1  r   c                 ób  — | j                              ¦   «         }|t          v r�n
|dk    rd| j        d<   | j        | _        ní|dk    rd| j        d<   | j        | _        nÐ|dk    rK|                      d¦  «         d| j        d<   | j         	                    | j        ¦  «         | j
        | _        n|t          u rK|                      d	¦  «         d| j        d<   | j         	                    | j        ¦  «         | j
        | _        n+|                      d¦  «         d| j        d<   | j        | _        d
S )NrÜ   rC   r   rÛ   r”   r/  Fr  r#  T)r$   rN   r   r(   r=  r'   r>  r<   r0   r9   r&   r   r,  rŽ   s     r   rA  z4HTMLTokenizer.before_doctype_system_identifier_stateé  s9  € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ÙØ�SŠ[ˆ[Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ�SŠ[ˆ[Ø-/ˆDÔ˜zÑ*ØÔKˆDŒJˆJØ�SŠ[ˆ[Ø×ÒÐ9Ñ:Ô:Ð:Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJà×ÒÐ9Ñ:Ô:Ð:Ø,1ˆDÔ˜yÑ)ØÔ1ˆDŒJØˆtr   c                 ó4  — | j                              ¦   «         }|dk    r| j        | _        në|dk    r+|                      d¦  «         | j        dxx         dz  cc<   nº|dk    rK|                      d¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        ni|t          u rK|                      d
¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        n| j        dxx         |z  cc<   dS )NrÜ   rw   rx   r   rF   r”   r3  Fr  r#  T©
r$   rN   Ú%after_doctype_system_identifier_stater'   r<   r(   r0   r9   r&   r   rŽ   s     r   r=  z;HTMLTokenizer.doctype_system_identifier_double_quoted_state  r9  r   c                 ó4  — | j                              ¦   «         }|dk    r| j        | _        në|dk    r+|                      d¦  «         | j        dxx         dz  cc<   nº|dk    rK|                      d¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        ni|t          u rK|                      d
¦  «         d| j        d	<   | j                             | j        ¦  «         | j        | _        n| j        dxx         |z  cc<   dS )NrÛ   rw   rx   r   rF   r”   r3  Fr  r#  TrD  rŽ   s     r   r>  z;HTMLTokenizer.doctype_system_identifier_single_quoted_state  r9  r   c                 óš  — | j                              ¦   «         }|t          v rn§|dk    r,| j                             | j        ¦  «         | j        | _        nu|t          u rK|  	                    d¦  «         d| j        d<   | j                             | j        ¦  «         | j        | _        n!|  	                    d¦  «         | j
        | _        dS )Nr”   r#  Fr  r/  T)r$   rN   r   r0   r9   r(   r&   r'   r   r<   r,  rŽ   s     r   rE  z3HTMLTokenizer.after_doctype_system_identifier_state-  sÆ   € ØŒ{×$Ò$Ñ&Ô&ˆØÕ#Ð#Ð#ØØ�SŠ[ˆ[ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ•Sˆ[ˆ[Ø×ÒÐ-Ñ.Ô.Ð.Ø,1ˆDÔ˜yÑ)ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJà×ÒÐ9Ñ:Ô:Ð:ØÔ1ˆDŒJØˆtr   c                 ó<  — | j                              ¦   «         }|dk    r,| j                             | j        ¦  «         | j        | _        nP|t          u rF| j                              |¦  «         | j                             | j        ¦  «         | j        | _        n	 dS )Nr”   T)	r$   rN   r0   r9   r(   r&   r'   r   rS   rŽ   s     r   r,  z!HTMLTokenizer.bogus_doctype_state>  s�   € ØŒ{×$Ò$Ñ&Ô&ˆØ�3Š;ˆ;ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJØ•Sˆ[ˆ[àŒK×Ò˜dÑ#Ô#Ð#ØÔ×#Ò# DÔ$6Ñ7Ô7Ð7ØœˆDŒJˆJàØˆtr   c                 ó²  — g }	 |                      | j                             d¦  «        ¦  «         |                      | j                             d¦  «        ¦  «         | j                             ¦   «         }|t          u rnF|dk    sJ ‚|d         dd …         dk    r|d         d d…         |d<   n|                      |¦  «         ŒÃd                     |¦  «        }|                     d¦  «        x}d	k    r=t          |¦  «        D ]}|                      d
¦  «         Œ| 	                    dd¦  «        }|r|  
                    |¦  «         | j        | _        dS )NTú]r”   r^   éþÿÿÿz]]rC   rw   r   rx   rF   )r9   r$   r|   rN   r   rP   Úcountr   r<   rõ   r?   r&   r'   )r)   r/   ÚcharÚ
null_countrå   s        r   r
  z!HTMLTokenizer.cdata_section_stateL  sY  € Øˆð	&Ø�KŠK˜œ×/Ò/°Ñ4Ô4Ñ5Ô5Ð5Ø�KŠK˜œ×/Ò/°Ñ4Ô4Ñ5Ô5Ð5Ø”;×(Ò(Ñ*Ô*ˆDØ•sˆ{ˆ{Øà˜s’{�{�{�{Ø˜”8˜B˜C˜C”= DÒ(Ð(Ø# Bœx¨¨¨œ}�D˜‘HØà—K’K Ñ%Ô%Ð%ð	&ð �wŠw�t‰}Œ}ˆàŸ*š* XÑ.Ô.Ð.ˆJ°!Ò3Ð3Ý˜:Ñ&Ô&ð 6ð 6�Ø× Ò Ð!4Ñ5Ô5Ð5Ð5Ø—<’< ¨(Ñ3Ô3ˆDØð 	"Ø�OŠO˜DÑ!Ô!Ð!Ø”_ˆŒ
Øˆtr   r#   )NF)OÚ__name__Ú
__module__Ú__qualname__Ú__doc__r+   r6   r<   r?   rY   ri   rk   ru   r&   rz   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Î   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*  r0  r4  r5  r8  r<  r+  rA  r=  r>  rE  r,  r
  © r   r   r!   r!   &   s¡  € € € € € ØÐð"ð "ð "ð "ð1ð 1ð 1ð('ð 'ð 'ðKð Kð Kð3ð 3ð 3ðjEKð EKð EKð EKðNBð Bð Bð%ð %ð %ð8ð ð ð6ð ð ð
ð ð ð8ð ð ð
ð ð ðð ð ð	ð 	ð 	ð!ð !ð !ðFð ð ð0ð ð ð(	ð 	ð 	ð	ð 	ð 	ð$ð $ð $ðL	ð 	ð 	ð	ð 	ð 	ð$ð $ð $ðLð ð ð	ð 	ð 	ð$ð $ð $ðLð ð ðð ð ðð ð ð ð ð ð$ð ð ð(ð ð ð	ð 	ð 	ð$ð $ð $ðLð ð ð ð ð ð$ð ð ð(ð ð ð,	ð 	ð 	ðð ð ð ð ð ð6/ð /ð /ðbð ð ð:ð ð ð<ð ð ð"ð ð ð"ð ð ð0ð ð ð$ð ð ðð ð ð-ð -ð -ð^ð ð ð(ð ð ð(ð ð ð ð ð ð"ð ð ð4ð ð ð*ð ð ðð ð ð.ð ð ð4+ð +ð +ðZð ð ð$ð ð ð4ð ð ð*ð ð ð*ð ð ð4ð ð ð0ð ð ð$ð ð ð4ð ð ð*ð ð ð*ð ð ð"ð ð ðð ð ð ð r   r!   N)Úbisectr   Úcollectionsr   Úhtml.entitiesr   r   Ú	constantsr   r   r	   r
   r   r   r   r   r   Úinputstreamr   ÚtupleÚsortedr   r   r   r!   rS  r   r   ú<module>r[     s0  ðØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð )Ð (Ð (Ð (Ð (Ð (àˆe�F�F˜8Ñ$Ô$Ñ%Ô%€ð-ð -ð -ðð ð ðð ð ð ð ñ ô ð ð ð r   