???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    e5d9  ã                   @   sR   d dl Z e  d¡jZe  d¡jZe  d¡Ze  d¡Ze  d¡Z[ G dd„ dƒZdS )	é    Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z	]\s*]\s*>z]\s*>c                   @   sŒ   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdZdd„ Z	d"dd„Z
d#dd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!S )$Ú
ParserBasec                 C   s   | j tkrtdƒ‚d S )Nz)_markupbase.ParserBase must be subclassed)Ú	__class__r   ÚRuntimeError©Úself© r   ú#/usr/lib64/python3.8/_markupbase.pyÚ__init__   s    
ÿzParserBase.__init__c                 C   s   t dƒ‚d S )Nz.subclasses of ParserBase must override error())ÚNotImplementedError)r   Úmessager   r   r   Úerror    s    ÿzParserBase.errorc                 C   s   d| _ d| _d S )Né   r   ©ÚlinenoÚoffsetr   r   r   r   Úreset$   s    zParserBase.resetc                 C   s   | j | jfS ©Nr   r   r   r   r   Úgetpos(   s    zParserBase.getposc                 C   sb   ||kr|S | j }| d||¡}|rN| j| | _| d||¡}||d  | _n| j| | | _|S )NÚ
r   )ÚrawdataÚcountr   Úrindexr   )r   ÚiÚjr   ZnlinesÚposr   r   r   Ú	updatepos0   s    zParserBase.updateposÚ c           
      C   sÂ  | j }|d }|||d … dkr*|d S |||d … dkrBdS t|ƒ}|||d … dkrh|  |¡S || dkr~|  |¡S |  ||¡\}}|dk rš|S |d	kr¨d
| _||k r¾|| }|dkrø||d |… }|d	kræ|  |¡ n
|  |¡ |d S |dkr t||ƒ}|sdS | 	¡ }n|dkr<|  ||¡\}	}nt|| jkrR|d }n^|dkrž|d	krx|  
|d |¡}n$|dkr’|  d| ¡ n
|  d¡ n|  d||  ¡ |dk r¨|S q¨dS )Né   r   ú>)ú-r   éÿÿÿÿz--ú[r   Zdoctyper   z"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>   ÚlinktypeÚattlistÚelementÚlinkz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)r   ÚlenÚparse_commentÚparse_marked_sectionÚ
_scan_nameÚ_decl_othercharsZhandle_declÚunknown_declÚ_declstringlit_matchÚendÚ_parse_doctype_subsetr   )
r   r   r   r   ÚnZdecltypeÚcÚdataÚmÚnamer   r   r   Úparse_declaration@   sZ    












