HEX
Server: Apache
System: Linux hp3-stn-1011028.hostingp3.local 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: csh958633 (951153)
PHP: 8.3.30
Disabled: shell_exec,exec,system,popen,set_time_limit
Upload Files
File: //proc/self/root/lib64/python2.7/HTMLParser.pyc
�
��Xjc@sdZddlZddlZejd�Zejd�Zejd�Zejd�Zejd�Zejd�Z	ejd	�Z
ejd
�Zejd�Zejd�Z
ejd
ej�Zejd�Zejd�Zdefd��YZdejfd��YZdS(sA parser for HTML and XHTML.i����Ns[&<]s
&[a-zA-Z#]s%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]s)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]s	<[a-zA-Z]t>s--\s*>s(([a-zA-Z][-.a-zA-Z0-9:_]*)(?:\s|/(?!>))*s[a-zA-Z][^	

 />]*s]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*s
  <[a-zA-Z][-.a-zA-Z0-9:_]*          # tag name
  (?:[\s/]*                          # optional whitespace before attribute name
    (?:(?<=['"\s/])[^\s/>][^\s/=>]*  # attribute name
      (?:\s*=+\s*                    # value indicator
        (?:'[^']*'                   # LITA-enclosed value
          |"[^"]*"                   # LIT-enclosed value
          |(?!['"])[^>\s]*           # bare value
         )
       )?(?:\s|/(?!>))*
     )*
   )?
  \s*                                # trailing whitespace
s#</\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>tHTMLParseErrorcBs#eZdZdd�Zd�ZRS(s&Exception raised for all parse errors.cCs3|st�||_|d|_|d|_dS(Nii(tAssertionErrortmsgtlinenotoffset(tselfRtposition((s"/usr/lib64/python2.7/HTMLParser.pyt__init__9s	
cCsW|j}|jdk	r,|d|j}n|jdk	rS|d|jd}n|S(Ns, at line %ds, column %di(RRtNoneR(Rtresult((s"/usr/lib64/python2.7/HTMLParser.pyt__str__?s	N(NN(t__name__t
__module__t__doc__R	RR(((s"/usr/lib64/python2.7/HTMLParser.pyR6st
HTMLParsercBs
eZdZdZd�Zd�Zd�Zd�Zd�ZdZ
d�Zd	�Zd
�Z
d�Zd�Zd
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdZd�Z RS( s�Find tags and other markup and call handler functions.

    Usage:
        p = HTMLParser()
        p.feed(data)
        ...
        p.close()

    Start tags are handled by calling self.handle_starttag() or
    self.handle_startendtag(); end tags by self.handle_endtag().  The
    data between tags is passed from the parser to the derived class
    by calling self.handle_data() with the data as argument (the data
    may be split up in arbitrary chunks).  Entity references are
    passed by calling self.handle_entityref() with the entity
    reference as the argument.  Numeric character references are
    passed to self.handle_charref() with the string containing the
    reference as the argument.
    tscripttstylecCs|j�dS(s#Initialize and reset this instance.N(treset(R((s"/usr/lib64/python2.7/HTMLParser.pyR_scCsSd|_d|_t|_d|_g|_d|_d|_t	j
j|�dS(s1Reset this instance.  Loses all unprocessed data.ts???iiN(trawdatatlasttagtinteresting_normaltinterestingR	t
cdata_elemt_pendingt_pending_lent_parse_thresholdt
markupbaset
ParserBaseR(R((s"/usr/lib64/python2.7/HTMLParser.pyRcs							cCs�|jt|�7_|j|jkr:|jj|�n�|jsU|j|7_n2|jj|�|jdj|j�7_|j2d|_t|j�}|jd�t|j�|kr�d|_nt|j�|_dS(s�Feed data to the parser.

        Call this as often as you want, with as little or as much text
        as you want (may include '\n').
        RiiN(RtlenRRtappendRtjointgoahead(Rtdatatn((s"/usr/lib64/python2.7/HTMLParser.pytfeedns
		
cCsH|jr7|jdj|j�7_|j2d|_n|jd�dS(sHandle any buffered data.RiiN(RRR RR!(R((s"/usr/lib64/python2.7/HTMLParser.pytclose�s
	cCst||j���dS(N(Rtgetpos(Rtmessage((s"/usr/lib64/python2.7/HTMLParser.pyterror�scCs|jS(s)Return full source of start tag: '<...>'.(t_HTMLParser__starttag_text(R((s"/usr/lib64/python2.7/HTMLParser.pytget_starttag_text�scCs2|j�|_tjd|jtj�|_dS(Ns</\s*%s\s*>(tlowerRtretcompiletIR(Rtelem((s"/usr/lib64/python2.7/HTMLParser.pytset_cdata_mode�scCst|_d|_dS(N(RRR	R(R((s"/usr/lib64/python2.7/HTMLParser.pytclear_cdata_mode�s	c
Cst|j}d}t|�}x||kr|jj||�}|rT|j�}n|jraPn|}||kr�|j|||!�n|j||�}||kr�Pn|j}|d|�r7t	j
||�r�|j|�}n�|d|�r	|j|�}n�|d|�r*|j
|�}nm|d|�rK|j|�}nL|d|�rl|j|�}n+|d|kr�|jd�|d}nP|dkr"|s�Pn|jd|d�}|dkr|jd|d�}|dkr|d}qn
|d7}|j|||!�n|j||�}q|d	|�r�tj
||�}|r�|j�d
d!}	|j|	�|j�}|d|d�s�|d}n|j||�}qqd||kr�|j|dd
!�|j|d
�}nPq|d
|�rtj
||�}|r�|jd�}	|j|	�|j�}|d|d�sn|d}n|j||�}qntj
||�}|r�|r�|j�||kr�|jd�nPq|d|kr|jd
�|j||d�}qPqdstd��qW|rc||krc|jrc|j|||!�|j||�}n|||_dS(Nit<s</s<!--s<?s<!iRs&#ii����t;t&s#EOF in middle of entity or char refsinteresting.search() lied(RRRtsearchtstartRthandle_datat	updatepost
startswithtstarttagopentmatchtparse_starttagtparse_endtagt
parse_commenttparse_pitparse_html_declarationtfindtcharreftgroupthandle_charreftendt	entityrefthandle_entityreft
incompleteR(R(
RRERtiR#R;tjR9tktname((s"/usr/lib64/python2.7/HTMLParser.pyR!�s�			







cCs�|j}|||d!dkr0|jd�n|||d!dkrT|j|�S|||d!dkrx|j|�S|||d!j�d	kr�|jd
|d�}|dkr�dS|j||d|!�|dS|j|�SdS(
Nis<!s+unexpected call to parse_html_declaration()is<!--is<![i	s	<!doctypeRi����i(RR(R>tparse_marked_sectionR+RAthandle_decltparse_bogus_comment(RRIRtgtpos((s"/usr/lib64/python2.7/HTMLParser.pyR@s	

icCs|j}|||d!dkr0|jd�n|jd|d�}|dkrVdS|rw|j||d|!�n|dS(	Nis<!s</s"unexpected call to parse_comment()Ri����i(s<!s</(RR(RAthandle_comment(RRItreportRtpos((s"/usr/lib64/python2.7/HTMLParser.pyROs	cCs�|j}|||d!dks,td��tj||d�}|sLdS|j�}|j||d|!�|j�}|S(Nis<?sunexpected call to parse_pi()i����(RRtpicloseR5R6t	handle_piRE(RRIRR;RJ((s"/usr/lib64/python2.7/HTMLParser.pyR?'s	#cCs�d|_|j|�}|dkr(|S|j}|||!|_g}tj||d�}|sotd��|j�}|jd�j	�|_
}x�||kr�tj||�}|s�Pn|jddd�\}	}
}|
s�d}nX|d dko|dkns7|d dko2|dknrG|dd!}n|r_|j|�}n|j
|	j	�|f�|j�}q�W|||!j�}|dkr+|j�\}
}d|jkr|
|jjd�}
t|j�|jjd�}n|t|j�}|j|||!�|S|jd
�rM|j||�n/|j||�||jkr||j|�n|S(
Niis#unexpected call to parse_starttag()iis'i����t"Rs/>s
(Rs/>(R	R)tcheck_for_whole_start_tagRttagfindR;RRERCR+RtattrfindtunescapeRtstripR&tcountRtrfindR7tendswiththandle_startendtagthandle_starttagtCDATA_CONTENT_ELEMENTSR0(RRItendposRtattrsR;RKttagtmtattrnametrestt	attrvalueRERR((s"/usr/lib64/python2.7/HTMLParser.pyR<3sR			$$cCs�|j}tj||�}|r�|j�}|||d!}|dkrR|dS|dkr�|jd|�rx|dS|jd|�r�dS|j||d�|jd�n|dkr�dS|d	kr�dS||kr�|S|dSntd
��dS(NiRt/s/>ii����smalformed empty start tagRs6abcdefghijklmnopqrstuvwxyz=/ABCDEFGHIJKLMNOPQRSTUVWXYZswe should not get here!(RtlocatestarttagendR;RER9R8R(R(RRIRReRJtnext((s"/usr/lib64/python2.7/HTMLParser.pyRWgs,	cCs�|j}|||d!dks,td��tj||d�}|sLdS|j�}tj||�}|s!|jdk	r�|j	|||!�|St
j||d�}|s�|||d!dkr�|dS|j|�Sn|j�j
�}|jd|j��}|j|�|dS|jd�j
�}|jdk	ro||jkro|j	|||!�|Sn|j|�|j�|S(	Nis</sunexpected call to parse_endtagii����is</>R(RRt	endendtagR5REt
endtagfindR;RR	R7ttagfind_tolerantRORCR+RAt
handle_endtagR1(RRIRR;RPt	namematchttagnameR/((s"/usr/lib64/python2.7/HTMLParser.pyR=�s8	#


cCs!|j||�|j|�dS(N(R`Ro(RRdRc((s"/usr/lib64/python2.7/HTMLParser.pyR_�scCsdS(N((RRdRc((s"/usr/lib64/python2.7/HTMLParser.pyR`�scCsdS(N((RRd((s"/usr/lib64/python2.7/HTMLParser.pyRo�scCsdS(N((RRL((s"/usr/lib64/python2.7/HTMLParser.pyRD�scCsdS(N((RRL((s"/usr/lib64/python2.7/HTMLParser.pyRG�scCsdS(N((RR"((s"/usr/lib64/python2.7/HTMLParser.pyR7�scCsdS(N((RR"((s"/usr/lib64/python2.7/HTMLParser.pyRQ�scCsdS(N((Rtdecl((s"/usr/lib64/python2.7/HTMLParser.pyRN�scCsdS(N((RR"((s"/usr/lib64/python2.7/HTMLParser.pyRU�scCsdS(N((RR"((s"/usr/lib64/python2.7/HTMLParser.pytunknown_decl�scs2d|kr|S�fd�}tjd||�S(NR4cs|j�d}yZ|ddkri|d}|dd
krSt|dd�}nt|�}t|�SWntk
r�d|dSXd	dl}tjdkr�id
d6}t_x0|jj	�D]\}}t|�||<q�Wny�j|SWnt
k
rd|dSXdS(Nit#itxtXis&#R3i����u'taposR4(RuRv(tgroupstinttunichrt
ValueErrorthtmlentitydefsRt
entitydefsR	tname2codepointt	iteritemstKeyError(tstcR|R}RKtv(R(s"/usr/lib64/python2.7/HTMLParser.pytreplaceEntities�s&



s#&(#?[xX]?(?:[0-9a-fA-F]+|\w{1,8}));(R,tsub(RR�R�((Rs"/usr/lib64/python2.7/HTMLParser.pyRZ�s(RRN(!RR
RRaRRR$R%R(R	R)R*R0R1R!R@ROR?R<RWR=R_R`RoRDRGR7RQRNRURsR}RZ(((s"/usr/lib64/python2.7/HTMLParser.pyRHs<									^			4	 	(										(RRR,R-RRHRFRBR:RTtcommentcloseRXRnRYtVERBOSERjRlRmt	ExceptionRRR(((s"/usr/lib64/python2.7/HTMLParser.pyt<module>s&