+
     Big9                        R t ^ RIt]P                  ! R4      P                  t]P                  ! R4      P                  t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      tA ! R R4      t	R# )	zShared support for scanning document type declarations in HTML and XHTML.

This module is used as a foundation for the html.parser module.  It has no
documented public API and should not be used directly.

Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z	]\s*]\s*>z]\s*>c                      a  ] tR t^t o RtR tR tR tR tRt	R t
RR ltRR	 ltR
 tR tR tR tR tR tR tRtV tR# )
ParserBasezeParser base class which provides some common support methods used
by the SGML/HTML and XHTML parsers.c                D    V P                   \        J d   \        R 4      hR# )z)_markupbase.ParserBase must be subclassedN)	__class__r   RuntimeErrorselfs   &"/usr/lib/python3.14/_markupbase.py__init__ParserBase.__init__   s#    >>Z';= = (    c                "    ^V n         ^ V n        R# )   Nlinenooffsetr   s   &r	   resetParserBase.reset    s    r   c                2    V P                   V P                  3# )z&Return current line number and offset.r   r   s   &r	   getposParserBase.getpos$   s    {{DKK''r   c                    W8  d   V# V P                   pVP                  R W4      pV'       dA   V P                  V,           V n        VP                  R W4      pW%^,           ,
          V n        V# V P                  V,           V,
          V n        V# )
)rawdatacountr   rindexr   )r   ijr   nlinesposs   &&&   r	   	updateposParserBase.updatepos,   sw    6H,,tQ*++.DK..q,CU)DK  ++/!+DKr    c                   V P                   pV^,           pW#V^,            R8X  d
   V^,           # W#V^,            R9   d   R# \        V4      pW#V^,            R8X  d   V P                  V4      # W#,          R8X  d   V P                  V4      # V P	                  W14      w  rSV^ 8  d   V# VR8X  d   RV n        W48  Ed(   W#,          pVR8X  dG   W!^,           V pVR8X  d   V P                  V4       V^,           # V P                  V4       V^,           # VR9   d'   \        W#4      pV'       g   R# VP                  4       pMVR9   d   V P	                  W14      w  rM~W`P
                  9   d   V^,           pMdVR8X  dF   VR8X  d   V P                  V^,           V4      pM<VR9   d   \        RV,          4      h\        R	4      h\        R
W#,          ,          4      hV^ 8  g   EK,  V# R# )   >r"   z--[doctypez"'4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)-r"   >   linkattlistelementlinktype)r   lenparse_commentparse_marked_section
_scan_name_decl_othercharshandle_declunknown_decl_declstringlit_matchend_parse_doctype_subsetAssertionError)
r   r   r   r   ndecltypecdatamnames
   &&        r	   parse_declarationParserBase.parse_declaration<   s    ,,EQqS>S q5LQqS>Y& ILQqS>T!%%a((Z3
 ,,Q////!/KHq5Hy $&D!e
ACxs1~y($$T* 1u %%d+1uEz(4IEEGLL//!/a+++Ecy(221q5!<A!KK
 ))QT\)\]]()MNN$%H7:%UVV1u	r   c                   V P                   pV P                  V^,           V4      w  rEV^ 8  d   V# VR9   d   \        P                  W1^,           4      pM?VR9   d   \        P                  W1^,           4      pM\        RW1^,           V ,          4      hV'       g   R# V'       d,   VP                  ^ 4      pV P                  W1^,           V 4       VP                  ^ 4      # )   z+unknown status keyword %r in marked section>   tempcdataignorercdatainclude>   ifelseendifr*   )	r   r2   _markedsectionclosesearch_msmarkedsectioncloser9   startr5   r7   )r   r   reportr   sectNamer   matchs   &&&    r	   r1   ParserBase.parse_marked_section   s    ooqsA/q5HGG&--gs;E00(//1=E =!AN  IAAgc1o.yy|r   c                $   V P                   pW1V^,            R8w  d   \        R4      h\        P                  W1^,           4      pV'       g   R# V'       d,   VP	                  ^ 4      pV P                  W1^,           V 4       VP                  ^ 4      # )   <!--z"unexpected call to parse_comment()r*   )r   r9   _commentcloserM   rO   handle_commentr7   )r   r   rP   r   rR   r   s   &&&   r	   r0   ParserBase.parse_comment   sw    ,,QqS>V# !EFF$$Wc2IAA!Q0yy|r   c                   V P                   p\        V4      pTpWT8  Ed,   W5,          pVR 8X  Ed   W5V^,            pVR 8X  d   R# VR8w  d+   V P                  W%^,           4       \        RV,          4      hV^,           V8X  d   R# V^,           V8  d   R# W5V^,            R8X  d   V P	                  V^ R7      pV^ 8  d   V# K  V P                  V^,           V4      w  rVR8X  d   R# VR9  d+   V P                  W%^,           4       \        RV,          4      h\        V RV,           4      p	V	! WR4      pV^ 8  d   V# EK&  VR8X  dQ   V^,           V8X  d   R# V P                  V^,           V4      w  ruV^ 8  d   V# W5,          R8X  d   V^,           pEKz  EK}  VR	8X  dj   V^,           pWT8  d(   W5,          P                  4       '       d   V^,           pK-  WT8  d,   W5,          R