ÿzParserBase.parse_declarationr   c                 C   sª   | j }|  |d |¡\}}|dk r&|S |dkr@t ||d ¡}n4|dkrZt ||d ¡}n|  d||d |…  ¡ |s|dS |r | d¡}|  ||d |… ¡ | d¡S )Né   r   >   ÚrcdataÚtempÚignoreÚcdataÚinclude>   ÚendifÚelseÚifz+unknown status keyword %r in marked sectionr    )	r   r)   Ú_markedsectioncloseÚsearchÚ_msmarkedsectioncloser   Ústartr+   r-   )r   r   Úreportr   ZsectNamer   Úmatchr   r   r   r(   ’   s    
zParserBase.parse_marked_sectionc                 C   sj   | j }|||d … dkr$|  d¡ t ||d ¡}|s<dS |r`| d¡}|  ||d |… ¡ | d¡S )Né   ú<!--z"unexpected call to parse_comment()r    r   )r   r   Ú_commentcloser?   rA   Zhandle_commentr-   )r   r   rB   r   rC   r   r   r   r   r'   ¨   s    

zParserBase.parse_commentc           
      C   s*  | j }t|ƒ}|}||k r&|| }|dkr0|||d … }|dkrJdS |dkrp|  ||d ¡ |  d| ¡ |d |kr€dS |d |krdS |||d … dkrÀ| j|d	d
}|d	k r|S q|  |d |¡\}}|dkràdS |dkr|  ||d ¡ |  d| ¡ t| d| ƒ}	|	||ƒ}|d	k r$|S q|dkr†|d |krLdS |  |d |¡\}}|d	k rn|S || dkr$|d }q|dkrö|d }||k r¼||  ¡ r¼|d }q˜||k rð|| dkrØ|S |  ||¡ |  d¡ ndS q| ¡ r
|d }q|  ||¡ |  d| ¡ qdS )Nú<r   r    z<!r   z*unexpected char in internal subset (in %r)rD   rE   r   )rB   >   r$   r#   ÚnotationÚentityz)unknown declaration %r in internal subsetZ_parse_doctype_ú%ú;ú]r   z%unexpected char after internal subsetz%unexpected char %r in internal subset)r   r&   r   r   r'   r)   ÚgetattrÚisspace)
r   r   Údeclstartposr   r/   r   r0   Úsr3   Zmethr   r   r   r.   ¶   sp    


ÿ








z ParserBase._parse_doctype_subsetc                 C   sF   |   ||¡\}}|dkrdS | j}d||d … krB| d|¡d S dS )Nr    r   r   )r)   r   Úfind)r   r   rO   r3   r   r   r   r   r   Ú_parse_doctype_elementù   s    z!ParserBase._parse_doctype_elementc                 C   s¶  | j }|  ||¡\}}|||d … }|dkr2dS |dkrB|d S |  ||¡\}}|dk r^|S |||d … }|dkrzdS |dkrØd||d … kr¤| d|¡d }ndS |||d …  ¡ rÆ|d }q¨||d … sèdS n|  ||¡\}}|||d … }|sdS |dkrDt||ƒ}|r&| ¡ }ndS |||d … }|sDdS |d	kr ||d … d	krddS |  |d |¡\}}|dk r†|S |||d … }|s dS |dkrB|d S qBd S )
Nr   r   r    r   r   ú(ú)ú'"ú#)r   r)   rQ   rN   r,   r-   )r   r   rO   r   r3   r   r0   r2   r   r   r   Ú_parse_doctype_attlist  sX    





z!ParserBase._parse_doctype_attlistc                 C   s   |   ||¡\}}|dk r|S | j}|||d … }|s:dS |dkrJ|d S |dkrnt||ƒ}|sddS | ¡ }q"|   ||¡\}}|dk r"|S q"d S )Nr   r   r    r   rU   )r)   r   r,   r-   )r   r   rO   r3   r   r   r0   r2   r   r   r   Ú_parse_doctype_notation=  s"    

z"ParserBase._parse_doctype_notationc                 C   sä   | j }|||d … dkrR|d }|||d … }|s:dS | ¡ rP|d }q"qVq"n|}|  ||¡\}}|dk rr|S | j ||d … }|sŒdS |dkr²t||ƒ}|r¬| ¡ }qÞdS qr|dkrÂ|d S |  ||¡\}}|dk rr|S qrd S )Nr   rJ   r    r   rU   r   )r   rN   r)   r,   r-   )r   r   rO   r   r   r0   r3   r2   r   r   r   Ú_parse_doctype_entityT  s4    


z ParserBase._parse_doctype_entityc                 C   s†   | j }t|ƒ}||krdS t||ƒ}|r\| ¡ }| ¡ }|t|ƒ |krLdS | ¡ | ¡ fS |  ||¡ |  d|||d …  ¡ d S )N)Nr    zexpected name token at %ré   )	r   r&   Ú_declname_matchÚgroupÚstripÚlowerr-   r   r   )r   r   rO   r   r/   r2   rP   r3   r   r   r   r)   x  s    
ÿzParserBase._scan_namec                 C   s   d S r   r   )r   r1   r   r   r   r+   Š  s    zParserBase.unknown_declN)r   )r   )Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r*   r4   r(   r'   r.   rR   rW   rX   rY   r)   r+   r   r   r   r   r      s    R

C9$r   )	ÚreÚcompilerC   r[   r,   rF   r>   r@   r   r   r   r   r   Ú<module>   s   


