+
    i  c                   sB    R t ^ RItR.t]P                  ! R4      tR tR# )z!
Generic dylib path manipulation
N
dylib_infoz(?x)
(?P<location>^.*)(?:^|/)
(?P<name>
    (?P<shortname>\w+?)
    (?:\.(?P<version>[^._]+))?
    (?:_(?P<suffix>[^._]+))?
    \.dylib$
)
c                s`    \         P                  V 4      pV'       g   R# VP                  4       # )a  
A dylib name can take one of the following four forms:
    Location/Name.SomeVersion_Suffix.dylib
    Location/Name.SomeVersion.dylib
    Location/Name_Suffix.dylib
    Location/Name.dylib

returns None if not found or a mapping equivalent to:
    dict(
        location='Location',
        name='Name.SomeVersion_Suffix.dylib',
        shortname='Name',
        version='SomeVersion',
        suffix='Suffix',
    )

Note that SomeVersion and Suffix are optional and may be None
if not present.
N)DYLIB_REZmatchZ	groupdict)ZfilenameZis_dylibs   & ./usr/lib64/python3.14/ctypes/macholib/dylib.pyr    r       s'    ( ~~h'H    )Z__doc__ZreZ__all__Zcompiler   r    ) r   r   <module>r      s.    
.::   r   