a
    'ñ»j  ã                   @   sL   d dl Z ddlmZmZmZ ddlmZ e  e¡Z	ee
e
eedœdd„ZdS )	é    Né   )Ú
charCodeAtÚisSpaceÚnormalizeReferenceé   )Ú
StateBlock)ÚstateÚ	startLineÚ_endLineÚsilentÚreturnc                 C   s  t  d| |||¡ d}| j| | j|  }| j| }|d }|  |¡rJdS | j| dkr\dS ||k r¶| j| dkr¬| j|d  dkr¬|d |kr”dS | j|d  dkr¶dS q¶|d7 }q\| j}| jj	j
 d	¡}	| j}
d	| _||k �rf|  |¡�sf| j| | j d
k�r|d7 }qØ| j| dk �r(|d7 }qØd}|	D ] }|| ||dƒ�r0d} �qR�q0|�r\�qf|d7 }qØ|  ||| jd¡ ¡ }t|ƒ}d }d}||k �rt||ƒ}|dk�r®dS |dk�rÂ|}�qnH|dk�rÖ|d7 }n4|dk�r
|d7 }||k �r
t||ƒdk�r
|d7 }|d7 }�qŒ|d u �s>|dk �s>t||d ƒdk�rBdS |d }||k �rŽt||ƒ}|dk�rr|d7 }nt|ƒ�rŽn�qŽ|d7 }�qJ| jj |||¡}|j�s¬dS | j |j¡}| j |¡�sÌdS |j}||j7 }|}|}|}||k �r,t||ƒ}|dk�r|d7 }nt|ƒ�r,n�q,|d7 }�qè| jj |||¡}||k �rr||k�rr|j�rr|j}|j}||j7 }nd}|}|}||k �r¬t||ƒ}t|ƒ�s �q¬|d7 }�q~||k �rt||ƒdk�r|�rd}|}|}||k �rt||ƒ}t|ƒ�sú�q|d7 }�qØ||k �r$t||ƒdk�r$dS t|d|… ƒ}|�s>dS |�rHdS d| jv�r^i | jd< || d | _ | jj! "dd¡�r°|  #ddd¡}||||d|… dœ|_$|| j g|_%|| jd v�rÞ|||| j gdœ| jd |< n$| j &dg ¡ '||||| j gdœ¡ |
| _dS )Nz"entering reference: %s, %s, %s, %sr   r   Fú[ú]ú\ú:Ú	referenceé   Té[   é]   é
   é\   é:   r   Ú Z
referencesZinline_definitionsZ
definition)ÚidÚtitleÚurlÚlabel)r   ÚhrefÚmapZduplicate_refs)r   r   r   r   )(ÚLOGGERÚdebugZbMarksZtShiftZeMarksZis_code_blockÚsrcZlineMaxÚmdÚblockZrulerZgetRulesZ
parentTypeZisEmptyZsCountZ	blkIndentZgetLinesÚstripÚlenr   r   ZhelpersZparseLinkDestinationÚokZnormalizeLinkÚstrZvalidateLinkÚposÚlinesZparseLinkTitler   ÚenvÚlineÚoptionsÚgetÚpushÚmetar   Ú
setdefaultÚappend)r   r	   r
   r   r)   r(   ÚmaximumZnextLineZendLineZterminatorRulesZoldParentTypeÚ	terminateZterminatorRuleÚstringZlabelEndÚchÚresr   Z
destEndPosZdestEndLineNoÚstartr   r   Útoken© r9   úGE:\soccer\ml_env\Lib\site-packages\markdown_it/rules_block/reference.pyr   	   s"   
ÿ

 









ÿÿÿ













 




üýüÿ	r   )ÚloggingZcommon.utilsr   r   r   Zstate_blockr   Ú	getLoggerÚ__name__r   ÚintÚboolr   r9   r9   r9   r:   Ú<module>   s   
