U ,a9@sRddlZedjZedjZedZedZedZ[GdddZdS) Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z ]\s*]\s*>z]\s*>c@seZdZddZddZddZddZd d Zd Zd d Z d"ddZ d#ddZ ddZ ddZ ddZddZddZddZdd Zd!S)$ ParserBasecCs|jtkrtddS)Nz)_markupbase.ParserBase must be subclassed) __class__r RuntimeErrorselfr0/opt/alt/python38/lib64/python3.8/_markupbase.py__init__s zParserBase.__init__cCs tddS)Nz.subclasses of ParserBase must override error())NotImplementedError)rmessagerrrerror szParserBase.errorcCsd|_d|_dS)Nrlinenooffsetrrrrreset$szParserBase.resetcCs |j|jfSNrrrrrgetpos(szParserBase.getposcCsb||kr |S|j}|d||}|rN|j||_|d||}||d|_n|j|||_|S)N r )rawdatacountrrindexr)rijrZnlinesposrrr updatepos0s zParserBase.updateposc Cs|j}|d}|||ddkr*|dS|||ddkrBdSt|}|||ddkrh||S||dkr~||S|||\}}|dkr|S|d krd |_||kr||}|dkr||d|}|d kr||n |||dS|d kr t||}|sdS| }n|d kr<|||\} }nt||jkrR|d}n^|dkr|d krx| |d|}n$|d kr| d|n | dn| d|||dkr|SqdS)Nr >)-rz--[rZdoctyperz"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>attlistlinktypelinkelementz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration) rlen parse_commentparse_marked_section _scan_name_decl_othercharsZ handle_decl unknown_decl_declstringlit_matchend_parse_doctype_subsetr ) rrrrnZdecltypecdatamnamerrrparse_declaration@sZ                  zParserBase.parse_declarationr cCs|j}||d|\}}|dkr&|S|dkr@t||d}n4|dkrZt||d}n|d||d||s|dS|r|d}|||d||dS)Nr>cdatatemprcdataincludeignore>elseendififz+unknown status keyword %r in marked sectionr ) rr)_markedsectionclosesearch_msmarkedsectioncloser startr+r-)rrreportrZsectNamermatchrrrr(s zParserBase.parse_marked_sectioncCsj|j}|||ddkr$|dt||d}|sr"notationr%entityz)unknown declaration %r in internal subsetZ_parse_doctype_%;]rz%unexpected char after internal subsetz%unexpected char %r in internal subset)rr&rr r'r)getattrisspace) rr declstartposrr/rr0sr3Zmethrrrr.sp                  z ParserBase._parse_doctype_subsetcCsF|||\}}|dkrdS|j}d||dkrB|d|dSdS)Nr rr )r)rfind)rrrOr3rrrrr_parse_doctype_elementsz!ParserBase._parse_doctype_elementcCs|j}|||\}}|||d}|dkr2dS|dkrB|dS|||\}}|dkr^|S|||d}|dkrzdS|dkrd||dkr|d|d}ndS|||dr|d}q||dsdSn|||\}}|||d}|sdS|dkrDt||}|r&|}ndS|||d}|sDdS|d kr||dd krddS||d|\}}|dkr|S|||d}|sdS|dkrB|dSqBdS) Nr rr rr()'"#)rr)rQrNr,r-)rrrOrr3rr0r2rrr_parse_doctype_attlistsX       z!ParserBase._parse_doctype_attlistcCs|||\}}|dkr|S|j}|||d}|s:dS|dkrJ|dS|dkrnt||}|sddS|}q"|||\}}|dkr"|Sq"dS)Nrr r rrU)r)rr,r-)rrrOr3rrr0r2rrr_parse_doctype_notation=s"  z"ParserBase._parse_doctype_notationcCs|j}|||ddkrR|d}|||d}|s:dS|rP|d}q"qVq"n|}|||\}}|dkrr|S|j||d}|sdS|dkrt||}|r|}qdSqr|dkr|dS|||\}}|dkrr|SqrdS)Nr rJr rrUr)rrNr)r,r-)rrrOrrr0r3r2rrr_parse_doctype_entityTs4   z ParserBase._parse_doctype_entitycCs|j}t|}||krdSt||}|r\|}|}|t||krLdS||fS||||d|||ddS)N)Nr zexpected name token at %r) rr&_declname_matchgroupstriplowerr-rr )rrrOrr/r2rPr3rrrr)xs  zParserBase._scan_namecCsdSrr)rr1rrrr+szParserBase.unknown_declN)r )r )__name__ __module__ __qualname__r r rrrr*r4r(r'r.rRrWrXrYr)r+rrrrrs  R  C 9$r) recompilerCr[r,rFr>r@rrrrrs