8X  d   V# V P                  W%4       \        R4      hR# VP                  4       '       d   V^,           pEK  V P                  W%4       \        RV,          4      hR# )<z<!z*unexpected char in internal subset (in %r)rV   )rP   z)unknown declaration %r in internal subset_parse_doctype_%;]r%   z%unexpected char after internal subsetz%unexpected char %r in internal subsetr*   >   entityr,   r-   notation)r   r/   r    r9   r0   r2   getattrisspace)
r   r   declstartposr   r:   r   r<   sr?   meths
   &&&       r	   r8    ParserBase._parse_doctype_subset   s,   ,,Le
ACxacN8I9NN<Q7(DqH  Ea<IEQ;IQqS>V+**1Q*7A1u //!a%>7IKKNN<Q7(CdJ  t%6%=>)q5H cEa<Iq1ul;q5H:$AA %cEe
 2 2 4 4AA5zS( NN<3()PQQIE|/$%Lq%PQQ	r   c                    V P                  W4      w  r4VR8X  d   R# V P                  pRWTR 9   d   VP                  RV4      ^,           # R# )r   r%   Nr*   )r2   r   find)r   r   rd   r?   r   r   s   &&&   r	   _parse_doctype_element!ParserBase._parse_doctype_element   sN    //!27I,,'"+<<Q'!++	r   c                @   V P                   pV P                  W4      w  rEW5V^,            pVR8X  d   R# VR8X  d
   V^,           #  V P                  WR4      w  rEV^ 8  d   V# W5V^,            pVR8X  d   R# VR8X  d]   RW5R 9   d   VP                  RV4      ^,           pMR# W5V^,            P                  4       '       d   V^,           pK*  W5R '       g   R# MV P                  WR4      w  rEW5V^,            pV'       g   R# VR9   d<   \	        W54      pV'       d   VP                  4       pMR# W5V^,            pV'       g   R# VR8X  dE   W5R R8X  d   R# V P                  V^,           V4      w  rEV^ 8  d   V# W5V^,            pV'       g   R# VR8X  g   EKS  V^,           # )	r   r"   r%   ()N'"#r*   )r   r2   ri   rc   r6   r7   )r   r   rd   r   r?   r   r<   r>   s   &&&     r	   _parse_doctype_attlist!ParserBase._parse_doctype_attlist  s   ,,//!2acN7I8q5L ooa6GD1u!A#ABw	Cx'"+%S!,q0AI!n,,..AAr{I # //!:!A#A	Ez(4AIacNICx2;#%I//!a%>q5HacNICx1ur   c                6   V P                  W4      w  r4V^ 8  d   V# V P                  p WTV^,            pV'       g   R# VR8X  d
   V^,           # VR9   d(   \        WT4      pV'       g   R# VP                  4       pKT  V P                  WB4      w  r4V^ 8  g   Kp  V# )    r%   ro   r*   )r2   r   r6   r7   )r   r   rd   r?   r   r   r<   r>   s   &&&     r	   _parse_doctype_notation"ParserBase._parse_doctype_notation=  s    //!2q5H,,!A#A	Cx1uEz(4IEEG//!:q5Hr   c                   V P                   pW1V^,            R8X  dB   V^,           p W4V^,            pV'       g   R# VP                  4       '       d   V^,           pK7  MTpV P                  WB4      w  rdV^ 8  d   V#  V P                   WD^,            pV'       g   R# VR9   d(   \        W44      pV'       d   VP	                  4       pKL  R# VR8X  d
   V^,           # V P                  WB4      w  rdV^ 8  g   Kz  V# )r   r]   ro   r%   r*   )r   rc   r2   r6   r7   )r   r   rd   r   r   r<   r?   r>   s   &&&     r	   _parse_doctype_entity ParserBase._parse_doctype_entityT  s    ,,QqS>S AAacNI99;;AAA//!2q5HQs#A	Ez(4AIc1u//!:q5Hr   c                p   V P                   p\        V4      pW8X  d   R# \        W14      pV'       dZ   VP                  4       pVP	                  4       pV\        V4      ,           V8X  d   R# VP                  4       VP                  4       3# V P                  W!4       \        RW2V^,            ,          4      h)Nzexpected name token at %r)Nr*   )	r   r/   _declname_matchgroupstriplowerr7   r    r9   )r   r   rd   r   r:   r>   re   r?   s   &&&     r	   r2   ParserBase._scan_namex  s    ,,L6OG'	A779DCF
q ::<((NN<+ +g<PR?.SS r   c                    R # )N )r   r=   s   &&r	   r5   ParserBase.unknown_decl  s    r   )r3   r   r   N)r   )__name__
__module____qualname____firstlineno____doc__r
   r   r   r    r3   r@   r1   r0   r8   rj   rq   ru   rx   r2   r5   __static_attributes____classdictcell__)__classdict__s   @r	   r   r      sc     +=
( Mb0
CL6r. H& r   r   )
r   recompilerR   r{   r6   rW   rL   rN   r   r   r   r	   <module>r      sw    
**:;AAzz"<=CC 

9%jj. 
 

8, u ur   