+
    7*iL  c                   s:    R t ^ RItRtR R ltR R ltR R ltR# )	zMAlias generators for converting between different capitalization conventions.Nc                0    V ^8  d   QhR\         R\         /#    snakereturnZstrZformat   ">/usr/lib/python3.14/site-packages/pydantic/alias_generators.py__annotate__r	      s     
M 
MS 
MS 
M    c                sT    V P                  4       p\        P                  ! RR V4      # )zyConvert a snake_case string to PascalCase.

Args:
    snake: The string to convert.

Returns:
    The PascalCase string.
z([0-9A-Za-z])_(?=[0-9A-Z])c                 s$    V P                  ^4      #    groupZm   &r   <lambda>Zto_pascal.<locals>.<lambda>   s    !''!*r
   )Ztitleresubr   camel   & r   	to_pascalr      s$     KKME66.0DeLLr
   c                r    r   r   r   r   r   r	   r	      s     E EC EC Er
   c                s    \         P                  ! RV 4      '       d    \         P                  ! RV 4      '       g   V # \        V 4      p\         P                  ! RR V4      # )zConvert a snake_case string to camelCase.

Args:
    snake: The string to convert.

Returns:
    The converted camelCase string.
z^[a-z]+[A-Za-z0-9]*$z\d[a-z]z
(^_*[A-Z])c                 s@    V P                  ^4      P                  4       # r   )r   lowerr   r   r   r   Zto_camel.<locals>.<lambda>(   s    !''!**:*:*<r
   )r   ZmatchZsearchr   r   r   r   r   to_camelr      sI     
xx&..ryyU7S7SeE66, <eDDr
   c                r    )r   r   r   r   r   r   r   r	   r	   +   s      C C r
   c                s   \         P                  ! RR V 4      p\         P                  ! RR V4      p\         P                  ! RR V4      p\         P                  ! RR V4      pVP                  R	R
4      pVP                  4       # )zConvert a PascalCase, camelCase, or kebab-case string to snake_case.

Args:
    camel: The string to convert.

Returns:
    The converted string in snake_case.
z([A-Z]+)([A-Z][a-z])c                 L    V P                  ^4       RV P                  ^4       2# r   _r   r   r   r   r   to_snake.<locals>.<lambda>5   s    Aaggaj\6Rr
   z([a-z])([A-Z])c                 r   r   r   r   r   r   r   r   7       1771:,a
|0Lr
   z([0-9])([A-Z])c                 r   r   r   r   r   r   r   r   9   r   r
   z([a-z])([0-9])c                 r   r   r   r   r   r   r   r   ;   r   r
   Z-r   )r   r   Zreplacer   )r   r   r   r   to_snaker   +   sq     FF*,RTYZEFF$&LeTEFF$&LeTEFF$&LeTEMM#s#E;;=r
   )r   r   r   )Z__doc__r   Z__all__r   r   r   ) r
   r   <module>r       s!    S 	
/
ME$r
   