�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!PK]&1]7|A A framework.pycnu[ {fc@sVdZddlZdgZejdZdZdZedkrRendS(s% Generic framework path manipulation iNtframework_infos(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCs#tj|}|sdS|jS(s} A framework name can take one of the following four forms: Location/Name.framework/Versions/SomeVersion/Name_Suffix Location/Name.framework/Versions/SomeVersion/Name Location/Name.framework/Name_Suffix Location/Name.framework/Name returns None if not found, or a mapping equivalent to: dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', ) Note that SomeVersion and Suffix are optional and may be None if not present N(tSTRICT_FRAMEWORK_REtmatchtNonet groupdict(tfilenamet is_framework((s1/usr/lib64/python2.7/ctypes/macholib/framework.pyRscCsKdddddd}tddks0ttddksHttddks`ttddksxttd|ddd ksttd |dd d d d ksttddksttddksttd|ddd dksttd|ddd dd ksGtdS(Nc Ss%td|d|d|d|d|S(Ntlocationtnamet shortnametversiontsuffix(tdict(RRR R R ((s1/usr/lib64/python2.7/ctypes/macholib/framework.pytd-s scompletely/invalidscompletely/invalid/_debugs P/F.frameworksP/F.framework/_debugsP/F.framework/FtPs F.framework/FtFsP/F.framework/F_debugsF.framework/F_debugR tdebugsP/F.framework/VersionssP/F.framework/Versions/AsP/F.framework/Versions/A/FsF.framework/Versions/A/FtAs P/F.framework/Versions/A/F_debugsF.framework/Versions/A/F_debug(RRtAssertionError(R ((s1/usr/lib64/python2.7/ctypes/macholib/framework.pyttest_framework_info,s$*'t__main__(t__doc__tret__all__tcompileRRRt__name__(((s1/usr/lib64/python2.7/ctypes/macholib/framework.pyts      PK]&1] dylib.pyonu[ {fc@sVdZddlZdgZejdZdZdZedkrRendS(s! Generic dylib path manipulation iNt dylib_infos(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCs#tj|}|sdS|jS(s1 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(tDYLIB_REtmatchtNonet groupdict(tfilenametis_dylib((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pyRscCsdddddd}dS(Nc Ss%td|d|d|d|d|S(Ntlocationtnamet shortnametversiontsuffix(tdict(RRR R R ((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pytd.s (R(R ((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pyttest_dylib_info-st__main__(t__doc__tret__all__tcompileRRRt__name__(((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pyts      PK]&1] @ dylib.pycnu[ {fc@sVdZddlZdgZejdZdZdZedkrRendS(s! Generic dylib path manipulation iNt dylib_infos(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCs#tj|}|sdS|jS(s1 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(tDYLIB_REtmatchtNonet groupdict(tfilenametis_dylib((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pyRscCsdddddd}tddks0ttddksHttd|dddkslttd|dd dd d ksttd |dd ddksttd|ddddksttd|ddddd kstdS(Nc Ss%td|d|d|d|d|S(Ntlocationtnamet shortnametversiontsuffix(tdict(RRR R R ((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pytd.s scompletely/invalidscompletely/invalide_debugs P/Foo.dylibtPs Foo.dylibtFoosP/Foo_debug.dylibsFoo_debug.dylibR tdebugs P/Foo.A.dylibs Foo.A.dylibtAsP/Foo_debug.A.dylibsFoo_debug.A.dylibt Foo_debugsP/Foo.A_debug.dylibsFoo.A_debug.dylib(RRtAssertionError(R ((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pyttest_dylib_info-s$*''t__main__(t__doc__tret__all__tcompileRRRt__name__(((s-/usr/lib64/python2.7/ctypes/macholib/dylib.pyts      PK]&1]K CTTfetch_macholibnuȯ#!/bin/sh svn export --force http://svn.red-bean.com/bob/macholib/trunk/macholib/ . PK]&1]}`<< __init__.pycnu[ {fc@sdZdZdS(s~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. s1.0N(t__doc__t __version__(((s0/usr/lib64/python2.7/ctypes/macholib/__init__.pytsPK]&1]J(( README.ctypesnu[Files in this directory come from Bob Ippolito's py2app. License: Any components of the py2app suite may be distributed under the MIT or PSF open source licenses. This is version 1.0, SVN revision 789, from 2006/01/25. The main repository is http://svn.red-bean.com/bob/macholib/trunk/macholib/PK]&1]SD!dylib.pynu[""" Generic dylib path manipulation """ import re __all__ = ['dylib_info'] DYLIB_RE = re.compile(r"""(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) """) def dylib_info(filename): """ 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. """ is_dylib = DYLIB_RE.match(filename) if not is_dylib: return None return is_dylib.groupdict() PK]&1]}`<< __init__.pyonu[ {fc@sdZdZdS(s~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. s1.0N(t__doc__t __version__(((s0/usr/lib64/python2.7/ctypes/macholib/__init__.pytsPK]&1]扠dyld.pynu[""" dyld emulation """ import os from ctypes.macholib.framework import framework_info from ctypes.macholib.dylib import dylib_info from itertools import * try: from _ctypes import _dyld_shared_cache_contains_path except ImportError: def _dyld_shared_cache_contains_path(*args): raise NotImplementedError __all__ = [ 'dyld_find', 'framework_find', 'framework_info', 'dylib_info', ] # These are the defaults as per man dyld(1) # DEFAULT_FRAMEWORK_FALLBACK = [ os.path.expanduser("~/Library/Frameworks"), "/Library/Frameworks", "/Network/Library/Frameworks", "/System/Library/Frameworks", ] DEFAULT_LIBRARY_FALLBACK = [ os.path.expanduser("~/lib"), "/usr/local/lib", "/lib", "/usr/lib", ] def dyld_env(env, var): if env is None: env = os.environ rval = env.get(var) if rval is None: return [] return rval.split(':') def dyld_image_suffix(env=None): if env is None: env = os.environ return env.get('DYLD_IMAGE_SUFFIX') def dyld_framework_path(env=None): return dyld_env(env, 'DYLD_FRAMEWORK_PATH') def dyld_library_path(env=None): return dyld_env(env, 'DYLD_LIBRARY_PATH') def dyld_fallback_framework_path(env=None): return dyld_env(env, 'DYLD_FALLBACK_FRAMEWORK_PATH') def dyld_fallback_library_path(env=None): return dyld_env(env, 'DYLD_FALLBACK_LIBRARY_PATH') def dyld_image_suffix_search(iterator, env=None): """For a potential path iterator, add DYLD_IMAGE_SUFFIX semantics""" suffix = dyld_image_suffix(env) if suffix is None: return iterator def _inject(iterator=iterator, suffix=suffix): for path in iterator: if path.endswith('.dylib'): yield path[:-len('.dylib')] + suffix + '.dylib' else: yield path + suffix yield path return _inject() def dyld_override_search(name, env=None): # If DYLD_FRAMEWORK_PATH is set and this dylib_name is a # framework name, use the first file that exists in the framework # path if any. If there is none go on to search the DYLD_LIBRARY_PATH # if any. framework = framework_info(name) if framework is not None: for path in dyld_framework_path(env): yield os.path.join(path, framework['name']) # If DYLD_LIBRARY_PATH is set then use the first file that exists # in the path. If none use the original name. for path in dyld_library_path(env): yield os.path.join(path, os.path.basename(name)) def dyld_executable_path_search(name, executable_path=None): # If we haven't done any searching and found a library and the # dylib_name starts with "@executable_path/" then construct the # library name. if name.startswith('@executable_path/') and executable_path is not None: yield os.path.join(executable_path, name[len('@executable_path/'):]) def dyld_default_search(name, env=None): yield name framework = framework_info(name) if framework is not None: fallback_framework_path = dyld_fallback_framework_path(env) for path in fallback_framework_path: yield os.path.join(path, framework['name']) fallback_library_path = dyld_fallback_library_path(env) for path in fallback_library_path: yield os.path.join(path, os.path.basename(name)) if framework is not None and not fallback_framework_path: for path in DEFAULT_FRAMEWORK_FALLBACK: yield os.path.join(path, framework['name']) if not fallback_library_path: for path in DEFAULT_LIBRARY_FALLBACK: yield os.path.join(path, os.path.basename(name)) def dyld_find(name, executable_path=None, env=None): """ Find a library or framework using dyld semantics """ for path in dyld_image_suffix_search(chain( dyld_override_search(name, env), dyld_executable_path_search(name, executable_path), dyld_default_search(name, env), ), env): if os.path.isfile(path): return path try: if _dyld_shared_cache_contains_path(path): return path except NotImplementedError: pass raise ValueError("dylib %s could not be found" % (name,)) def framework_find(fn, executable_path=None, env=None): """ Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current """ error = None try: return dyld_find(fn, executable_path=executable_path, env=env) except ValueError as e: error = e fmwk_index = fn.rfind('.framework') if fmwk_index == -1: fmwk_index = len(fn) fn += '.framework' fn = os.path.join(fn, os.path.basename(fn[:fmwk_index])) try: return dyld_find(fn, executable_path=executable_path, env=env) except ValueError: raise error finally: error = None PK]&1]eQQ framework.pynu[""" Generic framework path manipulation """ import re __all__ = ['framework_info'] STRICT_FRAMEWORK_RE = re.compile(r"""(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ """) def framework_info(filename): """ A framework name can take one of the following four forms: Location/Name.framework/Versions/SomeVersion/Name_Suffix Location/Name.framework/Versions/SomeVersion/Name Location/Name.framework/Name_Suffix Location/Name.framework/Name returns None if not found, or a mapping equivalent to: dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', ) Note that SomeVersion and Suffix are optional and may be None if not present """ is_framework = STRICT_FRAMEWORK_RE.match(filename) if not is_framework: return None return is_framework.groupdict() PK]&1]ʆWdyld.pycnu[ {fc@sIdZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ dZ dZ ddZddZddZddZddZddZddZddZddZdddZdddZdZed krEendS(!s dyld emulation iN(tframework_info(t dylib_info(t*t dyld_findtframework_findRRs~/Library/Frameworkss/Library/Frameworkss/Network/Library/Frameworkss/System/Library/Frameworkss~/libs/usr/local/libs/libs/usr/libcCs t|tr|jdS|S(sCNot all of PyObjC and Python understand unicode paths very well yettutf8(t isinstancetunicodetencode(ts((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyt ensure_utf8s cCsD|dkrtj}n|j|}|dkr7gS|jdS(Nt:(tNonetostenvirontgettsplit(tenvtvartrval((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_env%s    cCs%|dkrtj}n|jdS(NtDYLD_IMAGE_SUFFIX(R R RR(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_image_suffix-s  cCs t|dS(NtDYLD_FRAMEWORK_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_framework_path2scCs t|dS(NtDYLD_LIBRARY_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_library_path5scCs t|dS(NtDYLD_FALLBACK_FRAMEWORK_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_fallback_framework_path8scCs t|dS(NtDYLD_FALLBACK_LIBRARY_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_fallback_library_path;scCs2t|}|dkr|S||d}|S(s>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticscssMxF|D]>}|jdr7|td |dVn ||V|VqWdS(Ns.dylib(tendswithtlen(titeratortsuffixtpath((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyt_injectCs   N(RR (R!RR"R$((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_image_suffix_search>s   ccst|}|dk rJx/t|D]}tjj||dVq%Wnx4t|D]&}tjj|tjj|VqWWdS(Ntname(RR RR R#tjoinRtbasename(R&Rt frameworkR#((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_override_searchLs   ccs@|jdr<|dk r<tjj||tdVndS(Ns@executable_path/(t startswithR R R#R'R (R&texecutable_path((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_executable_path_search]sccs|Vt|}|dk rUt|}x)|D]}tjj||dVq0Wnt|}x.|D]&}tjj|tjj|VqhW|dk r| rx)tD]}tjj||dVqWn|s x1t D]&}tjj|tjj|VqWndS(NR&( RR RR R#R'RR(tDEFAULT_FRAMEWORK_FALLBACKtDEFAULT_LIBRARY_FALLBACK(R&RR)tfallback_framework_pathR#tfallback_library_path((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_default_searchds      $  cCst|}t|}xTttt||t||t|||D]}tjj|rO|SqOWt d|fdS(s: Find a library or framework using dyld semantics sdylib %s could not be foundN( R R%tchainR*R-R2R R#tisfilet ValueError(R&R,RR#((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyRzs      cCsyt|d|d|SWntk r/}nX|jd}|dkrdt|}|d7}ntjj|tjj|| }yt|d|d|SWntk r|nXdS(s Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current R,Rs .frameworkiN(RR5trfindR R R#R'R((tfnR,Rtet fmwk_index((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyRs    % cCs:i}tddksttddks6tdS(NslibSystem.dylibs/usr/lib/libSystem.dylibsSystem.framework/Systems2/System/Library/Frameworks/System.framework/System(RtAssertionError(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyttest_dyld_findst__main__(t__doc__R R)RtdylibRt itertoolst__all__R#t expanduserR.R/R RR RRRRRR%R*R-R2RRR;t__name__(((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyts<                  PK]&1]d/dyld.pyonu[ {fc@sIdZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ dZ dZ ddZddZddZddZddZddZddZddZddZdddZdddZdZed krEendS(!s dyld emulation iN(tframework_info(t dylib_info(t*t dyld_findtframework_findRRs~/Library/Frameworkss/Library/Frameworkss/Network/Library/Frameworkss/System/Library/Frameworkss~/libs/usr/local/libs/libs/usr/libcCs t|tr|jdS|S(sCNot all of PyObjC and Python understand unicode paths very well yettutf8(t isinstancetunicodetencode(ts((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyt ensure_utf8s cCsD|dkrtj}n|j|}|dkr7gS|jdS(Nt:(tNonetostenvirontgettsplit(tenvtvartrval((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_env%s    cCs%|dkrtj}n|jdS(NtDYLD_IMAGE_SUFFIX(R R RR(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_image_suffix-s  cCs t|dS(NtDYLD_FRAMEWORK_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_framework_path2scCs t|dS(NtDYLD_LIBRARY_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_library_path5scCs t|dS(NtDYLD_FALLBACK_FRAMEWORK_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_fallback_framework_path8scCs t|dS(NtDYLD_FALLBACK_LIBRARY_PATH(R(R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_fallback_library_path;scCs2t|}|dkr|S||d}|S(s>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticscssMxF|D]>}|jdr7|td |dVn ||V|VqWdS(Ns.dylib(tendswithtlen(titeratortsuffixtpath((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyt_injectCs   N(RR (R!RR"R$((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_image_suffix_search>s   ccst|}|dk rJx/t|D]}tjj||dVq%Wnx4t|D]&}tjj|tjj|VqWWdS(Ntname(RR RR R#tjoinRtbasename(R&Rt frameworkR#((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_override_searchLs   ccs@|jdr<|dk r<tjj||tdVndS(Ns@executable_path/(t startswithR R R#R'R (R&texecutable_path((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_executable_path_search]sccs|Vt|}|dk rUt|}x)|D]}tjj||dVq0Wnt|}x.|D]&}tjj|tjj|VqhW|dk r| rx)tD]}tjj||dVqWn|s x1t D]&}tjj|tjj|VqWndS(NR&( RR RR R#R'RR(tDEFAULT_FRAMEWORK_FALLBACKtDEFAULT_LIBRARY_FALLBACK(R&RR)tfallback_framework_pathR#tfallback_library_path((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pytdyld_default_searchds      $  cCst|}t|}xTttt||t||t|||D]}tjj|rO|SqOWt d|fdS(s: Find a library or framework using dyld semantics sdylib %s could not be foundN( R R%tchainR*R-R2R R#tisfilet ValueError(R&R,RR#((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyRzs      cCsyt|d|d|SWntk r/}nX|jd}|dkrdt|}|d7}ntjj|tjj|| }yt|d|d|SWntk r|nXdS(s Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current R,Rs .frameworkiN(RR5trfindR R R#R'R((tfnR,Rtet fmwk_index((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyRs    % cCs i}dS(N((R((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyttest_dyld_findst__main__(t__doc__R R)RtdylibRt itertoolst__all__R#t expanduserR.R/R RR RRRRRR%R*R-R2RRR:t__name__(((s,/usr/lib64/python2.7/ctypes/macholib/dyld.pyts<                  PK]&1]t7y __init__.pynu[""" Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. """ __version__ = '1.0' PK]&1]"SS framework.pyonu[ {fc@sVdZddlZdgZejdZdZdZedkrRendS(s% Generic framework path manipulation iNtframework_infos(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCs#tj|}|sdS|jS(s} A framework name can take one of the following four forms: Location/Name.framework/Versions/SomeVersion/Name_Suffix Location/Name.framework/Versions/SomeVersion/Name Location/Name.framework/Name_Suffix Location/Name.framework/Name returns None if not found, or a mapping equivalent to: dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', ) Note that SomeVersion and Suffix are optional and may be None if not present N(tSTRICT_FRAMEWORK_REtmatchtNonet groupdict(tfilenamet is_framework((s1/usr/lib64/python2.7/ctypes/macholib/framework.pyRscCsdddddd}dS(Nc Ss%td|d|d|d|d|S(Ntlocationtnamet shortnametversiontsuffix(tdict(RRR R R ((s1/usr/lib64/python2.7/ctypes/macholib/framework.pytd-s (R(R ((s1/usr/lib64/python2.7/ctypes/macholib/framework.pyttest_framework_info,st__main__(t__doc__tret__all__tcompileRRRt__name__(((s1/usr/lib64/python2.7/ctypes/macholib/framework.pyts      PKf1]"__pycache__/dyld.cpython-36.pycnu[3 \E@sdZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ ddZ d+ddZ d,ddZd-ddZd.ddZd/ddZd0ddZd1d d!Zd2d"d#Zd3d$d%Zd4d&dZd5d'dZd(d)Zed*kredS)6z dyld emulation N)framework_info) dylib_info)* dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCs.|dkrtj}|j|}|dkr$gS|jdS)N:)osenvirongetsplit)envvarZrvalr,/usr/lib64/python3.6/ctypes/macholib/dyld.pydyld_envs  rcCs|dkrtj}|jdS)NZDYLD_IMAGE_SUFFIX)rr r )r rrrdyld_image_suffix'srcCs t|dS)NZDYLD_FRAMEWORK_PATH)r)r rrrdyld_framework_path,srcCs t|dS)NZDYLD_LIBRARY_PATH)r)r rrrdyld_library_path/srcCs t|dS)NZDYLD_FALLBACK_FRAMEWORK_PATH)r)r rrrdyld_fallback_framework_path2srcCs t|dS)NZDYLD_FALLBACK_LIBRARY_PATH)r)r rrrdyld_fallback_library_path5srcCs(t|}|dkr|S||fdd}|S)z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNcssJxD|D]<}|jdr2|dtd |dVn ||V|VqWdS)Nz.dylib)endswithlen)iteratorsuffixpathrrr_inject=s    z)dyld_image_suffix_search.._inject)r)rr rrrrrdyld_image_suffix_search8s rccsdt|}|dk r6x$t|D]}tjj||dVqWx(t|D]}tjj|tjj|Vq@WdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs r!ccs2|jdr.|dk r.tjj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk r@t|}x |D]}tjj||dVq$Wt|}x$|D]}tjj|tjj|VqNW|dk r| rx tD]}tjj||dVqW|sx$tD]}tjj|tjj|VqWdS)Nr) rrrrrrrDEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)rr r Zfallback_framework_pathrZfallback_library_pathrrrdyld_default_search^s    r'cCsPxs:               PKf1] 9rII*__pycache__/framework.cpython-36.opt-1.pycnu[3 \@s>dZddlZdgZejdZddZddZedkr:edS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCstj|}|sdS|jS)a} A framework name can take one of the following four forms: Location/Name.framework/Versions/SomeVersion/Name_Suffix Location/Name.framework/Versions/SomeVersion/Name Location/Name.framework/Name_Suffix Location/Name.framework/Name returns None if not found, or a mapping equivalent to: dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', ) Note that SomeVersion and Suffix are optional and may be None if not present N)STRICT_FRAMEWORK_REmatch groupdict)filenameZ is_frameworkr1/usr/lib64/python3.6/ctypes/macholib/framework.pyrs cCsddd}dS)NcSst|||||dS)N)locationname shortnameversionsuffix)dict)r r r r r rrrd-s ztest_framework_info..d)NNNNNr)rrrrtest_framework_info,s r__main__)__doc__re__all__compilerrr__name__rrrrsPKf1]>5ʘ$__pycache__/framework.cpython-36.pycnu[3 \@s>dZddlZdgZejdZddZddZedkr:edS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCstj|}|sdS|jS)a} A framework name can take one of the following four forms: Location/Name.framework/Versions/SomeVersion/Name_Suffix Location/Name.framework/Versions/SomeVersion/Name Location/Name.framework/Name_Suffix Location/Name.framework/Name returns None if not found, or a mapping equivalent to: dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', ) Note that SomeVersion and Suffix are optional and may be None if not present N)STRICT_FRAMEWORK_REmatch groupdict)filenameZ is_frameworkr1/usr/lib64/python3.6/ctypes/macholib/framework.pyrs cCsddd}tddksttddks*ttddks:ttddksJttd|dd d ksbttd |dd d d dks~ttddksttddksttd|ddd dksttd|ddd dd kstdS)NcSst|||||dS)N)locationname shortnameversionsuffix)dict)r r r r r rrrd-s ztest_framework_info..dzcompletely/invalidzcompletely/invalid/_debugz P/F.frameworkzP/F.framework/_debugzP/F.framework/FPz F.framework/FFzP/F.framework/F_debugzF.framework/F_debugdebug)r zP/F.framework/VersionszP/F.framework/Versions/AzP/F.framework/Versions/A/FzF.framework/Versions/A/FAz P/F.framework/Versions/A/F_debugzF.framework/Versions/A/F_debug)NNNNN)rAssertionError)rrrrtest_framework_info,s r__main__)__doc__re__all__compilerrr__name__rrrrsPKf1]m^hz%%)__pycache__/__init__.cpython-36.opt-1.pycnu[3 \@s dZdZdS)z~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. z1.0N)__doc__ __version__rr0/usr/lib64/python3.6/ctypes/macholib/__init__.pysPKf1]KW*__pycache__/framework.cpython-36.opt-2.pycnu[3 \@s:ddlZdgZejdZddZddZedkr6edS)Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCstj|}|sdS|jS)N)STRICT_FRAMEWORK_REmatch groupdict)filenameZ is_frameworkr1/usr/lib64/python3.6/ctypes/macholib/framework.pyrs cCsddd}dS)NcSst|||||dS)N)locationname shortnameversionsuffix)dict)r r r r r rrrd-s ztest_framework_info..d)NNNNNr)rrrrtest_framework_info,s r__main__)re__all__compilerrr__name__rrrrsPKf1]*S+ __pycache__/dylib.cpython-36.pycnu[3 \$@s>dZddlZdgZejdZddZddZedkr:edS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCstj|}|sdS|jS)a1 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_REmatch groupdict)filenameZis_dylibr-/usr/lib64/python3.6/ctypes/macholib/dylib.pyrs cCsddd}tddksttddks*ttd|dddksBttd |dd dd d ks^ttd |ddddksxttd|ddddksttd|ddddd kstdS)NcSst|||||dS)N)locationname shortnameversionsuffix)dict)r r r r r rrrd.s ztest_dylib_info..dzcompletely/invalidzcompletely/invalide_debugz P/Foo.dylibPz Foo.dylibZFoozP/Foo_debug.dylibzFoo_debug.dylibdebug)r z P/Foo.A.dylibz Foo.A.dylibAzP/Foo_debug.A.dylibzFoo_debug.A.dylibZ Foo_debugzP/Foo.A_debug.dylibzFoo.A_debug.dylib)NNNNN)rAssertionError)rrrrtest_dylib_info-s r__main__)__doc__re__all__compilerrr__name__rrrrsPKf1]M)__pycache__/__init__.cpython-36.opt-2.pycnu[3 \@sdZdS)z1.0N) __version__rr0/usr/lib64/python3.6/ctypes/macholib/__init__.py sPKf1].&__pycache__/dylib.cpython-36.opt-1.pycnu[3 \$@s>dZddlZdgZejdZddZddZedkr:edS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCstj|}|sdS|jS)a1 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_REmatch groupdict)filenameZis_dylibr-/usr/lib64/python3.6/ctypes/macholib/dylib.pyrs cCsddd}dS)NcSst|||||dS)N)locationname shortnameversionsuffix)dict)r r r r r rrrd.s ztest_dylib_info..d)NNNNNr)rrrrtest_dylib_info-s r__main__)__doc__re__all__compilerrr__name__rrrrsPKf1]Η14[[&__pycache__/dylib.cpython-36.opt-2.pycnu[3 \$@s:ddlZdgZejdZddZddZedkr6edS)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCstj|}|sdS|jS)N)DYLIB_REmatch groupdict)filenameZis_dylibr-/usr/lib64/python3.6/ctypes/macholib/dylib.pyrs cCsddd}dS)NcSst|||||dS)N)locationname shortnameversionsuffix)dict)r r r r r rrrd.s ztest_dylib_info..d)NNNNNr)rrrrtest_dylib_info-s r__main__)re__all__compilerrr__name__rrrrsPKf1]%__pycache__/dyld.cpython-36.opt-2.pycnu[3 \E@sddlZddlmZddlmZddlTddddgZejjd d d d gZ ejjd dddgZ ddZ d*ddZ d+ddZ d,ddZd-ddZd.ddZd/ddZd0dd Zd1d!d"Zd2d#d$Zd3d%dZd4d&dZd'd(Zed)kredS)5N)framework_info) dylib_info)* dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCs.|dkrtj}|j|}|dkr$gS|jdS)N:)osenvirongetsplit)envvarZrvalr,/usr/lib64/python3.6/ctypes/macholib/dyld.pydyld_envs  rcCs|dkrtj}|jdS)NZDYLD_IMAGE_SUFFIX)rr r )r rrrdyld_image_suffix'srcCs t|dS)NZDYLD_FRAMEWORK_PATH)r)r rrrdyld_framework_path,srcCs t|dS)NZDYLD_LIBRARY_PATH)r)r rrrdyld_library_path/srcCs t|dS)NZDYLD_FALLBACK_FRAMEWORK_PATH)r)r rrrdyld_fallback_framework_path2srcCs t|dS)NZDYLD_FALLBACK_LIBRARY_PATH)r)r rrrdyld_fallback_library_path5srcCs(t|}|dkr|S||fdd}|S)NcssJxD|D]<}|jdr2|dtd |dVn ||V|VqWdS)Nz.dylib)endswithlen)iteratorsuffixpathrrr_inject=s    z)dyld_image_suffix_search.._inject)r)rr rrrrrdyld_image_suffix_search8s rccsdt|}|dk r6x$t|D]}tjj||dVqWx(t|D]}tjj|tjj|Vq@WdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs r!ccs2|jdr.|dk r.tjj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk r@t|}x |D]}tjj||dVq$Wt|}x$|D]}tjj|tjj|VqNW|dk r| rx tD]}tjj||dVqW|sx$tD]}tjj|tjj|VqWdS)Nr) rrrrrrrDEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)rr r Zfallback_framework_pathrZfallback_library_pathrrrdyld_default_search^s    r'cCsPxs8               PKf1]AA%__pycache__/dyld.cpython-36.opt-1.pycnu[3 \E@sdZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ ddZ d+ddZ d,ddZd-ddZd.ddZd/ddZd0ddZd1d d!Zd2d"d#Zd3d$d%Zd4d&dZd5d'dZd(d)Zed*kredS)6z dyld emulation N)framework_info) dylib_info)* dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCs.|dkrtj}|j|}|dkr$gS|jdS)N:)osenvirongetsplit)envvarZrvalr,/usr/lib64/python3.6/ctypes/macholib/dyld.pydyld_envs  rcCs|dkrtj}|jdS)NZDYLD_IMAGE_SUFFIX)rr r )r rrrdyld_image_suffix'srcCs t|dS)NZDYLD_FRAMEWORK_PATH)r)r rrrdyld_framework_path,srcCs t|dS)NZDYLD_LIBRARY_PATH)r)r rrrdyld_library_path/srcCs t|dS)NZDYLD_FALLBACK_FRAMEWORK_PATH)r)r rrrdyld_fallback_framework_path2srcCs t|dS)NZDYLD_FALLBACK_LIBRARY_PATH)r)r rrrdyld_fallback_library_path5srcCs(t|}|dkr|S||fdd}|S)z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNcssJxD|D]<}|jdr2|dtd |dVn ||V|VqWdS)Nz.dylib)endswithlen)iteratorsuffixpathrrr_inject=s    z)dyld_image_suffix_search.._inject)r)rr rrrrrdyld_image_suffix_search8s rccsdt|}|dk r6x$t|D]}tjj||dVqWx(t|D]}tjj|tjj|Vq@WdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs r!ccs2|jdr.|dk r.tjj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk r@t|}x |D]}tjj||dVq$Wt|}x$|D]}tjj|tjj|VqNW|dk r| rx tD]}tjj||dVqW|sx$tD]}tjj|tjj|VqWdS)Nr) rrrrrrrDEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)rr r Zfallback_framework_pathrZfallback_library_pathrrrdyld_default_search^s    r'cCsPxs:               PKf1]m^hz%%#__pycache__/__init__.cpython-36.pycnu[3 \@s dZdZdS)z~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. z1.0N)__doc__ __version__rr0/usr/lib64/python3.6/ctypes/macholib/__init__.pysPK"'2]K'__pycache__/dylib.cpython-312.opt-2.pycnu[ {|j> ddlZdgZejdZdZy)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cT tj|}|sy|jS)N)DYLIB_REmatch groupdict)filenameis_dylibs ./usr/lib64/python3.12/ctypes/macholib/dylib.pyrrs,&~~h'H     )re__all__compilerrr r rs0 . 2::  r PK"'2]h+__pycache__/framework.cpython-312.opt-2.pycnu[ {|jQ> ddlZdgZejdZdZy)Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cT tj|}|sy|jS)N)STRICT_FRAMEWORK_REmatch groupdict)filename is_frameworks 2/usr/lib64/python3.12/ctypes/macholib/framework.pyrrs.&',,X6L   ! ! ##)re__all__compilerrr r rs2   bjj"$r PK"'2]X>>$__pycache__/__init__.cpython-312.pycnu[ {|j dZdZy)z~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. z1.0N)__doc__ __version__1/usr/lib64/python3.12/ctypes/macholib/__init__.pyrs rPK"'2]3:̓%__pycache__/framework.cpython-312.pycnu[ {|jQ@dZddlZdgZejdZdZy)z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cRtj|}|sy|jS)a} A framework name can take one of the following four forms: Location/Name.framework/Versions/SomeVersion/Name_Suffix Location/Name.framework/Versions/SomeVersion/Name Location/Name.framework/Name_Suffix Location/Name.framework/Name returns None if not found, or a mapping equivalent to: dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', ) Note that SomeVersion and Suffix are optional and may be None if not present N)STRICT_FRAMEWORK_REmatch groupdict)filename is_frameworks 2/usr/lib64/python3.12/ctypes/macholib/framework.pyrrs)(',,X6L   ! ! ##)__doc__re__all__compilerrr r rs2   bjj"$r PK"'2]Zs%%&__pycache__/dyld.cpython-312.opt-2.pycnu[ {|j< ddlZddlmZddlmZddl ddlmZgdZ ejjdd d d gZ ejjd d ddgZ dZddZddZddZddZddZddZddZddZddZddZddZy#e$rdZY|wxYw)N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathctN)NotImplementedError)argss -/usr/lib64/python3.12/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcr|tj}|j|}|gS|jdS)N:)osenvirongetsplit)envvarrvals r dyld_envr$s5 {jj 773._injectBsHD}}X&?S]N+f4x??Vm#J s=?)r)r.rr/r1s r dyld_image_suffix_searchr2=s-H s #F ~!& 9r c#.Kt|}|5t|D]'}tjj ||d)t |D]A}tjj |tjj |CywNname)rr rr0joinr#basename)r5r frameworkr0s r dyld_override_searchr9Ksv t$I',D'',,tYv%67 7- "#&ggll4!1!1$!788'sBBc#K|jdr2|/tjj||t ddyyyw)Nz@executable_path/) startswithrr0r6r-)r5executable_paths r dyld_executable_path_searchr=\sF *+0Kggll?D5H1I1J,KLL1L+sAAc#@K|t|}|7t|}|D]'}tjj ||d)t |}|D]A}tjj |tjj |C|2s0tD]'}tjj ||d)|sKtD]A}tjj |tjj |Cyywr4) rr&rr0r6r)r7DEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)r5rr8fallback_framework_pathr0fallback_library_paths r dyld_default_searchrCcs Jt$I">s"C+D'',,tYv%67 7,7s;%ggll4!1!1$!788&%<.D'',,tYv%67 7/ !,D'',,tRWW%5%5d%;< <- !sDDc  ttt||t||t |||D]5}t j j|r|cS t|r|cS7td|d#t$rYRwxYw)Nzdylib z could not be found) r2chainr9r=rCrr0isfilerr ValueError)r5r<rr0s r r r ys)$T3/+D/B#D#.*  77>>$ K /5 6 d< ==#   s A>> B  B cp d} t|||S#t$r }|}Yd}~nd}~wwxYw|jd}|dk(rt|}|dz }tj j |tj j|d|} t|||d}S#t$r|wxYw#d}wxYw)N)r<rz .framework)r rGrfindr-rr0r6r7)fnr<rerrore fmwk_indexs r rrs E_#FF ,'JRW  l b"''**2kz?; rWs 4,"8  GG-.! GGw  ( 0.97 9"M=,>(E"""sBBBPK"'2]%q '__pycache__/dylib.cpython-312.opt-1.pycnu[ {|j@dZddlZdgZejdZdZy)z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cRtj|}|sy|jS)a1 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_REmatch groupdict)filenameis_dylibs ./usr/lib64/python3.12/ctypes/macholib/dylib.pyrrs'(~~h'H     )__doc__re__all__compilerrr r rs0 . 2::  r PK"'2]^RWbb&__pycache__/dyld.cpython-312.opt-1.pycnu[ {|j>dZddlZddlmZddlmZddl ddlmZgdZ ejjd d d d gZ ejjd dddgZdZddZddZddZddZddZddZddZddZddZddZddZy#e $rdZY|wxYw)z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathctN)NotImplementedError)argss -/usr/lib64/python3.12/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcr|tj}|j|}|gS|jdS)N:)osenvirongetsplit)envvarrvals r dyld_envr$s5 {jj 773For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsc3K|D]6}|jdr|dtd |zdzn||z|8yw)Nz.dylib)endswithlen)iteratorsuffixpaths r _injectz)dyld_image_suffix_search.._injectBsHD}}X&?S]N+f4x??Vm#J s=?)r)r.rr/r1s r dyld_image_suffix_searchr2=s* s #F ~!& 9r c#.Kt|}|5t|D]'}tjj ||d)t |D]A}tjj |tjj |CywNname)rr rr0joinr#basename)r5r frameworkr0s r dyld_override_searchr9Ksv t$I',D'',,tYv%67 7- "#&ggll4!1!1$!788'sBBc#K|jdr2|/tjj||t ddyyyw)Nz@executable_path/) startswithrr0r6r-)r5executable_paths r dyld_executable_path_searchr=\sF *+0Kggll?D5H1I1J,KLL1L+sAAc#@K|t|}|7t|}|D]'}tjj ||d)t |}|D]A}tjj |tjj |C|2s0tD]'}tjj ||d)|sKtD]A}tjj |tjj |Cyywr4) rr&rr0r6r)r7DEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)r5rr8fallback_framework_pathr0fallback_library_paths r dyld_default_searchrCcs Jt$I">s"C+D'',,tYv%67 7,7s;%ggll4!1!1$!788&%<.D'',,tYv%67 7/ !,D'',,tRWW%5%5d%;< <- !sDDc ttt||t||t |||D]5}t j j|r|cS t|r|cS7td|d#t$rYRwxYw)z: Find a library or framework using dyld semantics zdylib z could not be found) r2chainr9r=rCrr0isfilerr ValueError)r5r<rr0s r r r ys)$T3/+D/B#D#.*  77>>$ K /5 6 d< ==#   s A== B B cnd} t|||S#t$r }|}Yd}~nd}~wwxYw|jd}|dk(rt|}|dz }tj j |tj j|d|} t|||d}S#t$r|wxYw#d}wxYw)z Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current N)r<rz .framework)r rGrfindr-rr0r6r7)fnr<rerrore fmwk_indexs r rrs E_#FF ,'JRW  l b"''**2kz?; rXs 4,"8  GG-.! GGw  ( 0.97 9"M=,>(E"""sBBBPK"'2]X>>*__pycache__/__init__.cpython-312.opt-1.pycnu[ {|j dZdZy)z~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. z1.0N)__doc__ __version__1/usr/lib64/python3.12/ctypes/macholib/__init__.pyrs rPK"'2]I0[*__pycache__/__init__.cpython-312.opt-2.pycnu[ {|j dZy)z1.0N) __version__1/usr/lib64/python3.12/ctypes/macholib/__init__.pyrs rPK"'2]%q !__pycache__/dylib.cpython-312.pycnu[ {|j@dZddlZdgZejdZdZy)z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cRtj|}|sy|jS)a1 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_REmatch groupdict)filenameis_dylibs ./usr/lib64/python3.12/ctypes/macholib/dylib.pyrrs'(~~h'H     )__doc__re__all__compilerrr r rs0 . 2::  r PK"'2]3:̓+__pycache__/framework.cpython-312.opt-1.pycnu[ {|jQ@dZddlZdgZejdZdZy)z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cRtj|}|sy|jS)a} A framework name can take one of the following four forms: Location/Name.framework/Versions/SomeVersion/Name_Suffix Location/Name.framework/Versions/SomeVersion/Name Location/Name.framework/Name_Suffix Location/Name.framework/Name returns None if not found, or a mapping equivalent to: dict( location='Location', name='Name.framework/Versions/SomeVersion/Name_Suffix', shortname='Name', version='SomeVersion', suffix='Suffix', ) Note that SomeVersion and Suffix are optional and may be None if not present N)STRICT_FRAMEWORK_REmatch groupdict)filename is_frameworks 2/usr/lib64/python3.12/ctypes/macholib/framework.pyrrs)(',,X6L   ! ! ##)__doc__re__all__compilerrr r rs2   bjj"$r PK"'2]^RWbb __pycache__/dyld.cpython-312.pycnu[ {|j>dZddlZddlmZddlmZddl ddlmZgdZ ejjd d d d gZ ejjd dddgZdZddZddZddZddZddZddZddZddZddZddZddZy#e $rdZY|wxYw)z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathctN)NotImplementedError)argss -/usr/lib64/python3.12/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcr|tj}|j|}|gS|jdS)N:)osenvirongetsplit)envvarrvals r dyld_envr$s5 {jj 773For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsc3K|D]6}|jdr|dtd |zdzn||z|8yw)Nz.dylib)endswithlen)iteratorsuffixpaths r _injectz)dyld_image_suffix_search.._injectBsHD}}X&?S]N+f4x??Vm#J s=?)r)r.rr/r1s r dyld_image_suffix_searchr2=s* s #F ~!& 9r c#.Kt|}|5t|D]'}tjj ||d)t |D]A}tjj |tjj |CywNname)rr rr0joinr#basename)r5r frameworkr0s r dyld_override_searchr9Ksv t$I',D'',,tYv%67 7- "#&ggll4!1!1$!788'sBBc#K|jdr2|/tjj||t ddyyyw)Nz@executable_path/) startswithrr0r6r-)r5executable_paths r dyld_executable_path_searchr=\sF *+0Kggll?D5H1I1J,KLL1L+sAAc#@K|t|}|7t|}|D]'}tjj ||d)t |}|D]A}tjj |tjj |C|2s0tD]'}tjj ||d)|sKtD]A}tjj |tjj |Cyywr4) rr&rr0r6r)r7DEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)r5rr8fallback_framework_pathr0fallback_library_paths r dyld_default_searchrCcs Jt$I">s"C+D'',,tYv%67 7,7s;%ggll4!1!1$!788&%<.D'',,tYv%67 7/ !,D'',,tRWW%5%5d%;< <- !sDDc ttt||t||t |||D]5}t j j|r|cS t|r|cS7td|d#t$rYRwxYw)z: Find a library or framework using dyld semantics zdylib z could not be found) r2chainr9r=rCrr0isfilerr ValueError)r5r<rr0s r r r ys)$T3/+D/B#D#.*  77>>$ K /5 6 d< ==#   s A== B B cnd} t|||S#t$r }|}Yd}~nd}~wwxYw|jd}|dk(rt|}|dz }tj j |tj j|d|} t|||d}S#t$r|wxYw#d}wxYw)z Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current N)r<rz .framework)r rGrfindr-rr0r6r7)fnr<rerrore fmwk_indexs r rrs E_#FF ,'JRW  l b"''**2kz?; rXs 4,"8  GG-.! GGw  ( 0.97 9"M=,>(E"""sBBBPK]&1]7|A A framework.pycnu[PK]&1] ~ dylib.pyonu[PK]&1] @ |dylib.pycnu[PK]&1]K CTTfetch_macholibnuȯPK]&1]}`<< R__init__.pycnu[PK]&1]J(( README.ctypesnu[PK]&1]SD!/dylib.pynu[PK]&1]}`<< '"__init__.pyonu[PK]&1]扠#dyld.pynu[PK]&1]eQQ v7framework.pynu[PK]&1]ʆW<dyld.pycnu[PK]&1]d/Rdyld.pyonu[PK]&1]t7y h__init__.pynu[PK]&1]"SS iframework.pyonu[PKf1]"@q__pycache__/dyld.cpython-36.pycnu[PKf1] 9rII*|__pycache__/framework.cpython-36.opt-1.pycnu[PKf1]>5ʘ$__pycache__/framework.cpython-36.pycnu[PKf1]m^hz%%) __pycache__/__init__.cpython-36.opt-1.pycnu[PKf1]KW*__pycache__/framework.cpython-36.opt-2.pycnu[PKf1]*S+ t__pycache__/dylib.cpython-36.pycnu[PKf1]M)D__pycache__/__init__.cpython-36.opt-2.pycnu[PKf1].&3__pycache__/dylib.cpython-36.opt-1.pycnu[PKf1]Η14[[&L__pycache__/dylib.cpython-36.opt-2.pycnu[PKf1]%__pycache__/dyld.cpython-36.opt-2.pycnu[PKf1]AA%=__pycache__/dyld.cpython-36.opt-1.pycnu[PKf1]m^hz%%#__pycache__/__init__.cpython-36.pycnu[PK"'2]K'K__pycache__/dylib.cpython-312.opt-2.pycnu[PK"'2]h+F__pycache__/framework.cpython-312.opt-2.pycnu[PK"'2]X>>$w__pycache__/__init__.cpython-312.pycnu[PK"'2]3:̓% __pycache__/framework.cpython-312.pycnu[PK"'2]Zs%%&__pycache__/dyld.cpython-312.opt-2.pycnu[PK"'2]%q '\__pycache__/dylib.cpython-312.opt-1.pycnu[PK"'2]^RWbb&__pycache__/dyld.cpython-312.opt-1.pycnu[PK"'2]X>>*l__pycache__/__init__.cpython-312.opt-1.pycnu[PK"'2]I0[*__pycache__/__init__.cpython-312.opt-2.pycnu[PK"'2]%q !__pycache__/dylib.cpython-312.pycnu[PK"'2]3:̓+c__pycache__/framework.cpython-312.opt-1.pycnu[PK"'2]^RWbb A __pycache__/dyld.cpython-312.pycnu[PK&& :