o ÏÓçh!Pã@sÜ ddlZddlZddlmZdgZe d¡Ze d¡Ze d¡Ze d¡Z e d¡Z e d ¡Z e d ¡Z e d ¡Z e d ¡Ze d ¡Ze dej¡Ze dej¡Ze dej¡Ze d ¡Ze d¡ZGdd„dejƒZdS)éN)ÚunescapeÚ HTMLParserz[&<]z &[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z <[a-zA-Z]z z--!?>z-?>z0([a-zA-Z][^\t\n\r\f />]*)(?:[\t\n\r\f ]|/(?!>))*a{ ( (?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]* # attribute name ) ([\t\n\r\f ]*=[\t\n\r\f ]* # value indicator ('[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\t\n\r\f ]* # bare value ) )? (?:[\t\n\r\f ]|/(?!>))* # possibly followed by a space a [a-zA-Z][^\t\n\r\f />]* # tag name [\t\n\r\f /]* # optional whitespace before attribute name (?:(?<=['"\t\n\r\f /])[^\t\n\r\f />][^\t\n\r\f /=>]* # attribute name (?:[\t\n\r\f ]*=[\t\n\r\f ]* # value indicator (?:'[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\t\n\r\f ]* # bare value ) )? [\t\n\r\f /]* # possibly followed by a space )* >? aF <[a-zA-Z][^\t\n\r\f />\x00]* # 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* # possibly followed by a space )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#c@süeZdZ dZdZddœdd„Zdd„Zd d „Zd d „Zd Z dd„Z ddœdd„Z dd„Z d=dd„Z dd„Zdd„Zd=dd„Zd>dd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zd S)?r)ZscriptZstyle)ZtextareaÚtitleT)Úconvert_charrefscCs ||_| ¡dS©N)rÚreset)Úselfr©r ú2/opt/alt/python310/lib64/python3.10/html/parser.pyÚ__init__ss zHTMLParser.__init__cCs6 d|_d|_t|_d|_d|_d|_tj  |¡dS)NÚz???T) ÚrawdataÚlasttagÚinteresting_normalÚ interestingÚ cdata_elemÚ_support_cdataÚ _escapableÚ _markupbaseÚ ParserBaser©r r r r r|szHTMLParser.resetcCs |j||_| d¡dS)Nr)rÚgoahead©r Údatar r r Úfeed†s zHTMLParser.feedcCs | d¡dS)Né)rrr r r ÚcloseszHTMLParser.closeNcCs |jSr)Ú_HTMLParser__starttag_textrr r r Úget_starttag_text•szHTMLParser.get_starttag_textF©Ú escapablecCsZ| ¡|_||_|r|jst d|jtjtjB¡|_dSt d|jtjtjB¡|_dS)Nz&|])z])) ÚlowerrrrÚreÚcompileÚ IGNORECASEÚASCIIr)r Úelemr!r r r Úset_cdata_mode™s     ÿ   ÿzHTMLParser.set_cdata_modecCst|_d|_d|_dS)NT)rrrrrr r r Úclear_cdata_mode£s zHTMLParser.clear_cdata_modecCs ||_dSr)r)r Úflagr r r Ú_set_support_cdata¨s zHTMLParser._set_support_cdatac Cs|j}d}t|ƒ}||krU|jr;|js;| d|¡}|dkr:| dt||dƒ¡}|dkr8t d¡  ||¡s8n|}n|j   ||¡}|rI|  ¡}n|jrNn|}||kro|jrf|j rf|  t|||…ƒ¡n |  |||…¡| ||¡}||kr{nÚ|j}|d|ƒrt ||¡r| |¡} n@|d|ƒr›| |¡} n5|d|ƒr¦| |¡} n*|d|ƒr±| |¡} n|d |ƒr¼| |¡} n|d |ksÄ|rÎ|  d¡|d } nn…| dkr‰|sÙn|t ||¡ràn§|d|ƒr|d |krò|  d¡n•t ||¡rùnŽ| ||d d…¡n‚|d|ƒr0|}d D]} | | |d ¡r"|t| ƒ8}nq| ||d |…¡nW|d|ƒrF|jrF| ||dd…¡nA|||d… ¡dkr_| ||d d…¡n(|d |ƒrq| ||d d…¡n|d|ƒrƒ| ||d d…¡nt dƒ‚|} | || ¡}nÁ|d|ƒràt! ||¡}|rÃ| "¡d d…} | #| ¡| $¡} |d| d ƒs¼| d } | || ¡}q d||d…vrß|  |||d …¡| ||d ¡}nu|d|ƒrQt% ||¡}|r| "d ¡} | &| ¡| $¡} |d| d ƒs | d } | || ¡}q t' ||¡}|r;|r:| "¡||d…kr:| $¡} | |kr2|} | ||d ¡}n|d |krP|  d¡| ||d ¡}nn||ks|r€||kr€|jrq|j rq|  t|||…ƒ¡n |  |||…¡| ||¡}||d…|_dS)Nrú<ú&é"z [\t\n\r\f ;]zrr7r4r6rr0rzrIrR)r rVÚreportrrBrXr r r rEfszHTMLParser.parse_commentrcCsD|j}| d|d¡}|dkrdS|r| ||d|…¡|dS)Nrr0r7r)rr:rI)r rVr`rÚposr r r r]uszHTMLParser.parse_bogus_commentcCsH|j}t ||d¡}|sdS| ¡}| ||d|…¡| ¡}|S)Nr0r7)rÚpicloser=r>rMrR©r rVrrBrXr r r rFszHTMLParser.parse_picCsôd|_| |¡}|dkr|S|j}|||…|_g}t ||d¡}| ¡}| d¡ ¡|_}||krt  ||¡}|s=nS| ddd¡\} } } | sLd} n-| dd…dkr^| dd…kssn| dd…dkrq| dd…krynn| dd…} | rt | ƒ} |  |  ¡| f¡| ¡}||ks4|||…  ¡} | dvrÍ|  ¡\} }d |jvr»| |j d ¡} t|jƒ|j d ¡}n|t|jƒ}| |||…¡|S|  d ¡rÚ| ||¡|S| ||¡||jvrì| |¡|S||jvrø|j|d d |S) Nrrr0r4ú'r7ú")rú/>Ú rfTr )rÚcheck_for_whole_start_tagrÚtagfind_tolerantrBrRrPr"rÚattrfind_tolerantrÚappendÚstripZgetposÚcountr9r;r?rJÚhandle_startendtagÚhandle_starttagÚCDATA_CONTENT_ELEMENTSr(ÚRCDATA_CONTENT_ELEMENTS)r rVÚendposrÚattrsrBrYÚtagÚmÚattrnameÚrestZ attrvaluerRÚlinenoÚoffsetr r r rCs\  &( ó   ÿ   û   þzHTMLParser.parse_starttagcCs6|j}t ||d¡}| ¡}||ddkrdS|S)Nrrr7)rÚ locatetagendrBrRrcr r r rhÄs z$HTMLParser.check_for_whole_start_tagcCs´|j}| d|d¡dkrdSt ||¡s*||d|d…dkr%|dS| |¡St ||d¡}| ¡}||ddkr@dSt ||d¡}| d¡  ¡}|  |¡|  ¡|S)Nrr0rr7r4r) rr:rHrBr]rzrRrirPr"Ú handle_endtagr))r rVrrBrXrtr r r rDÎs    zHTMLParser.parse_endtagcCs| ||¡| |¡dSr)ror{©r rtrsr r r rnìs zHTMLParser.handle_startendtagcCódSrr r|r r r roñózHTMLParser.handle_starttagcCr}rr )r rtr r r r{õr~zHTMLParser.handle_endtagcCr}rr ©r r[r r r rQùr~zHTMLParser.handle_charrefcCr}rr rr r r rTýr~zHTMLParser.handle_entityrefcCr}rr rr r r r?r~zHTMLParser.handle_datacCr}rr rr r r rIr~zHTMLParser.handle_commentcCr}rr )r Zdeclr r r rL r~zHTMLParser.handle_declcCr}rr rr r r rM r~zHTMLParser.handle_picCr}rr rr r r rKr~zHTMLParser.unknown_decl)T)r) Ú__name__Ú __module__Ú __qualname__rprqr rrrrrr(r)r+rrGrEr]rFrCrhrDrnror{rQrTr?rIrLrMrKr r r r rZs@     "   7  )r#rZhtmlrÚ__all__r$rrUrSrOrArHrbr^r_riÚVERBOSErjrzZlocatestarttagend_tolerantZ endendtagZ endtagfindrrr r r r Ús6             õ  óò