
    g%              
           d dl Z ddlmZ ddlmZ  e j
                  e      Zdededefd	Z	dededefd
Z
dededdfdZdededededef
dZy)    N   )
isStrSpace   )
StateBlockstate	startLinereturnc                     | j                   |   | j                  |   z   }| j                  |   }	 | j                  |   }|dz  }|dvry||k  r| j                  |   }t        |      sy|S # t        $ r Y yw xY w)Nr   )*-+)bMarkstShifteMarkssrc
IndexErrorr   )r   r   posmaximummarkerchs         Q/var/www/openai/venv/lib/python3.12/site-packages/markdown_it/rules_block/list.pyskipBulletListMarkerr      s    
,,y
!ELL$;
;Cll9%G3 1HC_$
W}YYs^"~J  s   A+ +	A76A7c                    | j                   |   | j                  |   z   }|}| j                  |   }|dz   |k\  ry| j                  |   }|dz  }t	        |      }|dk  s|dkD  ry	 ||k\  ry| j                  |   }|dz  }t	        |      }|dk\  r|dk  r
||z
  dk\  ry:|dv rny||k  r| j                  |   }t        |      sy|S )Nr   r   0   9   
   )).)r   r   r   r   ordr   )r   r   startr   r   r   ch_ords          r   skipOrderedListMarkerr#   %   s    LL#ell9&==E
Cll9%G Qw'	3B1HCWF}
'>YYs^q RT>fn U{b  
W}YYs^"~J    idxc                 N   | j                   dz   }|dz   }t        | j                        dz
  }||k  rt| j                  |   j                   |k(  rL| j                  |   j                  dk(  r0d| j                  |dz      _        d| j                  |   _        |dz  }|dz  }||k  rsy y )Nr   paragraph_openTr   )levellentokenstypehidden)r   r%   r(   ilengths        r   markTightParagraphsr/   X   s    KK!OEaA"F
f*<<?  E)ell1o.B.BFV.V)-ELLQ&%)ELLO"FA	Q f*r$   endLinesilentc                    t         j                  d| |||       d}d}| j                  |      ry| j                  dk\  r<| j                  |   | j                  z
  dk\  r| j                  |   | j
                  k  ry|r-| j                  dk(  r| j                  |   | j
                  k\  rd}t        | |      }|dk\  rDd}| j                  |   | j                  |   z   }t        | j                  ||dz
         }	|r|	dk7  ryt        | |      }|dk\  rd}ny|r"| j                  |      | j                  |   k\  ry| j                  |dz
     }
|ryt        | j                         }|r"| j#                  dd	d      }	dk7  rd
|	i|_        n| j#                  ddd      }|dgx|_        }|
|_        |}d}| j*                  j,                  j.                  j1                  d      }| j                  }d| _        ||k  r9|}| j                  |   }| j                  |   |z   | j                  |   | j                  |   z   z
  x}}||k  rG| j                  |   }|dk(  r|d|| j2                  |   z   dz  z
  z  }n|dk(  r|dz  }nn|dz  }||k  rG|}||k\  rdn||z
  }|dkD  rd}||z   }| j#                  ddd      }|
|_        |dgx|_        }|r| j                  |dz
   |_        | j6                  }| j                  |   }| j                  |   }| j                  }| j
                  | _        || _        d| _        || j                  |   z
  | j                  |<   || j                  |<   ||k\  r3| j9                  |dz         rt;        | j<                  dz   |      | _        n'| j*                  j,                  j?                  | ||       | j6                  r|rd}| j<                  |z
  dkD  xr | j9                  | j<                  dz
        }| j                  | _        || _        || j                  |<   || j                  |<   || _        | j#                  ddd      }|
|_        | j<                  x}}||d<   ||k\  rn| j                  |   }| j                  |   | j
                  k  rn| j                  |      rn~d}|D ]  }  | | ||d      sd} n |rnc|r2t        | |      }|dk  rnO| j                  |   | j                  |   z   }nt        | |      }|dk  rn|
| j                  |dz
     k7  rn||k  r9|r| j#                  dd	d      }n| j#                  ddd      }|
|_        ||d<   || _        || _        |rtA        | |       y)Nzentering list: %s, %s, %s, %sFTr      	paragraphr   ordered_list_openolr!   bullet_list_openullist	 list_item_openlir   list_item_closer   ordered_list_closebullet_list_close)!LOGGERdebugis_code_block
listIndentsCount	blkIndent
parentTyper#   r   r   intr   r   
skipSpacesr   r)   r*   pushattrsmapmarkupmdblockrulergetRulesbsCountinfotightisEmptyminlinetokenizer/   )!r   r   r0   r1   isTerminatingParagraphrT   posAfterMarker	isOrderedr!   markerValue
markerChar
listTokIdxtoken	listLinesnextLineprevEmptyEndterminatorRulesoldParentTyper   r   initialoffsetr   contentStartindentAfterMarkerindent	itemLinesoldTight	oldTShift	oldSCountoldListIndent	terminateterminatorRules!                                    r   
list_blockrq   e   s   
LL0%GVT"E9% 	ALL#e&6&66!;LL#eoo5 	+LL#u6!% +5)<N	Y'%,,y*AA%))ENQ,>?@ "kQ&6-eY?QI
 	^,Y0GG >A-.J  U\\"J

.a8!"K0EK 

-tQ7&N*EI	EL HLhhnn**33F;O$$ME
W
,,x( LL"||I&i)@@B	
& Gm3BTz!vh(??1DDDs!1HC Gm  ".!8Afw>N q  ! ,, 

+T15!!*A.	I5>A+=>EJ ;;LL+	LL+	 (( ?? ".i1H"HY"(Y7"u}}Y]'C UZZ!^W5EJ
 HHNN##E9g> E 

Y.!3UejjSTn8U**("+Y"+Y

,dB7!$zz)9	!w||I.
 <<!EOO3y) 	-NeXw= 	 .
  25(CN!LL*U\\(-CCE1%BN!>A#566G W
L 

/r:

.b9ELIaLEJ$E E:.r$   )loggingcommon.utilsr   state_blockr   	getLogger__name__rA   rH   r   r#   r/   boolrq    r$   r   <module>ry      s     % #			8	$

 s s 20 0 0 0f
z 
 
 
tj tS t3 t tQU tr$   