
    Xh                        d dl Z d dlZd dlmZmZmZmZ ddlmZ dZ	d e j                  ej                        z   dz   ZdZ e j                  d	      Z e j                  d
      Z e j                  d      Z e j                  de	z   dz         Z e j                  dez   dz   ez   dz         Z e j                  d      ZdZdZdZdZ e j                  edz         Z e j                  e	dz         Z e j                  dez   dz         ZdedefdZdededeeeef   ed   f   fd Zded!edeeeef   ed   f   fd"Z d(ded!ed#e!deeeef   ed   f   fd$Z"ded!ed%edeeeef   ed   f   fd&Z#dededeeeeef   ef   ed   f   fd'Z$y))    N)AnyDictTupleUnion   )
escape_urlz(?<!\\)(?:\\\\)*[]z(?:[^\\\[\]]|\\.){0,500}z[ \t]*\n?[ \t]*<z<([^<>\n\\\x00]*)>z[ \t]*\n?[ \t]*([^\s]+)(?:\s|$)z)[ \t]*\n?[ \t]*([^ \t\n]*?)(?:[ \t\n]|(?:z\)))z[ \t\n]+("(?:\\z|[^"\x00])*"|'(?:\\z|[^'\x00])*')z\s*\)z[A-Za-z][A-Za-z0-9-]*zU(?:\s+[A-Za-z_:][A-Za-z0-9_.:-]*(?:\s*=\s*(?:[^ !"\'=<>`]+|\'[^\']*?\'|"[^\"]*?"))?)*)?addressarticleasidebasebasefont
blockquotebodycaptioncentercolcolgroupdddetailsdialogdirdivdldtfieldset
figcaptionfigurefooterformframeframeseth1h2h3h4h5h6headheaderhrhtmliframelegendlilinkmainmenumenuitemmetanavnoframesoloptgroupoptionpparamsectionsourcesummarytabletbodytdtfootththeadtitletrtrackul)prescriptstyletextareaz\]z[\[\]]z\\()textreturnc                 .    t         j                  d|       S )Nz\1)_ESCAPE_CHAR_REsub)rO   s    C/var/www/html/myenv/lib/python3.12/site-packages/mistune/helpers.pyunescape_charrU   j   s    ud++    srcposNNc                    d}d}|}|t        |       k  r`t        j                  | |      }|snG|j                         }|j	                  d      }|dk(  r|dz  }|dk(  rd}n|dz  }|t        |       k  r`|r| ||dz
   }||fS y)Nr   Fr   r
   TrY   )len_INLINE_SQUARE_BRACKET_REsearchendgroup)rW   rX   levelfound	start_posmmarkerrO   s           rT   parse_link_textre   n   s    EEI
C.%,,S#6eegS=QJEzQJE C. 9sQw'SyrV   rb   c                     t         j                  | |      }|r&|j                  d      d d }||j                         fS y)Nr   rY   )_INLINE_LINK_LABEL_REmatchr_   r^   )rW   rb   rc   labels       rT   parse_link_labelrk      s=    ##C3A
3Baeeg~rV   blockc                    t         j                  | |      }|rM|j                         dz
  }t        j                  | |      }|r!|j	                  d      |j                         fS y|rt
        j                  | |      }nt        j                  | |      }|sy|j                         }|j	                  d      }|r| |dz
     |d   k(  r||fS ||dz
  fS )Nr   rY   rg   )LINK_BRACKET_STARTri   r^   LINK_BRACKET_REr_   LINK_HREF_BLOCK_RELINK_HREF_INLINE_RE)rW   rb   rl   rc   end_poshrefs         rT   parse_link_hrefrt      s      i0AEEGaK	!!#y1771:quuw&&$$S)4%%c95eegG771:DWq[!T"X-W}1rV   max_posc                     t         j                  | ||      }|r1|j                  d      dd }t        |      }||j	                         fS y)Nr   rg   rY   )LINK_TITLE_REri   r_   rU   r^   )rW   rb   ru   rc   rF   s        rT   parse_link_titlerx      sJ    CG4A
1R e$aeeg~rV   c                     t        | |      \  }}|y|J t        | |t        |             \  }}|xs |}t        j	                  | |      }|syt        |      }dt        |      i}|r||d<   ||j                         fS )NrY   urlrF   )rt   rx   r[   PAREN_END_REri   rU   r   r^   )	rW   rX   rs   href_posrF   	title_posnext_posrc   attrss	            rT   
parse_linkr      s    $S#.ND(|'Xs3x@E9$HH3)ADJt$%Eg!%%'>rV   )F)%restringtypingr   r   r   r   utilr   PREVENT_BACKSLASHescapepunctuationPUNCTUATION
LINK_LABELcompilern   ro   rp   rq   rw   r{   HTML_TAGNAMEHTML_ATTRIBUTES
BLOCK_TAGSPRE_TAGSrh   r\   rR   strrU   intre   rk   boolrt   rx   r    rV   rT   <module>r      su   	  * * ' YRYYv1122T9(
RZZ 34 "**23RZZ BC  bjj!() 
 

		 rzz(#'= 
@
B 2"

:#56 &BJJ'89'DE "**Vk1D89, , , 3 5sCx%
BS1S+T 4# # %c3hzIZ8Z2[   T eERUWZRZO]bcm]nLnFo 2# #  eCQTHoW\]gWhFh@i C c eE$sCx.#2E,FjHY,Y&Z rV   