ó
    *)–h3  ã                   óª   • S SK r S SKrS SKr " S S5      r\R                  S4S jrS rSS jrS rS	 r	S
 r
S rS rS rS rS rS rS rS rS rg)é    Nc                   ó,   • \ rS rSrSrSrSrSrSrSr	Sr
g	)
ÚColoré   zANSI Terminal colorsz[1;32mz[1;34mz[1;33mz[1;31mz[0m© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚGREENÚBLUEÚYELLOWÚREDÚENDÚ__static_attributes__r   ó    Ú$/usr/share/glib-2.0/codegen/utils.pyr   r      s   † Ùà€EØ€DØ€FØ
€CØ
ƒCr   r   ÚMESSAGEc                 ó  • [         R                  " [        R                  R	                  5       5      (       a  SR                  X[        R                  S9nOUn[        R                  R                  SR                  X0S95        g)z"Print a string with a color prefixz{start}{prefix}{end})ÚstartÚprefixÚendz{prefix}: {msg}
)r   ÚmsgN)	ÚosÚisattyÚsysÚstderrÚfilenoÚformatr   r   Úwrite)r   Úcolorr   Úreal_prefixs       r   Úprint_colorr#   (   sd   € ä	‡y‚y”—‘×"Ñ"Ó$×%Ñ%Ø,×3Ñ3Ø¬E¯I©Ið 4ð 
‰ð ˆÜ‡J�J×ÑÐ(×/Ñ/°{Ð/ÐLÕMr   c                 ób   • [        U [        R                  SS9  [        R                  " S5        g)zPrint an error, and terminateÚERROR©r!   r   é   N)r#   r   r   r   Úexit©r   s    r   Úprint_errorr*   3   s   € ä�œ5Ÿ9™9¨WÒ5Ü‡H‚HˆQ…Kr   c                 ó°   • U(       a  [         R                  nSnO[         R                  nSn[        XU5        U(       a  [        R
                  " S5        gg)z)Print a warning, and optionally terminater%   ÚWARNINGr'   N)r   r   r   r#   r   r(   )r   Úfatalr!   r   s       r   Úprint_warningr.   9   s>   € æÜ—	‘	ˆØ‰ä—‘ˆØˆÜ�˜FÔ#ÞÜ�Š��ð r   c                 ó6   • [        U [        R                  SS9  g)zPrint a messageÚINFOr&   N)r#   r   r   r)   s    r   Ú
print_infor1   F   s   € ä�œ5Ÿ;™;¨vÓ6r   c                 óv   • SnSnU  H.  nUS:X  a  SnM  U(       a  XR                  5       -  nSnM*  X-  nM0     U$ )NÚ FÚ.T)Úupper)ÚsÚretÚforce_upperÚcs       r   Ú
strip_dotsr:   K   sF   € Ø
€CØ€KÛˆØ�‹8ØŠKæØ—w‘w“yÑ �Ø#’à‘’ñ ð €Jr   c                 ó&   • U R                  SS5      $ )Nr4   Ú-)Úreplace©r6   s    r   Údots_to_hyphensr?   Z   s   € Ø�9‰9�S˜#ÓÐr   c                 óÚ   • SnSnSnSnU  H\  nU(       a  US:X  a  US-  nM  SnUR                  5       (       a  U(       a  SnSnOSnU(       a  US-  nXR                  5       -  nSnM^     U$ )Nr3   FTÚ_)ÚisupperÚlower)r6   r7   Úinsert_uscoreÚprev_was_lowerÚinitialr9   s         r   Úcamel_case_to_uscorerG   ^   s}   € Ø
€CØ€MØ€NØ€GÛˆæ�q˜C“xØ�3‰JˆCÙØˆà�9‰9�;‰;ÞØ $�Ø"‰Nà!ˆNÞØ�3‰JˆCØ�w‰w‹yÑˆØŠñ! ð" €Jr   c           	      óÈ   • SR                  U R                  S5       V s/ s H2  o (       a'  U S   R                  5       U SS  R                  5       -   OSPM4     sn 5      $ s  sn f )Nr3   rA   r   r'   )ÚjoinÚsplitr5   rC   r>   s    r   Úuscore_to_camel_caserK   w   sN   € Ø�7‰7ÈÏÉÐPSÌÓUÊÀ1µA�A�a‘D—J‘J“L 1 Q R 5§;¡;£=Ò0¸3Ò>ÉÑUÓVÐVùÒUs   Ÿ9Ac                 ó>   • U (       a  U R                  S5      S:”  a  gg)NrA   r   TF)Úfindr>   s    r   Úis_ugly_caserN   {   s   € ÞˆQ�V‰V�C‹[˜1‹_ØØr   c                 ó`   • U (       a'  U  H!  nUR                   U:X  d  M  UR                  s  $    g )N)ÚkeyÚvalue)ÚannotationsrP   Úas      r   Úlookup_annotationrT   �   s(   € ÞÛˆAØ�u‰u˜�|Ø—w‘w’ñ ð r   c                 ó&   • [        U S5      nUc  gU$ )Nzorg.gtk.GDBus.DocStringr3   ©rT   ©rR   r6   s     r   Úlookup_docsrX   ‰   s   € Ü˜+Ð'@ÓA€AØ�yØàˆr   c                 ó&   • [        U S5      nUc  gU$ )Nzorg.gtk.GDBus.Sincer3   rV   rW   s     r   Úlookup_sincerZ   ‘   s   € Ü˜+Ð'<Ó=€AØ�yØàˆr   c                 ó&   • [        U S5      nUc  gU$ )Nzorg.gtk.GDBus.DocString.Shortr3   rV   rW   s     r   Úlookup_brief_docsr\   ™   s   € Ü˜+Ð'FÓG€AØ�yØàˆr   c                 óp   • U S   S:X  a  SnOU S   (       a  [        U S   5      nOSn[        U5      U S   4$ )Nr   Ú
UNRELEASEDÚ9999Ú0r'   )ÚstrÚ_parse_version)rP   Úvs     r   Úversion_cmp_keyrd   ¡   sB   € ð ˆ1�v�ÓØ‰Ø	ˆQ�Ü��A‘‹K‰àˆÜ˜1Ó˜s 1™vÐ&Ð&r   c                 óž   • [         R                  " SU 5      nU Vs/ s H$  o"R                  5       (       a  [        U5      OUPM&     sn$ s  snf )a  
Parse a version string into a list of integers and strings.

This function takes a version string and breaks it down into its component parts.
It separates numeric and non-numeric segments, converting numeric segments to integers.

Args:
    version (str): The version string to parse.

Returns:
    list: A list where each element is either an integer (for numeric parts)
          or a string (for non-numeric parts).

Example:
    >>> parseversion("1.2.3a")
    [1, 2, 3, 'a']
    >>> parseversion("2.0.0-rc1")
    [2, 0, 0, 'rc1']
z	(\d+|\w+))ÚreÚfindallÚisdigitÚint)ÚversionÚblocksÚbs      r   rb   rb   ®   s=   € ô( �ZŠZ˜ gÓ.€FÙ28Ó9²&¨Q—i‘i—k‘kŒC�ŒF qÒ(±&Ñ9Ð9ùÒ9s   œ+A
)F)r   r   rf   r   r   r#   r*   r.   r1   r:   r?   rG   rK   rN   rT   rX   rZ   r\   rd   rb   r   r   r   Ú<module>rm      sr   ðó0 
Û 
Û 	÷ñ ð !Ÿ9™9¨Yô Nòô
ò7ò
òòò2Wòòòòòò
'ó:r   