Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK!^`C`C __init__.pynu["""create and manipulate C data types in Python""" import os as _os, sys as _sys __version__ = "1.1.0" from _ctypes import Union, Structure, Array from _ctypes import _Pointer from _ctypes import CFuncPtr as _CFuncPtr from _ctypes import __version__ as _ctypes_version from _ctypes import RTLD_LOCAL, RTLD_GLOBAL from _ctypes import ArgumentError from struct import calcsize as _calcsize if __version__ != _ctypes_version: raise Exception("Version number mismatch", __version__, _ctypes_version) if _os.name == "nt": from _ctypes import FormatError DEFAULT_MODE = RTLD_LOCAL if _os.name == "posix" and _sys.platform == "darwin": # On OS X 10.3, we use RTLD_GLOBAL as default mode # because RTLD_LOCAL does not work at least on some # libraries. OS X 10.3 is Darwin 7, so we check for # that. if int(_os.uname().release.split('.')[0]) < 8: DEFAULT_MODE = RTLD_GLOBAL from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \ FUNCFLAG_PYTHONAPI as _FUNCFLAG_PYTHONAPI, \ FUNCFLAG_USE_ERRNO as _FUNCFLAG_USE_ERRNO, \ FUNCFLAG_USE_LASTERROR as _FUNCFLAG_USE_LASTERROR # WINOLEAPI -> HRESULT # WINOLEAPI_(type) # # STDMETHODCALLTYPE # # STDMETHOD(name) # STDMETHOD_(type, name) # # STDAPICALLTYPE def create_string_buffer(init, size=None): """create_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array """ if isinstance(init, bytes): if size is None: size = len(init)+1 buftype = c_char * size buf = buftype() buf.value = init return buf elif isinstance(init, int): buftype = c_char * init buf = buftype() return buf raise TypeError(init) def c_buffer(init, size=None): ## "deprecated, use create_string_buffer instead" ## import warnings ## warnings.warn("c_buffer is deprecated, use create_string_buffer instead", ## DeprecationWarning, stacklevel=2) return create_string_buffer(init, size) _c_functype_cache = {} def CFUNCTYPE(restype, *argtypes, **kw): """CFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name """ flags = _FUNCFLAG_CDECL if kw.pop("use_errno", False): flags |= _FUNCFLAG_USE_ERRNO if kw.pop("use_last_error", False): flags |= _FUNCFLAG_USE_LASTERROR if kw: raise ValueError("unexpected keyword argument(s) %s" % kw.keys()) try: return _c_functype_cache[(restype, argtypes, flags)] except KeyError: class CFunctionType(_CFuncPtr): _argtypes_ = argtypes _restype_ = restype _flags_ = flags _c_functype_cache[(restype, argtypes, flags)] = CFunctionType return CFunctionType if _os.name == "nt": from _ctypes import LoadLibrary as _dlopen from _ctypes import FUNCFLAG_STDCALL as _FUNCFLAG_STDCALL _win_functype_cache = {} def WINFUNCTYPE(restype, *argtypes, **kw): # docstring set later (very similar to CFUNCTYPE.__doc__) flags = _FUNCFLAG_STDCALL if kw.pop("use_errno", False): flags |= _FUNCFLAG_USE_ERRNO if kw.pop("use_last_error", False): flags |= _FUNCFLAG_USE_LASTERROR if kw: raise ValueError("unexpected keyword argument(s) %s" % kw.keys()) try: return _win_functype_cache[(restype, argtypes, flags)] except KeyError: class WinFunctionType(_CFuncPtr): _argtypes_ = argtypes _restype_ = restype _flags_ = flags _win_functype_cache[(restype, argtypes, flags)] = WinFunctionType return WinFunctionType if WINFUNCTYPE.__doc__: WINFUNCTYPE.__doc__ = CFUNCTYPE.__doc__.replace("CFUNCTYPE", "WINFUNCTYPE") elif _os.name == "posix": from _ctypes import dlopen as _dlopen from _ctypes import sizeof, byref, addressof, alignment, resize from _ctypes import get_errno, set_errno from _ctypes import _SimpleCData def _check_size(typ, typecode=None): # Check if sizeof(ctypes_type) against struct.calcsize. This # should protect somewhat against a misconfigured libffi. from struct import calcsize if typecode is None: # Most _type_ codes are the same as used in struct typecode = typ._type_ actual, required = sizeof(typ), calcsize(typecode) if actual != required: raise SystemError("sizeof(%s) wrong: %d instead of %d" % \ (typ, actual, required)) class py_object(_SimpleCData): _type_ = "O" def __repr__(self): try: return super().__repr__() except ValueError: return "%s()" % type(self).__name__ _check_size(py_object, "P") class c_short(_SimpleCData): _type_ = "h" _check_size(c_short) class c_ushort(_SimpleCData): _type_ = "H" _check_size(c_ushort) class c_long(_SimpleCData): _type_ = "l" _check_size(c_long) class c_ulong(_SimpleCData): _type_ = "L" _check_size(c_ulong) if _calcsize("i") == _calcsize("l"): # if int and long have the same size, make c_int an alias for c_long c_int = c_long c_uint = c_ulong else: class c_int(_SimpleCData): _type_ = "i" _check_size(c_int) class c_uint(_SimpleCData): _type_ = "I" _check_size(c_uint) class c_float(_SimpleCData): _type_ = "f" _check_size(c_float) class c_double(_SimpleCData): _type_ = "d" _check_size(c_double) class c_longdouble(_SimpleCData): _type_ = "g" if sizeof(c_longdouble) == sizeof(c_double): c_longdouble = c_double if _calcsize("l") == _calcsize("q"): # if long and long long have the same size, make c_longlong an alias for c_long c_longlong = c_long c_ulonglong = c_ulong else: class c_longlong(_SimpleCData): _type_ = "q" _check_size(c_longlong) class c_ulonglong(_SimpleCData): _type_ = "Q" ## def from_param(cls, val): ## return ('d', float(val), val) ## from_param = classmethod(from_param) _check_size(c_ulonglong) class c_ubyte(_SimpleCData): _type_ = "B" c_ubyte.__ctype_le__ = c_ubyte.__ctype_be__ = c_ubyte # backward compatibility: ##c_uchar = c_ubyte _check_size(c_ubyte) class c_byte(_SimpleCData): _type_ = "b" c_byte.__ctype_le__ = c_byte.__ctype_be__ = c_byte _check_size(c_byte) class c_char(_SimpleCData): _type_ = "c" c_char.__ctype_le__ = c_char.__ctype_be__ = c_char _check_size(c_char) class c_char_p(_SimpleCData): _type_ = "z" def __repr__(self): return "%s(%s)" % (self.__class__.__name__, c_void_p.from_buffer(self).value) _check_size(c_char_p, "P") class c_void_p(_SimpleCData): _type_ = "P" c_voidp = c_void_p # backwards compatibility (to a bug) _check_size(c_void_p) class c_bool(_SimpleCData): _type_ = "?" from _ctypes import POINTER, pointer, _pointer_type_cache class c_wchar_p(_SimpleCData): _type_ = "Z" def __repr__(self): return "%s(%s)" % (self.__class__.__name__, c_void_p.from_buffer(self).value) class c_wchar(_SimpleCData): _type_ = "u" def _reset_cache(): _pointer_type_cache.clear() _c_functype_cache.clear() if _os.name == "nt": _win_functype_cache.clear() # _SimpleCData.c_wchar_p_from_param POINTER(c_wchar).from_param = c_wchar_p.from_param # _SimpleCData.c_char_p_from_param POINTER(c_char).from_param = c_char_p.from_param _pointer_type_cache[None] = c_void_p def create_unicode_buffer(init, size=None): """create_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array """ if isinstance(init, str): if size is None: if sizeof(c_wchar) == 2: # UTF-16 requires a surrogate pair (2 wchar_t) for non-BMP # characters (outside [U+0000; U+FFFF] range). +1 for trailing # NUL character. size = sum(2 if ord(c) > 0xFFFF else 1 for c in init) + 1 else: # 32-bit wchar_t (1 wchar_t per Unicode character). +1 for # trailing NUL character. size = len(init) + 1 buftype = c_wchar * size buf = buftype() buf.value = init return buf elif isinstance(init, int): buftype = c_wchar * init buf = buftype() return buf raise TypeError(init) # XXX Deprecated def SetPointerType(pointer, cls): if _pointer_type_cache.get(cls, None) is not None: raise RuntimeError("This type already exists in the cache") if id(pointer) not in _pointer_type_cache: raise RuntimeError("What's this???") pointer.set_type(cls) _pointer_type_cache[cls] = pointer del _pointer_type_cache[id(pointer)] # XXX Deprecated def ARRAY(typ, len): return typ * len ################################################################ class CDLL(object): """An instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. """ _func_flags_ = _FUNCFLAG_CDECL _func_restype_ = c_int # default values for repr _name = '' _handle = 0 _FuncPtr = None def __init__(self, name, mode=DEFAULT_MODE, handle=None, use_errno=False, use_last_error=False): self._name = name flags = self._func_flags_ if use_errno: flags |= _FUNCFLAG_USE_ERRNO if use_last_error: flags |= _FUNCFLAG_USE_LASTERROR if _sys.platform.startswith("aix"): """When the name contains ".a(" and ends with ")", e.g., "libFOO.a(libFOO.so)" - this is taken to be an archive(member) syntax for dlopen(), and the mode is adjusted. Otherwise, name is presented to dlopen() as a file argument. """ if name and name.endswith(")") and ".a(" in name: mode |= ( _os.RTLD_MEMBER | _os.RTLD_NOW ) class _FuncPtr(_CFuncPtr): _flags_ = flags _restype_ = self._func_restype_ self._FuncPtr = _FuncPtr if handle is None: self._handle = _dlopen(self._name, mode) else: self._handle = handle def __repr__(self): return "<%s '%s', handle %x at %#x>" % \ (self.__class__.__name__, self._name, (self._handle & (_sys.maxsize*2 + 1)), id(self) & (_sys.maxsize*2 + 1)) def __getattr__(self, name): if name.startswith('__') and name.endswith('__'): raise AttributeError(name) func = self.__getitem__(name) setattr(self, name, func) return func def __getitem__(self, name_or_ordinal): func = self._FuncPtr((name_or_ordinal, self)) if not isinstance(name_or_ordinal, int): func.__name__ = name_or_ordinal return func class PyDLL(CDLL): """This class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. """ _func_flags_ = _FUNCFLAG_CDECL | _FUNCFLAG_PYTHONAPI if _os.name == "nt": class WinDLL(CDLL): """This class represents a dll exporting functions using the Windows stdcall calling convention. """ _func_flags_ = _FUNCFLAG_STDCALL # XXX Hm, what about HRESULT as normal parameter? # Mustn't it derive from c_long then? from _ctypes import _check_HRESULT, _SimpleCData class HRESULT(_SimpleCData): _type_ = "l" # _check_retval_ is called with the function's result when it # is used as restype. It checks for the FAILED bit, and # raises an OSError if it is set. # # The _check_retval_ method is implemented in C, so that the # method definition itself is not included in the traceback # when it raises an error - that is what we want (and Python # doesn't have a way to raise an exception in the caller's # frame). _check_retval_ = _check_HRESULT class OleDLL(CDLL): """This class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. """ _func_flags_ = _FUNCFLAG_STDCALL _func_restype_ = HRESULT class LibraryLoader(object): def __init__(self, dlltype): self._dlltype = dlltype def __getattr__(self, name): if name[0] == '_': raise AttributeError(name) dll = self._dlltype(name) setattr(self, name, dll) return dll def __getitem__(self, name): return getattr(self, name) def LoadLibrary(self, name): return self._dlltype(name) cdll = LibraryLoader(CDLL) pydll = LibraryLoader(PyDLL) if _os.name == "nt": pythonapi = PyDLL("python dll", None, _sys.dllhandle) elif _sys.platform == "cygwin": pythonapi = PyDLL("libpython%d.%d.dll" % _sys.version_info[:2]) else: pythonapi = PyDLL(None) if _os.name == "nt": windll = LibraryLoader(WinDLL) oledll = LibraryLoader(OleDLL) GetLastError = windll.kernel32.GetLastError from _ctypes import get_last_error, set_last_error def WinError(code=None, descr=None): if code is None: code = GetLastError() if descr is None: descr = FormatError(code).strip() return OSError(None, descr, None, code) if sizeof(c_uint) == sizeof(c_void_p): c_size_t = c_uint c_ssize_t = c_int elif sizeof(c_ulong) == sizeof(c_void_p): c_size_t = c_ulong c_ssize_t = c_long elif sizeof(c_ulonglong) == sizeof(c_void_p): c_size_t = c_ulonglong c_ssize_t = c_longlong # functions from _ctypes import _memmove_addr, _memset_addr, _string_at_addr, _cast_addr ## void *memmove(void *, const void *, size_t); memmove = CFUNCTYPE(c_void_p, c_void_p, c_void_p, c_size_t)(_memmove_addr) ## void *memset(void *, int, size_t) memset = CFUNCTYPE(c_void_p, c_void_p, c_int, c_size_t)(_memset_addr) def PYFUNCTYPE(restype, *argtypes): class CFunctionType(_CFuncPtr): _argtypes_ = argtypes _restype_ = restype _flags_ = _FUNCFLAG_CDECL | _FUNCFLAG_PYTHONAPI return CFunctionType _cast = PYFUNCTYPE(py_object, c_void_p, py_object, py_object)(_cast_addr) def cast(obj, typ): return _cast(obj, obj, typ) _string_at = PYFUNCTYPE(py_object, c_void_p, c_int)(_string_at_addr) def string_at(ptr, size=-1): """string_at(addr[, size]) -> string Return the string at addr.""" return _string_at(ptr, size) try: from _ctypes import _wstring_at_addr except ImportError: pass else: _wstring_at = PYFUNCTYPE(py_object, c_void_p, c_int)(_wstring_at_addr) def wstring_at(ptr, size=-1): """wstring_at(addr[, size]) -> string Return the string at addr.""" return _wstring_at(ptr, size) if _os.name == "nt": # COM stuff def DllGetClassObject(rclsid, riid, ppv): try: ccom = __import__("comtypes.server.inprocserver", globals(), locals(), ['*']) except ImportError: return -2147221231 # CLASS_E_CLASSNOTAVAILABLE else: return ccom.DllGetClassObject(rclsid, riid, ppv) def DllCanUnloadNow(): try: ccom = __import__("comtypes.server.inprocserver", globals(), locals(), ['*']) except ImportError: return 0 # S_OK return ccom.DllCanUnloadNow() from ctypes._endian import BigEndianStructure, LittleEndianStructure # Fill in specifically-sized types c_int8 = c_byte c_uint8 = c_ubyte for kind in [c_short, c_int, c_long, c_longlong]: if sizeof(kind) == 2: c_int16 = kind elif sizeof(kind) == 4: c_int32 = kind elif sizeof(kind) == 8: c_int64 = kind for kind in [c_ushort, c_uint, c_ulong, c_ulonglong]: if sizeof(kind) == 2: c_uint16 = kind elif sizeof(kind) == 4: c_uint32 = kind elif sizeof(kind) == 8: c_uint64 = kind del(kind) _reset_cache() PK!l7676util.pynu[import os import shutil import subprocess import sys # find_library(name) returns the pathname of a library, or None. if os.name == "nt": def _get_build_version(): """Return the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. """ # This function was copied from Lib/distutils/msvccompiler.py prefix = "MSC v." i = sys.version.find(prefix) if i == -1: return 6 i = i + len(prefix) s, rest = sys.version[i:].split(" ", 1) majorVersion = int(s[:-2]) - 6 if majorVersion >= 13: majorVersion += 1 minorVersion = int(s[2:3]) / 10.0 # I don't think paths are affected by minor version in version 6 if majorVersion == 6: minorVersion = 0 if majorVersion >= 6: return majorVersion + minorVersion # else we don't know what version of the compiler this is return None def find_msvcrt(): """Return the name of the VC runtime dll""" version = _get_build_version() if version is None: # better be safe than sorry return None if version <= 6: clibname = 'msvcrt' elif version <= 13: clibname = 'msvcr%d' % (version * 10) else: # CRT is no longer directly loadable. See issue23606 for the # discussion about alternative approaches. return None # If python was built with in debug mode import importlib.machinery if '_d.pyd' in importlib.machinery.EXTENSION_SUFFIXES: clibname += 'd' return clibname+'.dll' def find_library(name): if name in ('c', 'm'): return find_msvcrt() # See MSDN for the REAL search order. for directory in os.environ['PATH'].split(os.pathsep): fname = os.path.join(directory, name) if os.path.isfile(fname): return fname if fname.lower().endswith(".dll"): continue fname = fname + ".dll" if os.path.isfile(fname): return fname return None elif os.name == "posix" and sys.platform == "darwin": from ctypes.macholib.dyld import dyld_find as _dyld_find def find_library(name): possible = ['lib%s.dylib' % name, '%s.dylib' % name, '%s.framework/%s' % (name, name)] for name in possible: try: return _dyld_find(name) except ValueError: continue return None elif sys.platform.startswith("aix"): # AIX has two styles of storing shared libraries # GNU auto_tools refer to these as svr4 and aix # svr4 (System V Release 4) is a regular file, often with .so as suffix # AIX style uses an archive (suffix .a) with members (e.g., shr.o, libssl.so) # see issue#26439 and _aix.py for more details from ctypes._aix import find_library elif os.name == "posix": # Andreas Degert's find functions, using gcc, /sbin/ldconfig, objdump import re, tempfile def _is_elf(filename): "Return True if the given file is an ELF file" elf_header = b'\x7fELF' with open(filename, 'br') as thefile: return thefile.read(4) == elf_header def _findLib_gcc(name): # Run GCC's linker with the -t (aka --trace) option and examine the # library name it prints out. The GCC command will fail because we # haven't supplied a proper program with main(), but that does not # matter. expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) c_compiler = shutil.which('gcc') if not c_compiler: c_compiler = shutil.which('cc') if not c_compiler: # No C compiler available, give up return None temp = tempfile.NamedTemporaryFile() try: args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] env = dict(os.environ) env['LC_ALL'] = 'C' env['LANG'] = 'C' try: proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=env) except OSError: # E.g. bad executable return None with proc: trace = proc.stdout.read() finally: try: temp.close() except FileNotFoundError: # Raised if the file was already removed, which is the normal # behaviour of GCC if linking fails pass res = re.findall(expr, trace) if not res: return None for file in res: # Check if the given file is an elf file: gcc can report # some files that are linker scripts and not actual # shared objects. See bpo-41976 for more details if not _is_elf(file): continue return os.fsdecode(file) if sys.platform == "sunos5": # use /usr/ccs/bin/dump on solaris def _get_soname(f): if not f: return None try: proc = subprocess.Popen(("/usr/ccs/bin/dump", "-Lpv", f), stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) except OSError: # E.g. command not found return None with proc: data = proc.stdout.read() res = re.search(br'\[.*\]\sSONAME\s+([^\s]+)', data) if not res: return None return os.fsdecode(res.group(1)) else: def _get_soname(f): # assuming GNU binutils / ELF if not f: return None objdump = shutil.which('objdump') if not objdump: # objdump is not available, give up return None try: proc = subprocess.Popen((objdump, '-p', '-j', '.dynamic', f), stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) except OSError: # E.g. bad executable return None with proc: dump = proc.stdout.read() res = re.search(br'\sSONAME\s+([^\s]+)', dump) if not res: return None return os.fsdecode(res.group(1)) if sys.platform.startswith(("freebsd", "openbsd", "dragonfly")): def _num_version(libname): # "libxyz.so.MAJOR.MINOR" => [ MAJOR, MINOR ] parts = libname.split(b".") nums = [] try: while parts: nums.insert(0, int(parts.pop())) except ValueError: pass return nums or [sys.maxsize] def find_library(name): ename = re.escape(name) expr = r':-l%s\.\S+ => \S*/(lib%s\.\S+)' % (ename, ename) expr = os.fsencode(expr) try: proc = subprocess.Popen(('/sbin/ldconfig', '-r'), stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) except OSError: # E.g. command not found data = b'' else: with proc: data = proc.stdout.read() res = re.findall(expr, data) if not res: return _get_soname(_findLib_gcc(name)) res.sort(key=_num_version) return os.fsdecode(res[-1]) elif sys.platform == "sunos5": def _findLib_crle(name, is64): if not os.path.exists('/usr/bin/crle'): return None env = dict(os.environ) env['LC_ALL'] = 'C' if is64: args = ('/usr/bin/crle', '-64') else: args = ('/usr/bin/crle',) paths = None try: proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, env=env) except OSError: # E.g. bad executable return None with proc: for line in proc.stdout: line = line.strip() if line.startswith(b'Default Library Path (ELF):'): paths = os.fsdecode(line).split()[4] if not paths: return None for dir in paths.split(":"): libfile = os.path.join(dir, "lib%s.so" % name) if os.path.exists(libfile): return libfile return None def find_library(name, is64 = False): return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) else: def _findSoname_ldconfig(name): import struct if struct.calcsize('l') == 4: machine = os.uname().machine + '-32' else: machine = os.uname().machine + '-64' mach_map = { 'x86_64-64': 'libc6,x86-64', 'ppc64-64': 'libc6,64bit', 'sparc64-64': 'libc6,64bit', 's390x-64': 'libc6,64bit', 'ia64-64': 'libc6,IA-64', } abi_type = mach_map.get(machine, 'libc6') # XXX assuming GLIBC's ldconfig (with option -p) regex = r'\s+(lib%s\.[^\s]+)\s+\(%s' regex = os.fsencode(regex % (re.escape(name), abi_type)) try: with subprocess.Popen(['/sbin/ldconfig', '-p'], stdin=subprocess.DEVNULL, stderr=subprocess.DEVNULL, stdout=subprocess.PIPE, env={'LC_ALL': 'C', 'LANG': 'C'}) as p: res = re.search(regex, p.stdout.read()) if res: return os.fsdecode(res.group(1)) except OSError: pass def _findLib_ld(name): # See issue #9998 for why this is needed expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name) cmd = ['ld', '-t'] libpath = os.environ.get('LD_LIBRARY_PATH') if libpath: for d in libpath.split(':'): cmd.extend(['-L', d]) cmd.extend(['-o', os.devnull, '-l%s' % name]) result = None try: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) out, _ = p.communicate() res = re.findall(expr, os.fsdecode(out)) for file in res: # Check if the given file is an elf file: gcc can report # some files that are linker scripts and not actual # shared objects. See bpo-41976 for more details if not _is_elf(file): continue return os.fsdecode(file) except Exception: pass # result will be None return result def find_library(name): # See issue #9998 return _findSoname_ldconfig(name) or \ _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name)) ################################################################ # test code def test(): from ctypes import cdll if os.name == "nt": print(cdll.msvcrt) print(cdll.load("msvcrt")) print(find_library("msvcrt")) if os.name == "posix": # find and load_version print(find_library("m")) print(find_library("c")) print(find_library("bz2")) # load if sys.platform == "darwin": print(cdll.LoadLibrary("libm.dylib")) print(cdll.LoadLibrary("libcrypto.dylib")) print(cdll.LoadLibrary("libSystem.dylib")) print(cdll.LoadLibrary("System.framework/System")) # issue-26439 - fix broken test call for AIX elif sys.platform.startswith("aix"): from ctypes import CDLL if sys.maxsize < 2**32: print(f"Using CDLL(name, os.RTLD_MEMBER): {CDLL('libc.a(shr.o)', os.RTLD_MEMBER)}") print(f"Using cdll.LoadLibrary(): {cdll.LoadLibrary('libc.a(shr.o)')}") # librpm.so is only available as 32-bit shared library print(find_library("rpm")) print(cdll.LoadLibrary("librpm.so")) else: print(f"Using CDLL(name, os.RTLD_MEMBER): {CDLL('libc.a(shr_64.o)', os.RTLD_MEMBER)}") print(f"Using cdll.LoadLibrary(): {cdll.LoadLibrary('libc.a(shr_64.o)')}") print(f"crypt\t:: {find_library('crypt')}") print(f"crypt\t:: {cdll.LoadLibrary(find_library('crypt'))}") print(f"crypto\t:: {find_library('crypto')}") print(f"crypto\t:: {cdll.LoadLibrary(find_library('crypto'))}") else: print(cdll.LoadLibrary("libm.so")) print(cdll.LoadLibrary("libcrypt.so")) print(find_library("crypt")) if __name__ == "__main__": test() PK! wintypes.pynu[# The most useful windows datatypes import ctypes BYTE = ctypes.c_byte WORD = ctypes.c_ushort DWORD = ctypes.c_ulong #UCHAR = ctypes.c_uchar CHAR = ctypes.c_char WCHAR = ctypes.c_wchar UINT = ctypes.c_uint INT = ctypes.c_int DOUBLE = ctypes.c_double FLOAT = ctypes.c_float BOOLEAN = BYTE BOOL = ctypes.c_long class VARIANT_BOOL(ctypes._SimpleCData): _type_ = "v" def __repr__(self): return "%s(%r)" % (self.__class__.__name__, self.value) ULONG = ctypes.c_ulong LONG = ctypes.c_long USHORT = ctypes.c_ushort SHORT = ctypes.c_short # in the windows header files, these are structures. _LARGE_INTEGER = LARGE_INTEGER = ctypes.c_longlong _ULARGE_INTEGER = ULARGE_INTEGER = ctypes.c_ulonglong LPCOLESTR = LPOLESTR = OLESTR = ctypes.c_wchar_p LPCWSTR = LPWSTR = ctypes.c_wchar_p LPCSTR = LPSTR = ctypes.c_char_p LPCVOID = LPVOID = ctypes.c_void_p # WPARAM is defined as UINT_PTR (unsigned type) # LPARAM is defined as LONG_PTR (signed type) if ctypes.sizeof(ctypes.c_long) == ctypes.sizeof(ctypes.c_void_p): WPARAM = ctypes.c_ulong LPARAM = ctypes.c_long elif ctypes.sizeof(ctypes.c_longlong) == ctypes.sizeof(ctypes.c_void_p): WPARAM = ctypes.c_ulonglong LPARAM = ctypes.c_longlong ATOM = WORD LANGID = WORD COLORREF = DWORD LGRPID = DWORD LCTYPE = DWORD LCID = DWORD ################################################################ # HANDLE types HANDLE = ctypes.c_void_p # in the header files: void * HACCEL = HANDLE HBITMAP = HANDLE HBRUSH = HANDLE HCOLORSPACE = HANDLE HDC = HANDLE HDESK = HANDLE HDWP = HANDLE HENHMETAFILE = HANDLE HFONT = HANDLE HGDIOBJ = HANDLE HGLOBAL = HANDLE HHOOK = HANDLE HICON = HANDLE HINSTANCE = HANDLE HKEY = HANDLE HKL = HANDLE HLOCAL = HANDLE HMENU = HANDLE HMETAFILE = HANDLE HMODULE = HANDLE HMONITOR = HANDLE HPALETTE = HANDLE HPEN = HANDLE HRGN = HANDLE HRSRC = HANDLE HSTR = HANDLE HTASK = HANDLE HWINSTA = HANDLE HWND = HANDLE SC_HANDLE = HANDLE SERVICE_STATUS_HANDLE = HANDLE ################################################################ # Some important structure definitions class RECT(ctypes.Structure): _fields_ = [("left", LONG), ("top", LONG), ("right", LONG), ("bottom", LONG)] tagRECT = _RECTL = RECTL = RECT class _SMALL_RECT(ctypes.Structure): _fields_ = [('Left', SHORT), ('Top', SHORT), ('Right', SHORT), ('Bottom', SHORT)] SMALL_RECT = _SMALL_RECT class _COORD(ctypes.Structure): _fields_ = [('X', SHORT), ('Y', SHORT)] class POINT(ctypes.Structure): _fields_ = [("x", LONG), ("y", LONG)] tagPOINT = _POINTL = POINTL = POINT class SIZE(ctypes.Structure): _fields_ = [("cx", LONG), ("cy", LONG)] tagSIZE = SIZEL = SIZE def RGB(red, green, blue): return red + (green << 8) + (blue << 16) class FILETIME(ctypes.Structure): _fields_ = [("dwLowDateTime", DWORD), ("dwHighDateTime", DWORD)] _FILETIME = FILETIME class MSG(ctypes.Structure): _fields_ = [("hWnd", HWND), ("message", UINT), ("wParam", WPARAM), ("lParam", LPARAM), ("time", DWORD), ("pt", POINT)] tagMSG = MSG MAX_PATH = 260 class WIN32_FIND_DATAA(ctypes.Structure): _fields_ = [("dwFileAttributes", DWORD), ("ftCreationTime", FILETIME), ("ftLastAccessTime", FILETIME), ("ftLastWriteTime", FILETIME), ("nFileSizeHigh", DWORD), ("nFileSizeLow", DWORD), ("dwReserved0", DWORD), ("dwReserved1", DWORD), ("cFileName", CHAR * MAX_PATH), ("cAlternateFileName", CHAR * 14)] class WIN32_FIND_DATAW(ctypes.Structure): _fields_ = [("dwFileAttributes", DWORD), ("ftCreationTime", FILETIME), ("ftLastAccessTime", FILETIME), ("ftLastWriteTime", FILETIME), ("nFileSizeHigh", DWORD), ("nFileSizeLow", DWORD), ("dwReserved0", DWORD), ("dwReserved1", DWORD), ("cFileName", WCHAR * MAX_PATH), ("cAlternateFileName", WCHAR * 14)] ################################################################ # Pointer types LPBOOL = PBOOL = ctypes.POINTER(BOOL) PBOOLEAN = ctypes.POINTER(BOOLEAN) LPBYTE = PBYTE = ctypes.POINTER(BYTE) PCHAR = ctypes.POINTER(CHAR) LPCOLORREF = ctypes.POINTER(COLORREF) LPDWORD = PDWORD = ctypes.POINTER(DWORD) LPFILETIME = PFILETIME = ctypes.POINTER(FILETIME) PFLOAT = ctypes.POINTER(FLOAT) LPHANDLE = PHANDLE = ctypes.POINTER(HANDLE) PHKEY = ctypes.POINTER(HKEY) LPHKL = ctypes.POINTER(HKL) LPINT = PINT = ctypes.POINTER(INT) PLARGE_INTEGER = ctypes.POINTER(LARGE_INTEGER) PLCID = ctypes.POINTER(LCID) LPLONG = PLONG = ctypes.POINTER(LONG) LPMSG = PMSG = ctypes.POINTER(MSG) LPPOINT = PPOINT = ctypes.POINTER(POINT) PPOINTL = ctypes.POINTER(POINTL) LPRECT = PRECT = ctypes.POINTER(RECT) LPRECTL = PRECTL = ctypes.POINTER(RECTL) LPSC_HANDLE = ctypes.POINTER(SC_HANDLE) PSHORT = ctypes.POINTER(SHORT) LPSIZE = PSIZE = ctypes.POINTER(SIZE) LPSIZEL = PSIZEL = ctypes.POINTER(SIZEL) PSMALL_RECT = ctypes.POINTER(SMALL_RECT) LPUINT = PUINT = ctypes.POINTER(UINT) PULARGE_INTEGER = ctypes.POINTER(ULARGE_INTEGER) PULONG = ctypes.POINTER(ULONG) PUSHORT = ctypes.POINTER(USHORT) PWCHAR = ctypes.POINTER(WCHAR) LPWIN32_FIND_DATAA = PWIN32_FIND_DATAA = ctypes.POINTER(WIN32_FIND_DATAA) LPWIN32_FIND_DATAW = PWIN32_FIND_DATAW = ctypes.POINTER(WIN32_FIND_DATAW) LPWORD = PWORD = ctypes.POINTER(WORD) PK!t(__pycache__/_endian.cpython-36.opt-1.pycnu[3  f@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr 3/opt/alt/python36/lib64/python3.6/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacsb|dkrPg}x>|D]6}|d}|d}|dd}|j|t|f|qW|}tj||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs  z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r )rrrsrlittleZ __ctype_be__c@seZdZdZfZdZdS)BigEndianStructurez$Structure with big endian byte orderN)rrr__doc__ __slots___swappedbytes_r r r rr.sr) metaclassZbigZ __ctype_le__c@seZdZdZfZdZdS)LittleEndianStructurez'Structure with little endian byte orderN)rrrr r!r"r r r rr$7sr$zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr$r RuntimeErrorr r r rs  PK!_5_5)__pycache__/__init__.cpython-36.opt-2.pycnu[3  f1@ @s:ddlZddlZdZddlmZmZmZddlm Z ddlm Z ddlmZ ddlm Z mZddlmZdd lmZee kred ee ejd krdd lmZe Zejd krejdkreejjjdddkreZddlmZmZm Z!m"Z#d|ddZ$d}ddZ%iZ&ddZ'ejd krXddlm(Z)ddlm*Z+iZ,ddZ-e-j.rpe'j.j/dde-_.nejd krpddlm0Z)ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7ddlm8Z8d~d d!Z9Gd"d#d#e8Z:e9e:d$Gd%d&d&e8Z;e9e;Gd'd(d(e8Ze9e>ed-ed.krHe=Z?e>Z@n0Gd/d0d0e8Z?e9e?Gd1d2d2e8Z@e9e@Gd3d4d4e8ZAe9eAGd5d6d6e8ZBe9eBGd7d8d8e8ZCe1eCe1eBkreBZCed.ed9kre=ZDe>ZEn0Gd:d;d;e8ZDe9eDGdd?d?e8ZFeFeF_GeF_He9eFGd@dAdAe8ZIeIeI_GeI_He9eIGdBdCdCe8ZJeJeJ_GeJ_He9eJGdDdEdEe8ZKe9eKd$GdFdGdGe8ZLeLZMe9eLGdHdIdIe8ZNddJlmOZOmPZPmQZQGdKdLdLe8ZRGdMdNdNe8ZSdOdPZTddQdRZUdSdTZVdUdVZWGdWdXdXeXZYGdYdZdZeYZZejd krGd[d\d\eYZ[dd]lm\Z\m8Z8Gd^d_d_e8Z]Gd`dadaeYZ^GdbdcdceXZ_e_eYZ`e_eZZaejd kreZdddejbZcn,ejdekreZdfejdddgZcneZdZcejd krJe_e[Zee_e^Zfejd kr(eejgjhZhneejijhZhddhlmjZjmkZkddidjZle1e@e1eLkrfe@Zme?Znn6e1e>e1eLkre>Zme=Znne1eEe1eLkreEZmeDZnddklmoZompZpmqZqmrZre'eLeLeLemeoZse'eLeLe?emepZtdldmZueue:eLe:e:erZvdndoZweue:eLe?eqZxddqdrZyyddslmzZzWne{k r:YnXeue:eLe?ezZ|ddtduZ}ejd krrdvdwZ~dxdyZddzlmZmZeIZeFZxPe;e?e=eDgD]@Ze1edgkreZn&e1ed{kreZne1edkreZqWxPeeEgD]@Ze1edgkreZn&e1ed{kreZne1edkreZqW[eTdS)Nz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr"-/opt/alt/python36/lib64/python3.6/__init__.pycreate_string_buffer/s   r$cCs t||S)N)r$)rrr"r"r#c_bufferAsr%c st|jddrtO|jddr,tO|r@td|jytfStk rGfdddt}|tf<|SXdS)N use_errnoFuse_last_errorz!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r")argtypesflagsrestyper"r# CFunctionTypecsr1) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r0r.kwr1r")r.r/r0r# CFUNCTYPEIs  r<) LoadLibrary)FUNCFLAG_STDCALLc st|jddrtO|jddr,tO|r@td|jytfStk rGfdddt}|tf<|SXdS)Nr&Fr'z!unexpected keyword argument(s) %scseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r(r)r*r+r,r-r")r.r/r0r"r#WinFunctionType{sr?) _FUNCFLAG_STDCALLr3r4r5r6r7_win_functype_cacher9r:)r0r.r;r?r")r.r/r0r# WINFUNCTYPEos  rB)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rD SystemError)typtypecoder actualrequiredr"r"r# _check_sizes rScs eZdZdZfddZZS) py_objectOc s.y tjStk r(dt|jSXdS)Nz %s())super__repr__r6typer()self) __class__r"r#rWs zpy_object.__repr__)r(r)r*rMrW __classcell__r"r")rZr#rTsrTPc@seZdZdZdS)c_shorthN)r(r)r*rMr"r"r"r#r]sr]c@seZdZdZdS)c_ushortHN)r(r)r*rMr"r"r"r#r_sr_c@seZdZdZdS)c_longlN)r(r)r*rMr"r"r"r#rasrac@seZdZdZdS)c_ulongLN)r(r)r*rMr"r"r"r#rcsrcirbc@seZdZdZdS)c_intreN)r(r)r*rMr"r"r"r#rfsrfc@seZdZdZdS)c_uintIN)r(r)r*rMr"r"r"r#rgsrgc@seZdZdZdS)c_floatfN)r(r)r*rMr"r"r"r#risric@seZdZdZdS)c_doubledN)r(r)r*rMr"r"r"r#rksrkc@seZdZdZdS) c_longdoublegN)r(r)r*rMr"r"r"r#rmsrmqc@seZdZdZdS) c_longlongroN)r(r)r*rMr"r"r"r#rpsrpc@seZdZdZdS) c_ulonglongQN)r(r)r*rMr"r"r"r#rqsrqc@seZdZdZdS)c_ubyteBN)r(r)r*rMr"r"r"r#rssrsc@seZdZdZdS)c_bytebN)r(r)r*rMr"r"r"r#rusruc@seZdZdZdS)rcN)r(r)r*rMr"r"r"r#rsrc@seZdZdZddZdS)c_char_pzcCsd|jjtj|jfS)Nz%s(%s))rZr(c_void_p from_bufferr)rYr"r"r#rWszc_char_p.__repr__N)r(r)r*rMrWr"r"r"r#rxsrxc@seZdZdZdS)rzr\N)r(r)r*rMr"r"r"r#rzsrzc@seZdZdZdS)c_bool?N)r(r)r*rMr"r"r"r#r|sr|)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjtj|jfS)Nz%s(%s))rZr(rzr{r)rYr"r"r#rWszc_wchar_p.__repr__N)r(r)r*rMrWr"r"r"r#rsrc@seZdZdZdS)c_wcharuN)r(r)r*rMr"r"r"r#rsrcCsFtjtjtjdkr"tjtjtt _t jtt _t td<dS)Nr ) rclearr8_osnamerArZ from_paramr~rrxrrzr"r"r"r# _reset_caches   rcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)Nr)rstrrrrrr)rrr r!r"r"r#create_unicode_buffers   rcCsLtj|ddk rtdt|tkr,td|j||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridZset_type)rclsr"r"r#SetPointerType"s  rcCs||S)Nr")rOrr"r"r#ARRAY,src@sJeZdZeZeZdZdZdZ e dddfddZ ddZ d d Z d d ZdS) CDLLzrNFcsb|_j|rtO|r$tOGfdddt}|_|dkrXtj|_n|_dS)NcseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r(r)r*r-_func_restype_r,r")r/rYr"r#_FuncPtrQsr)_name _func_flags_r4r5r:r_dlopen_handle)rYrmodeZhandler&r'rr")r/rYr#__init__Gsz CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>r)rZr(rr_sysmaxsizer)rYr"r"r#rW[s z CDLL.__repr__cCs6|jdr|jdrt||j|}t||||S)N__) startswithendswithAttributeError __getitem__setattr)rYrfuncr"r"r# __getattr__as   zCDLL.__getattr__cCs"|j||f}t|ts||_|S)N)rrrr()rYZname_or_ordinalrr"r"r#rhs zCDLL.__getitem__)r(r)r*r2rrfrrrr DEFAULT_MODErrWrrr"r"r"r#r2s rc@seZdZeeBZdS)PyDLLN)r(r)r*r2_FUNCFLAG_PYTHONAPIrr"r"r"r#rnsrc@seZdZeZdS)WinDLLN)r(r)r*r@rr"r"r"r#rwsr)_check_HRESULTrKc@seZdZdZeZdS)HRESULTrbN)r(r)r*rMrZ_check_retval_r"r"r"r#rs rc@seZdZeZeZdS)OleDLLN)r(r)r*r@rrrr"r"r"r#rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rYZdlltyper"r"r#rszLibraryLoader.__init__cCs.|ddkrt||j|}t||||S)Nr_)rrr)rYrZdllr"r"r#rs    zLibraryLoader.__getattr__cCs t||S)N)getattr)rYrr"r"r#rszLibraryLoader.__getitem__cCs |j|S)N)r)rYrr"r"r#r=szLibraryLoader.LoadLibraryN)r(r)r*rrrr=r"r"r"r#rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|j}td|d|S)N) GetLastErrorr stripOSError)codeZdescrr"r"r#WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r(r)r*r+r,r2rr-r")r.r0r"r#r1sr1)r:)r0r.r1r")r.r0r# PYFUNCTYPEsrcCs t|||S)N)_cast)objrOr"r"r#castsrrcCs t||S)N) _string_at)ptrrr"r"r# string_atsr)_wstring_at_addrcCs t||S)N) _wstring_at)rrr"r"r# wstring_atsrc Cs@ytdttdg}Wntk r,dSX|j|||SdS)Nzcomtypes.server.inprocserver*ii) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr"r"r#rs rc Cs6ytdttdg}Wntk r,dSX|jS)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr"r"r#rs r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)rr)r)osrsysrrZ_ctypesrrrrrr:Z_ctypes_versionrr r rLr Z _calcsize Exceptionrr rplatformrunamereleasesplitrr2rrrr4rr5r$r%r8r<r=rr>r@rArB__doc__replacerCrDrErFrGrHrIrJrKrSrTr]r_rarcrfrgrirkrmrprqrsZ __ctype_le__Z __ctype_be__rurrxrzZc_voidpr|r~rrrrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rZcoredllrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8kindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r"r"r"r#s6          !              <              PK!Z&?)__pycache__/wintypes.cpython-36.opt-1.pycnu[3  f@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,krejZ0ejZ1n$ej/ejej/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr4/opt/alt/python36/lib64/python3.6/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r asr c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhsrc@seZdZdefdefgZdS)_COORDXYN)rr r rrrrrr rosrc@seZdZdefdefgZdS)POINTxyN)rr r rrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxZcyN)rr r rrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr rsrc@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeZptN) rr r HWNDUINTWPARAMLPARAMr rrrrrr r!s r!ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r rCHARMAX_PATHrrrrr r's r'c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr(r)r*r+r,r-r.r/r0r1r2N)rr r r rWCHARr4rrrrr r5s r5)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr Zc_charr3Zc_wcharr6Zc_uintr$Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr%r&ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr#Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrrZ _FILETIMEr!ZtagMSGr4r'r5ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!a,sII%__pycache__/util.cpython-36.opt-1.pycnu[3  f-@sddlZddlZddlZddlZejdkrBddZddZddZejd krlejd krldd l m Z d dZnejd krddl Z ddl Z d dZejdkrddZnddZejjd%rddZddZn6ejdkrddZd&ddZnddZdd Zd!dZd"d#Zed$kredS)'NntcCsd}tjj|}|d krdS|t|}tj|djdd\}}t|dd d}|dkrf|d7}t|ddd }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr0/opt/alt/python36/lib64/python3.6/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s rcCst|dkrtSx`tjdjtjD]J}tjj||}tjj|rD|S|jj drTq"|d}tjj|r"|Sq"WdS)NcmPATHz.dll)r r!) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s  r,posixdarwin) dyld_findc CsLd|d|d||fg}x,|D]$}yt|Stk rBw Yq Xq WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r+possiblerrrr,Hs  c !Cstjdtj|}tjd}|s,tjd}|s4dStj}z||dd|jd|g}t tj }d|d<d|d <yt j |t j t j|d }Wntk rdSX||jj}WdQRXWdy |jWntk rYnXXtj||}|sdStj|jd S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*gccZccz-Wl,-tz-oz-lCLC_ALLLANG)stdoutstderrenvr)r#fsencodereescapeshutilwhichtempfileZNamedTemporaryFiler+dictr$ subprocessPopenPIPEZSTDOUTOSErrorr7readcloseFileNotFoundErrorsearchfsdecodegroup) r+exprZ c_compilerZtempargsr9procZtraceresrrr _findLib_gccWs:      rOZsunos5cCsz|sdSytjdd|ftjtjd}Wntk r:dSX||jj}WdQRXtjd|}|sjdSt j |j dS)Nz/usr/ccs/bin/dumpz-Lpv)r7r8s\[.*\]\sSONAME\s+([^\s]+)r) rArBrCDEVNULLrDr7rEr;rHr#rIrJ)frMdatarNrrr _get_sonames  rScCs|sdStjd}|sdSy"tj|ddd|ftjtjd}Wntk rPdSX||jj}WdQRXt j d|}|sdSt j |j dS)Nobjdumpz-pz-jz.dynamic)r7r8s\sSONAME\s+([^\s]+)r)r=r>rArBrCrPrDr7rEr;rHr#rIrJ)rQrTrMdumprNrrrrSs"  freebsdopenbsd dragonflyc CsR|jd}g}y"x|r,|jdt|jqWWntk rDYnX|pPtjgS)N.r)rinsertrpopr1r maxsize)ZlibnamepartsZnumsrrr _num_versions r^cCstj|}d||f}tj|}ytjdtjtjd}Wntk rPd}YnX||j j }WdQRXtj ||}|st t |S|jtdtj|d S) Nz:-l%s\.\S+ => \S*/(lib%s\.\S+)/sbin/ldconfig-r)r7r8)keyr)r_r`r )r;r<r#r:rArBrCrPrDr7rEfindallrSrOsortr^rI)r+ZenamerKrMrRrNrrrr,s        c CstjjdsdSttj}d|d<|r,d }nd }d}ytj|tjtj|d}Wnt k rbdSX|:x2|j D](}|j }|j drrtj |jd}qrWWdQRX|sdSx4|jdD]&}tjj|d |}tjj|r|SqWdS) N /usr/bin/crler4r5-64)r7r8r9sDefault Library Path (ELF)::zlib%s.so)rerf)re)r#r&existsr@r$rArBrCrPrDr7strip startswithrIrr') r+is64r9rLpathsrMlinedirZlibfilerrr _findLib_crles6       rpFcCstt||pt|S)N)rSrprO)r+rlrrrr,scCsddl}|jddkr&tjjd}ntjjd}dddddd }|j|d }d }tj|tj||f}yZt j d d gt j t j t j dddd,}tj ||jj}|rtj|jdSWdQRXWntk rYnXdS)Nrlrgz-32z-64z libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pr4)r5r6)stdinr8r7r9r)structZcalcsizer#unamemachinegetr:r;r<rArBrPrCrHr7rErIrJrD)r+rsruZmach_mapZabi_typeZregexprNrrr_findSoname_ldconfigs.  rxc Csdtj|}ddg}tjjd}|rHx |jdD]}|jd|gq2W|jdtjd|gd}yFtj |tj tj d d }|j \}}tj |tj |} | r| jd }Wn"tk r} zWYdd} ~ XnX|S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*Zldz-tZLD_LIBRARY_PATHrhz-Lz-oz-l%sT)r7r8Zuniversal_newlinesr)r;r<r#r$rvrextenddevnullrArBrCZ communicaterHrIrJ Exception) r+rKcmdZlibpathrresultrwout_rNerrr _findLib_lds&   rcCst|ptt|pt|S)N)rxrSrOr)r+rrrr,,scCsddlm}tjdkr:t|jt|jdttdtjdkrttdttdttdtj d krt|j d t|j d t|j d t|j d n(t|j dt|j dttddS)Nr)cdllrrr-r!r bz2r.z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemzlibm.soz libcrypt.soZcrypt) Zctypesrr#r+printrloadr,r platformZ LoadLibrary)rrrrtest4s"         r__main__)rVrWrX)F)r#r=rAr r+rrr,rZctypes.macholib.dyldr/r0r;r?rOrSrkr^rprxrr__name__rrrrs8   +     $  PK!υJJ%__pycache__/util.cpython-36.opt-2.pycnu[3 2a-@sddlZddlZddlZddlZejdkrBddZddZddZejd krlejd krldd l m Z d dZnejd krddl Z ddl Z d dZejdkrddZnddZejjd%rddZddZn6ejdkrddZd&ddZnddZdd Zd!dZd"d#Zed$kredS)'NntcCsd}tjj|}|d krdS|t|}tj|djdd\}}t|dd d}|dkrf|d7}t|ddd}|dkrd }|dkr||SdS) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr)/opt/alt/python36/lib64/python3.6/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d7}|d S) Nrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rZimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s rcCst|dkrtSx`tjdjtjD]J}tjj||}tjj|rD|S|jj drTq"|d}tjj|r"|Sq"WdS)NcmPATHz.dll)rr ) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s  r+posixdarwin) dyld_findc CsLd|d|d||fg}x,|D]$}yt|Stk rBw Yq Xq WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r*possiblerrrr+Hs  c !Cstjdtj|}tjd}|s,tjd}|s4dStj}z||dd|jd|g}t tj }d|d<d|d <yt j |t j t j|d }Wntk rdSX||jj}WdQRXWdy |jWntk rYnXXtj||}|sdStj|jd S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*gccZccz-Wl,-tz-oz-lCLC_ALLLANG)stdoutstderrenvr)r"fsencodereescapeshutilwhichtempfileZNamedTemporaryFiler*dictr# subprocessPopenPIPEZSTDOUTOSErrorr6readcloseFileNotFoundErrorsearchfsdecodegroup) r*exprZ c_compilerZtempargsr8procZtraceresrrr _findLib_gccWs:      rNZsunos5cCsz|sdSytjdd|ftjtjd}Wntk r:dSX||jj}WdQRXtjd|}|sjdSt j |j dS)Nz/usr/ccs/bin/dumpz-Lpv)r6r7s\[.*\]\sSONAME\s+([^\s]+)r) r@rArBDEVNULLrCr6rDr:rGr"rHrI)frLdatarMrrr _get_sonames  rRcCs|sdStjd}|sdSy"tj|ddd|ftjtjd}Wntk rPdSX||jj}WdQRXt j d|}|sdSt j |j dS)Nobjdumpz-pz-jz.dynamic)r6r7s\sSONAME\s+([^\s]+)r)r<r=r@rArBrOrCr6rDr:rGr"rHrI)rPrSrLdumprMrrrrRs"  freebsdopenbsd dragonflyc CsR|jd}g}y"x|r,|jdt|jqWWntk rDYnX|pPtjgS)N.r)rinsertrpopr0r maxsize)ZlibnamepartsZnumsrrr _num_versions r]cCstj|}d||f}tj|}ytjdtjtjd}Wntk rPd}YnX||j j }WdQRXtj ||}|st t |S|jtdtj|d S) Nz:-l%s\.\S+ => \S*/(lib%s\.\S+)/sbin/ldconfig-r)r6r7)keyr)r^r_r )r:r;r"r9r@rArBrOrCr6rDfindallrRrNsortr]rH)r*ZenamerJrLrQrMrrrr+s        c CstjjdsdSttj}d|d<|r,d }nd }d}ytj|tjtj|d}Wnt k rbdSX|:x2|j D](}|j }|j drrtj |jd}qrWWdQRX|sdSx4|jdD]&}tjj|d |}tjj|r|SqWdS) N /usr/bin/crler3r4-64)r6r7r8sDefault Library Path (ELF)::zlib%s.so)rdre)rd)r"r%existsr?r#r@rArBrOrCr6strip startswithrHrr&) r*is64r8rKpathsrLlinedirZlibfilerrr _findLib_crles6       roFcCstt||pt|S)N)rRrorN)r*rkrrrr+scCsddl}|jddkr&tjjd}ntjjd}dddddd }|j|d }d }tj|tj||f}yZt j d d gt j t j t j dddd,}tj ||jj}|rtj|jdSWdQRXWntk rYnXdS)Nrlrfz-32z-64z libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pr3)r4r5)stdinr7r6r8r)structcalcsizer"unamemachinegetr9r:r;r@rArOrBrGr6rDrHrIrC)r*rrruZmach_mapZabi_typeZregexprMrrr_findSoname_ldconfigs.  rxc Csdtj|}ddg}tjjd}|rHx |jdD]}|jd|gq2W|jdtjd|gd}yFtj |tj tj d d }|j \}}tj |tj |} | r| jd }Wn"tk r} zWYdd} ~ XnX|S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*Zldz-tZLD_LIBRARY_PATHrgz-Lz-oz-l%sT)r6r7Zuniversal_newlinesr)r:r;r"r#rvrextenddevnullr@rArBZ communicaterGrHrI Exception) r*rJcmdZlibpathrresultrwout_rMerrr _findLib_lds&   rcCst|ptt|pt|S)N)rxrRrNr)r*rrrr+,scCsddlm}tjdkr:t|jt|jdttdtjdkrttdttdttdtj d krt|j d t|j d t|j d t|j d n(t|j dt|j dttddS)Nr)cdllrrr,r rbz2r-z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemzlibm.soz libcrypt.soZcrypt) Zctypesrr"r*printrloadr+r platformZ LoadLibrary)rrrrtest4s"         r__main__)rUrVrW)F)r"r<r@r r*rrr+rZctypes.macholib.dyldr.r/r:r>rNrRrjr]rorxrr__name__rrrrs8   +     $  PK!Z&?#__pycache__/wintypes.cpython-36.pycnu[3  f@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,krejZ0ejZ1n$ej/ejej/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr4/opt/alt/python36/lib64/python3.6/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r asr c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhsrc@seZdZdefdefgZdS)_COORDXYN)rr r rrrrrr rosrc@seZdZdefdefgZdS)POINTxyN)rr r rrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxZcyN)rr r rrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr rsrc@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeZptN) rr r HWNDUINTWPARAMLPARAMr rrrrrr r!s r!ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r rCHARMAX_PATHrrrrr r's r'c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr(r)r*r+r,r-r.r/r0r1r2N)rr r r rWCHARr4rrrrr r5s r5)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr Zc_charr3Zc_wcharr6Zc_uintr$Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr%r&ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr#Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrrZ _FILETIMEr!ZtagMSGr4r'r5ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!sZ-22(__pycache__/_endian.cpython-36.opt-2.pycnu[3 2a@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)Nz+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr ,/opt/alt/python36/lib64/python3.6/_endian.pyrs    rcseZdZfddZZS) _swapped_metacsb|dkrPg}x>|D]6}|d}|d}|dd}|j|t|f|qW|}tj||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs  z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r )rrrsrlittleZ __ctype_be__c@seZdZfZdZdS)BigEndianStructureN)rrr __slots___swappedbytes_r r r rr.sr) metaclassZbigZ __ctype_le__c@seZdZfZdZdS)LittleEndianStructureN)rrrr r!r r r rr#7sr#zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr#r RuntimeErrorr r r rs  PK!a,sII__pycache__/util.cpython-36.pycnu[3  f-@sddlZddlZddlZddlZejdkrBddZddZddZejd krlejd krldd l m Z d dZnejd krddl Z ddl Z d dZejdkrddZnddZejjd%rddZddZn6ejdkrddZd&ddZnddZdd Zd!dZd"d#Zed$kredS)'NntcCsd}tjj|}|d krdS|t|}tj|djdd\}}t|dd d}|dkrf|d7}t|ddd }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr0/opt/alt/python36/lib64/python3.6/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s rcCst|dkrtSx`tjdjtjD]J}tjj||}tjj|rD|S|jj drTq"|d}tjj|r"|Sq"WdS)NcmPATHz.dll)r r!) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s  r,posixdarwin) dyld_findc CsLd|d|d||fg}x,|D]$}yt|Stk rBw Yq Xq WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r+possiblerrrr,Hs  c !Cstjdtj|}tjd}|s,tjd}|s4dStj}z||dd|jd|g}t tj }d|d<d|d <yt j |t j t j|d }Wntk rdSX||jj}WdQRXWdy |jWntk rYnXXtj||}|sdStj|jd S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*gccZccz-Wl,-tz-oz-lCLC_ALLLANG)stdoutstderrenvr)r#fsencodereescapeshutilwhichtempfileZNamedTemporaryFiler+dictr$ subprocessPopenPIPEZSTDOUTOSErrorr7readcloseFileNotFoundErrorsearchfsdecodegroup) r+exprZ c_compilerZtempargsr9procZtraceresrrr _findLib_gccWs:      rOZsunos5cCsz|sdSytjdd|ftjtjd}Wntk r:dSX||jj}WdQRXtjd|}|sjdSt j |j dS)Nz/usr/ccs/bin/dumpz-Lpv)r7r8s\[.*\]\sSONAME\s+([^\s]+)r) rArBrCDEVNULLrDr7rEr;rHr#rIrJ)frMdatarNrrr _get_sonames  rScCs|sdStjd}|sdSy"tj|ddd|ftjtjd}Wntk rPdSX||jj}WdQRXt j d|}|sdSt j |j dS)Nobjdumpz-pz-jz.dynamic)r7r8s\sSONAME\s+([^\s]+)r)r=r>rArBrCrPrDr7rEr;rHr#rIrJ)rQrTrMdumprNrrrrSs"  freebsdopenbsd dragonflyc CsR|jd}g}y"x|r,|jdt|jqWWntk rDYnX|pPtjgS)N.r)rinsertrpopr1r maxsize)ZlibnamepartsZnumsrrr _num_versions r^cCstj|}d||f}tj|}ytjdtjtjd}Wntk rPd}YnX||j j }WdQRXtj ||}|st t |S|jtdtj|d S) Nz:-l%s\.\S+ => \S*/(lib%s\.\S+)/sbin/ldconfig-r)r7r8)keyr)r_r`r )r;r<r#r:rArBrCrPrDr7rEfindallrSrOsortr^rI)r+ZenamerKrMrRrNrrrr,s        c CstjjdsdSttj}d|d<|r,d }nd }d}ytj|tjtj|d}Wnt k rbdSX|:x2|j D](}|j }|j drrtj |jd}qrWWdQRX|sdSx4|jdD]&}tjj|d |}tjj|r|SqWdS) N /usr/bin/crler4r5-64)r7r8r9sDefault Library Path (ELF)::zlib%s.so)rerf)re)r#r&existsr@r$rArBrCrPrDr7strip startswithrIrr') r+is64r9rLpathsrMlinedirZlibfilerrr _findLib_crles6       rpFcCstt||pt|S)N)rSrprO)r+rlrrrr,scCsddl}|jddkr&tjjd}ntjjd}dddddd }|j|d }d }tj|tj||f}yZt j d d gt j t j t j dddd,}tj ||jj}|rtj|jdSWdQRXWntk rYnXdS)Nrlrgz-32z-64z libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pr4)r5r6)stdinr8r7r9r)structZcalcsizer#unamemachinegetr:r;r<rArBrPrCrHr7rErIrJrD)r+rsruZmach_mapZabi_typeZregexprNrrr_findSoname_ldconfigs.  rxc Csdtj|}ddg}tjjd}|rHx |jdD]}|jd|gq2W|jdtjd|gd}yFtj |tj tj d d }|j \}}tj |tj |} | r| jd }Wn"tk r} zWYdd} ~ XnX|S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*Zldz-tZLD_LIBRARY_PATHrhz-Lz-oz-l%sT)r7r8Zuniversal_newlinesr)r;r<r#r$rvrextenddevnullrArBrCZ communicaterHrIrJ Exception) r+rKcmdZlibpathrresultrwout_rNerrr _findLib_lds&   rcCst|ptt|pt|S)N)rxrSrOr)r+rrrr,,scCsddlm}tjdkr:t|jt|jdttdtjdkrttdttdttdtj d krt|j d t|j d t|j d t|j d n(t|j dt|j dttddS)Nr)cdllrrr-r!r bz2r.z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemzlibm.soz libcrypt.soZcrypt) Zctypesrr#r+printrloadr,r platformZ LoadLibrary)rrrrtest4s"         r__main__)rVrWrX)F)r#r=rAr r+rrr,rZctypes.macholib.dyldr/r0r;r?rOrSrkr^rprxrr__name__rrrrs8   +     $  PK!ubg)__pycache__/wintypes.cpython-36.opt-2.pycnu[3 2a@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,krejZ0ejZ1n$ej/ejej/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr-/opt/alt/python36/lib64/python3.6/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r asr c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhsrc@seZdZdefdefgZdS)_COORDXYN)rr r rrrrrr rosrc@seZdZdefdefgZdS)POINTxyN)rr r rrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxcyN)rr r rrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr r sr c@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeptN) rr r HWNDUINTWPARAMLPARAMr!rrrrrr r"s r"ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r!r CHARMAX_PATHrrrrr r)s r)c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr*r+r,r-r.r/r0r1r2r3r4N)rr r r!r WCHARr6rrrrr r7s r7)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr!Zc_charr5Zc_wcharr8Zc_uintr&Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr'r(ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr%Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrr Z _FILETIMEr"ZtagMSGr6r)r7ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!t"__pycache__/_endian.cpython-36.pycnu[3  f@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr 3/opt/alt/python36/lib64/python3.6/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacsb|dkrPg}x>|D]6}|d}|d}|dd}|j|t|f|qW|}tj||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs  z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r )rrrsrlittleZ __ctype_be__c@seZdZdZfZdZdS)BigEndianStructurez$Structure with big endian byte orderN)rrr__doc__ __slots___swappedbytes_r r r rr.sr) metaclassZbigZ __ctype_le__c@seZdZdZfZdZdS)LittleEndianStructurez'Structure with little endian byte orderN)rrrr r!r"r r r rr$7sr$zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr$r RuntimeErrorr r r rs  PK!O&B>B>#__pycache__/__init__.cpython-36.pycnu[3  f1@ @s>dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd krdd lmZeZejdkrejdkreejjjdddkreZddlmZmZ m!Z"m#Z$d}ddZ%d~ddZ&iZ'ddZ(ejd kr\ddlm)Z*ddlm+Z,iZ-ddZ.e.jrte(jj/dde._nejdkrtddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7dd lm8Z8dd!d"Z9Gd#d$d$e8Z:e9e:d%Gd&d'd'e8Z;e9e;Gd(d)d)e8Ze9e>ed.ed/krLe=Z?e>Z@n0Gd0d1d1e8Z?e9e?Gd2d3d3e8Z@e9e@Gd4d5d5e8ZAe9eAGd6d7d7e8ZBe9eBGd8d9d9e8ZCe1eCe1eBkreBZCed/ed:kre=ZDe>ZEn0Gd;d<dd>e8ZEe9eEGd?d@d@e8ZFeFeF_GeF_He9eFGdAdBdBe8ZIeIeI_GeI_He9eIGdCdDdDe8ZJeJeJ_GeJ_He9eJGdEdFdFe8ZKe9eKd%GdGdHdHe8ZLeLZMe9eLGdIdJdJe8ZNddKlmOZOmPZPmQZQGdLdMdMe8ZRGdNdOdOe8ZSdPdQZTddRdSZUdTdUZVdVdWZWGdXdYdYeXZYGdZd[d[eYZZejd krGd\d]d]eYZ[dd^lm\Z\m8Z8Gd_d`d`e8Z]GdadbdbeYZ^GdcddddeXZ_e_eYZ`e_eZZaejd kreZdedejbZcn,ejdfkreZdgejdddhZcneZdZcejd krNe_e[Zee_e^Zfejd kr,eejgjhZhneejijhZhddilmjZjmkZkddjdkZle1e@e1eLkrje@Zme?Znn6e1e>e1eLkre>Zme=Znne1eEe1eLkreEZmeDZnddllmoZompZpmqZqmrZre(eLeLeLemeoZse(eLeLe?emepZtdmdnZueue:eLe:e:erZvdodpZweue:eLe?eqZxddrdsZyyddtlmzZzWne{k r>YnXeue:eLe?ezZ|ddudvZ}ejd krvdwdxZ~dydzZdd{lmZmZeIZeFZxPe;e?e=eDgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqWxPeeEgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqW[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr"4/opt/alt/python36/lib64/python3.6/ctypes/__init__.pycreate_string_buffer/s   r$cCs t||S)N)r$)rrr"r"r#c_bufferAsr%c st|jddrtO|jddr,tO|r@td|jytfStk rGfdddt}|tf<|SXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_errorz!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r")argtypesflagsrestyper"r# CFunctionTypecsr1N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r0r.kwr1r")r.r/r0r# CFUNCTYPEIs  r<) LoadLibrary)FUNCFLAG_STDCALLc st|jddrtO|jddr,tO|r@td|jytfStk rGfdddt}|tf<|SXdS)Nr&Fr'z!unexpected keyword argument(s) %scseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r(r)r*r+r,r-r")r.r/r0r"r#WinFunctionType{sr?) _FUNCFLAG_STDCALLr3r4r5r6r7_win_functype_cacher9r:)r0r.r;r?r")r.r/r0r# WINFUNCTYPEos  rB)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rD SystemError)typtypecoder ZactualZrequiredr"r"r# _check_sizes rQcs eZdZdZfddZZS) py_objectOc s.y tjStk r(dt|jSXdS)Nz %s())super__repr__r6typer()self) __class__r"r#rUs zpy_object.__repr__)r(r)r*rMrU __classcell__r"r")rXr#rRsrRPc@seZdZdZdS)c_shorthN)r(r)r*rMr"r"r"r#r[sr[c@seZdZdZdS)c_ushortHN)r(r)r*rMr"r"r"r#r]sr]c@seZdZdZdS)c_longlN)r(r)r*rMr"r"r"r#r_sr_c@seZdZdZdS)c_ulongLN)r(r)r*rMr"r"r"r#rasrair`c@seZdZdZdS)c_intrcN)r(r)r*rMr"r"r"r#rdsrdc@seZdZdZdS)c_uintIN)r(r)r*rMr"r"r"r#resrec@seZdZdZdS)c_floatfN)r(r)r*rMr"r"r"r#rgsrgc@seZdZdZdS)c_doubledN)r(r)r*rMr"r"r"r#risric@seZdZdZdS) c_longdoublegN)r(r)r*rMr"r"r"r#rksrkqc@seZdZdZdS) c_longlongrmN)r(r)r*rMr"r"r"r#rnsrnc@seZdZdZdS) c_ulonglongQN)r(r)r*rMr"r"r"r#rosroc@seZdZdZdS)c_ubyteBN)r(r)r*rMr"r"r"r#rqsrqc@seZdZdZdS)c_bytebN)r(r)r*rMr"r"r"r#rssrsc@seZdZdZdS)rcN)r(r)r*rMr"r"r"r#rsrc@seZdZdZddZdS)c_char_pzcCsd|jjtj|jfS)Nz%s(%s))rXr(c_void_p from_bufferr)rWr"r"r#rUszc_char_p.__repr__N)r(r)r*rMrUr"r"r"r#rvsrvc@seZdZdZdS)rxrZN)r(r)r*rMr"r"r"r#rxsrxc@seZdZdZdS)c_bool?N)r(r)r*rMr"r"r"r#rzsrz)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjtj|jfS)Nz%s(%s))rXr(rxryr)rWr"r"r#rUszc_wchar_p.__repr__N)r(r)r*rMrUr"r"r"r#rsrc@seZdZdZdS)c_wcharuN)r(r)r*rMr"r"r"r#rsrcCsFtjtjtjdkr"tjtjtt _t jtt _t td<dS)Nr ) r~clearr8_osnamerArZ from_paramr|rrvrrxr"r"r"r# _reset_caches   rcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nr)rstrrrrrr)rrr r!r"r"r#create_unicode_buffers   rcCsLtj|ddk rtdt|tkr,td|j||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)r~get RuntimeErroridZset_type)r}clsr"r"r#SetPointerType"s  rcCs||S)Nr")rOrr"r"r#ARRAY,src@sNeZdZdZeZeZdZdZ dZ e dddfddZ dd Z d d Zd d ZdS)CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcsb|_j|rtO|r$tOGfdddt}|_|dkrXtj|_n|_dS)NcseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r(r)r*r-_func_restype_r,r")r/rWr"r#_FuncPtrQsr)_name _func_flags_r4r5r:r_dlopen_handle)rWrmodeZhandler&r'rr")r/rWr#__init__Gsz CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>r)rXr(rr_sysmaxsizer)rWr"r"r#rU[s z CDLL.__repr__cCs6|jdr|jdrt||j|}t||||S)N__) startswithendswithAttributeError __getitem__setattr)rWrfuncr"r"r# __getattr__as   zCDLL.__getattr__cCs"|j||f}t|ts||_|S)N)rrrr()rWZname_or_ordinalrr"r"r#rhs zCDLL.__getitem__)r(r)r*__doc__r2rrdrrrr DEFAULT_MODErrUrrr"r"r"r#r2s  rc@seZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r(r)r*rr2_FUNCFLAG_PYTHONAPIrr"r"r"r#rnsrc@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r(r)r*rr@rr"r"r"r#rwsr)_check_HRESULTrKc@seZdZdZeZdS)HRESULTr`N)r(r)r*rMrZ_check_retval_r"r"r"r#rs rc@seZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r(r)r*rr@rrrr"r"r"r#rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rWZdlltyper"r"r#rszLibraryLoader.__init__cCs.|ddkrt||j|}t||||S)Nr_)rrr)rWrZdllr"r"r#rs    zLibraryLoader.__getattr__cCs t||S)N)getattr)rWrr"r"r#rszLibraryLoader.__getitem__cCs |j|S)N)r)rWrr"r"r#r=szLibraryLoader.LoadLibraryN)r(r)r*rrrr=r"r"r"r#rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|j}td|d|S)N) GetLastErrorr stripOSError)codeZdescrr"r"r#WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r(r)r*r+r,r2rr-r")r.r0r"r#r1sr1)r:)r0r.r1r")r.r0r# PYFUNCTYPEsrcCs t|||S)N)_cast)objrOr"r"r#castsrrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_at)ptrrr"r"r# string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_at)rrr"r"r# wstring_atsrc Cs@ytdttdg}Wntk r,dSX|j|||SdS)Nzcomtypes.server.inprocserver*ii) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr"r"r#rs rc Cs6ytdttdg}Wntk r,dSX|jS)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr"r"r#rs r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)rr)r)rosrsysrrZ_ctypesrrrrrr:Z_ctypes_versionrr r rLr Z _calcsize Exceptionrr rplatformrunamereleasesplitrr2rrrr4rr5r$r%r8r<r=rr>r@rArBreplacerCrDrErFrGrHrIrJrKrQrRr[r]r_rardrergrirkrnrorqZ __ctype_le__Z __ctype_be__rsrrvrxZc_voidprzr|r}r~rrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rZcoredllrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r"r"r"r#s8          !              <              PK!O&B>B>)__pycache__/__init__.cpython-36.opt-1.pycnu[3  f1@ @s>dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd krdd lmZeZejdkrejdkreejjjdddkreZddlmZmZ m!Z"m#Z$d}ddZ%d~ddZ&iZ'ddZ(ejd kr\ddlm)Z*ddlm+Z,iZ-ddZ.e.jrte(jj/dde._nejdkrtddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7dd lm8Z8dd!d"Z9Gd#d$d$e8Z:e9e:d%Gd&d'd'e8Z;e9e;Gd(d)d)e8Ze9e>ed.ed/krLe=Z?e>Z@n0Gd0d1d1e8Z?e9e?Gd2d3d3e8Z@e9e@Gd4d5d5e8ZAe9eAGd6d7d7e8ZBe9eBGd8d9d9e8ZCe1eCe1eBkreBZCed/ed:kre=ZDe>ZEn0Gd;d<dd>e8ZEe9eEGd?d@d@e8ZFeFeF_GeF_He9eFGdAdBdBe8ZIeIeI_GeI_He9eIGdCdDdDe8ZJeJeJ_GeJ_He9eJGdEdFdFe8ZKe9eKd%GdGdHdHe8ZLeLZMe9eLGdIdJdJe8ZNddKlmOZOmPZPmQZQGdLdMdMe8ZRGdNdOdOe8ZSdPdQZTddRdSZUdTdUZVdVdWZWGdXdYdYeXZYGdZd[d[eYZZejd krGd\d]d]eYZ[dd^lm\Z\m8Z8Gd_d`d`e8Z]GdadbdbeYZ^GdcddddeXZ_e_eYZ`e_eZZaejd kreZdedejbZcn,ejdfkreZdgejdddhZcneZdZcejd krNe_e[Zee_e^Zfejd kr,eejgjhZhneejijhZhddilmjZjmkZkddjdkZle1e@e1eLkrje@Zme?Znn6e1e>e1eLkre>Zme=Znne1eEe1eLkreEZmeDZnddllmoZompZpmqZqmrZre(eLeLeLemeoZse(eLeLe?emepZtdmdnZueue:eLe:e:erZvdodpZweue:eLe?eqZxddrdsZyyddtlmzZzWne{k r>YnXeue:eLe?ezZ|ddudvZ}ejd krvdwdxZ~dydzZdd{lmZmZeIZeFZxPe;e?e=eDgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqWxPeeEgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqW[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr"4/opt/alt/python36/lib64/python3.6/ctypes/__init__.pycreate_string_buffer/s   r$cCs t||S)N)r$)rrr"r"r#c_bufferAsr%c st|jddrtO|jddr,tO|r@td|jytfStk rGfdddt}|tf<|SXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_errorz!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r")argtypesflagsrestyper"r# CFunctionTypecsr1N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r0r.kwr1r")r.r/r0r# CFUNCTYPEIs  r<) LoadLibrary)FUNCFLAG_STDCALLc st|jddrtO|jddr,tO|r@td|jytfStk rGfdddt}|tf<|SXdS)Nr&Fr'z!unexpected keyword argument(s) %scseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r(r)r*r+r,r-r")r.r/r0r"r#WinFunctionType{sr?) _FUNCFLAG_STDCALLr3r4r5r6r7_win_functype_cacher9r:)r0r.r;r?r")r.r/r0r# WINFUNCTYPEos  rB)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rD SystemError)typtypecoder ZactualZrequiredr"r"r# _check_sizes rQcs eZdZdZfddZZS) py_objectOc s.y tjStk r(dt|jSXdS)Nz %s())super__repr__r6typer()self) __class__r"r#rUs zpy_object.__repr__)r(r)r*rMrU __classcell__r"r")rXr#rRsrRPc@seZdZdZdS)c_shorthN)r(r)r*rMr"r"r"r#r[sr[c@seZdZdZdS)c_ushortHN)r(r)r*rMr"r"r"r#r]sr]c@seZdZdZdS)c_longlN)r(r)r*rMr"r"r"r#r_sr_c@seZdZdZdS)c_ulongLN)r(r)r*rMr"r"r"r#rasrair`c@seZdZdZdS)c_intrcN)r(r)r*rMr"r"r"r#rdsrdc@seZdZdZdS)c_uintIN)r(r)r*rMr"r"r"r#resrec@seZdZdZdS)c_floatfN)r(r)r*rMr"r"r"r#rgsrgc@seZdZdZdS)c_doubledN)r(r)r*rMr"r"r"r#risric@seZdZdZdS) c_longdoublegN)r(r)r*rMr"r"r"r#rksrkqc@seZdZdZdS) c_longlongrmN)r(r)r*rMr"r"r"r#rnsrnc@seZdZdZdS) c_ulonglongQN)r(r)r*rMr"r"r"r#rosroc@seZdZdZdS)c_ubyteBN)r(r)r*rMr"r"r"r#rqsrqc@seZdZdZdS)c_bytebN)r(r)r*rMr"r"r"r#rssrsc@seZdZdZdS)rcN)r(r)r*rMr"r"r"r#rsrc@seZdZdZddZdS)c_char_pzcCsd|jjtj|jfS)Nz%s(%s))rXr(c_void_p from_bufferr)rWr"r"r#rUszc_char_p.__repr__N)r(r)r*rMrUr"r"r"r#rvsrvc@seZdZdZdS)rxrZN)r(r)r*rMr"r"r"r#rxsrxc@seZdZdZdS)c_bool?N)r(r)r*rMr"r"r"r#rzsrz)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjtj|jfS)Nz%s(%s))rXr(rxryr)rWr"r"r#rUszc_wchar_p.__repr__N)r(r)r*rMrUr"r"r"r#rsrc@seZdZdZdS)c_wcharuN)r(r)r*rMr"r"r"r#rsrcCsFtjtjtjdkr"tjtjtt _t jtt _t td<dS)Nr ) r~clearr8_osnamerArZ from_paramr|rrvrrxr"r"r"r# _reset_caches   rcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nr)rstrrrrrr)rrr r!r"r"r#create_unicode_buffers   rcCsLtj|ddk rtdt|tkr,td|j||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)r~get RuntimeErroridZset_type)r}clsr"r"r#SetPointerType"s  rcCs||S)Nr")rOrr"r"r#ARRAY,src@sNeZdZdZeZeZdZdZ dZ e dddfddZ dd Z d d Zd d ZdS)CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcsb|_j|rtO|r$tOGfdddt}|_|dkrXtj|_n|_dS)NcseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r(r)r*r-_func_restype_r,r")r/rWr"r#_FuncPtrQsr)_name _func_flags_r4r5r:r_dlopen_handle)rWrmodeZhandler&r'rr")r/rWr#__init__Gsz CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>r)rXr(rr_sysmaxsizer)rWr"r"r#rU[s z CDLL.__repr__cCs6|jdr|jdrt||j|}t||||S)N__) startswithendswithAttributeError __getitem__setattr)rWrfuncr"r"r# __getattr__as   zCDLL.__getattr__cCs"|j||f}t|ts||_|S)N)rrrr()rWZname_or_ordinalrr"r"r#rhs zCDLL.__getitem__)r(r)r*__doc__r2rrdrrrr DEFAULT_MODErrUrrr"r"r"r#r2s  rc@seZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r(r)r*rr2_FUNCFLAG_PYTHONAPIrr"r"r"r#rnsrc@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r(r)r*rr@rr"r"r"r#rwsr)_check_HRESULTrKc@seZdZdZeZdS)HRESULTr`N)r(r)r*rMrZ_check_retval_r"r"r"r#rs rc@seZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r(r)r*rr@rrrr"r"r"r#rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rWZdlltyper"r"r#rszLibraryLoader.__init__cCs.|ddkrt||j|}t||||S)Nr_)rrr)rWrZdllr"r"r#rs    zLibraryLoader.__getattr__cCs t||S)N)getattr)rWrr"r"r#rszLibraryLoader.__getitem__cCs |j|S)N)r)rWrr"r"r#r=szLibraryLoader.LoadLibraryN)r(r)r*rrrr=r"r"r"r#rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|j}td|d|S)N) GetLastErrorr stripOSError)codeZdescrr"r"r#WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r(r)r*r+r,r2rr-r")r.r0r"r#r1sr1)r:)r0r.r1r")r.r0r# PYFUNCTYPEsrcCs t|||S)N)_cast)objrOr"r"r#castsrrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_at)ptrrr"r"r# string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_at)rrr"r"r# wstring_atsrc Cs@ytdttdg}Wntk r,dSX|j|||SdS)Nzcomtypes.server.inprocserver*ii) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr"r"r#rs rc Cs6ytdttdg}Wntk r,dSX|jS)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr"r"r#rs r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)rr)r)rosrsysrrZ_ctypesrrrrrr:Z_ctypes_versionrr r rLr Z _calcsize Exceptionrr rplatformrunamereleasesplitrr2rrrr4rr5r$r%r8r<r=rr>r@rArBreplacerCrDrErFrGrHrIrJrKrQrRr[r]r_rardrergrirkrnrorqZ __ctype_le__Z __ctype_be__rsrrvrxZc_voidprzr|r}r~rrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rZcoredllrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r"r"r"r#s8          !              <              PK!Gƻ7 _endian.pynu[import sys from ctypes import * _array_type = type(Array) def _other_endian(typ): """Return the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. """ # check _OTHER_ENDIAN attribute (present if typ is primitive type) if hasattr(typ, _OTHER_ENDIAN): return getattr(typ, _OTHER_ENDIAN) # if typ is array if isinstance(typ, _array_type): return _other_endian(typ._type_) * typ._length_ # if typ is structure if issubclass(typ, Structure): return typ raise TypeError("This type does not support other endian: %s" % typ) class _swapped_meta(type(Structure)): def __setattr__(self, attrname, value): if attrname == "_fields_": fields = [] for desc in value: name = desc[0] typ = desc[1] rest = desc[2:] fields.append((name, _other_endian(typ)) + rest) value = fields super().__setattr__(attrname, value) ################################################################ # Note: The Structure metaclass checks for the *presence* (not the # value!) of a _swapped_bytes_ attribute to determine the bit order in # structures containing bit fields. if sys.byteorder == "little": _OTHER_ENDIAN = "__ctype_be__" LittleEndianStructure = Structure class BigEndianStructure(Structure, metaclass=_swapped_meta): """Structure with big endian byte order""" __slots__ = () _swappedbytes_ = None elif sys.byteorder == "big": _OTHER_ENDIAN = "__ctype_le__" BigEndianStructure = Structure class LittleEndianStructure(Structure, metaclass=_swapped_meta): """Structure with little endian byte order""" __slots__ = () _swappedbytes_ = None else: raise RuntimeError("Invalid byteorder") PK!t7ymacholib/__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! Hdmacholib/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() def test_framework_info(): def d(location=None, name=None, shortname=None, version=None, suffix=None): return dict( location=location, name=name, shortname=shortname, version=version, suffix=suffix ) assert framework_info('completely/invalid') is None assert framework_info('completely/invalid/_debug') is None assert framework_info('P/F.framework') is None assert framework_info('P/F.framework/_debug') is None assert framework_info('P/F.framework/F') == d('P', 'F.framework/F', 'F') assert framework_info('P/F.framework/F_debug') == d('P', 'F.framework/F_debug', 'F', suffix='debug') assert framework_info('P/F.framework/Versions') is None assert framework_info('P/F.framework/Versions/A') is None assert framework_info('P/F.framework/Versions/A/F') == d('P', 'F.framework/Versions/A/F', 'F', 'A') assert framework_info('P/F.framework/Versions/A/F_debug') == d('P', 'F.framework/Versions/A/F_debug', 'F', 'A', 'debug') if __name__ == '__main__': test_framework_info() PK!6z$$macholib/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() def test_dylib_info(): def d(location=None, name=None, shortname=None, version=None, suffix=None): return dict( location=location, name=name, shortname=shortname, version=version, suffix=suffix ) assert dylib_info('completely/invalid') is None assert dylib_info('completely/invalide_debug') is None assert dylib_info('P/Foo.dylib') == d('P', 'Foo.dylib', 'Foo') assert dylib_info('P/Foo_debug.dylib') == d('P', 'Foo_debug.dylib', 'Foo', suffix='debug') assert dylib_info('P/Foo.A.dylib') == d('P', 'Foo.A.dylib', 'Foo', 'A') assert dylib_info('P/Foo_debug.A.dylib') == d('P', 'Foo_debug.A.dylib', 'Foo_debug', 'A') assert dylib_info('P/Foo.A_debug.dylib') == d('P', 'Foo.A_debug.dylib', 'Foo', 'A', 'debug') if __name__ == '__main__': test_dylib_info() PK!QN.macholib/__pycache__/dyld.cpython-36.opt-2.pycnu[3 2aE@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)/opt/alt/python36/lib64/python3.6/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               PK!؁2macholib/__pycache__/__init__.cpython-36.opt-2.pycnu[3 2a@sdZdS)z1.0N) __version__rr-/opt/alt/python36/lib64/python3.6/__init__.py sPK!XX/macholib/__pycache__/dylib.cpython-36.opt-2.pycnu[3 2a$@s:ddlZdgZejdZddZddZedkr6edS)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCstj|}|sdS|jS)N)DYLIB_REmatch groupdict)filenameZis_dylibr*/opt/alt/python36/lib64/python3.6/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__rrrrsPK!a3macholib/__pycache__/framework.cpython-36.opt-2.pycnu[3 2a@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_frameworkr./opt/alt/python36/lib64/python3.6/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__rrrrsPK!q y-macholib/__pycache__/framework.cpython-36.pycnu[3  f@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_frameworkr>/opt/alt/python36/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__rrrrsPK!nGVV3macholib/__pycache__/framework.cpython-36.opt-1.pycnu[3  f@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_frameworkr>/opt/alt/python36/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__rrrrsPK!CA(macholib/__pycache__/dyld.cpython-36.pycnu[3  fE@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)envvarZrvalr9/opt/alt/python36/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:               PK!d#NN.macholib/__pycache__/dyld.cpython-36.opt-1.pycnu[3  fE@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)envvarZrvalr9/opt/alt/python36/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:               PK!|̍)macholib/__pycache__/dylib.cpython-36.pycnu[3  f$@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:/opt/alt/python36/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__rrrrsPK!3z22,macholib/__pycache__/__init__.cpython-36.pycnu[3  f@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__rr=/opt/alt/python36/lib64/python3.6/ctypes/macholib/__init__.pysPK!3z222macholib/__pycache__/__init__.cpython-36.opt-1.pycnu[3  f@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__rr=/opt/alt/python36/lib64/python3.6/ctypes/macholib/__init__.pysPK!=֐/macholib/__pycache__/dylib.cpython-36.opt-1.pycnu[3  f$@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:/opt/alt/python36/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__rrrrsPK!J((macholib/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!=ggmacholib/dyld.pynu[""" dyld emulation """ import os from ctypes.macholib.framework import framework_info from ctypes.macholib.dylib import dylib_info from itertools import * __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 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 def test_dyld_find(): env = {} assert dyld_find('libSystem.dylib') == '/usr/lib/libSystem.dylib' assert dyld_find('System.framework/System') == '/System/Library/Frameworks/System.framework/System' if __name__ == '__main__': test_dyld_find() PK!K CTTmacholib/fetch_macholibnuȯ#!/bin/sh svn export --force http://svn.red-bean.com/bob/macholib/trunk/macholib/ . PK!+11_aix.pynu[""" Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. """ __author__ = "Michael Felt " import re from os import environ, path from sys import executable from ctypes import c_void_p, sizeof from subprocess import Popen, PIPE, DEVNULL # Executable bit size - 32 or 64 # Used to filter the search in an archive by size, e.g., -X64 AIX_ABI = sizeof(c_void_p) * 8 from sys import maxsize def _last_version(libnames, sep): def _num_version(libname): # "libxyz.so.MAJOR.MINOR" => [MAJOR, MINOR] parts = libname.split(sep) nums = [] try: while parts: nums.insert(0, int(parts.pop())) except ValueError: pass return nums or [maxsize] return max(reversed(libnames), key=_num_version) def get_ld_header(p): # "nested-function, but placed at module level ld_header = None for line in p.stdout: if line.startswith(('/', './', '../')): ld_header = line elif "INDEX" in line: return ld_header.rstrip('\n') return None def get_ld_header_info(p): # "nested-function, but placed at module level # as an ld_header was found, return known paths, archives and members # these lines start with a digit info = [] for line in p.stdout: if re.match("[0-9]", line): info.append(line) else: # blank line (separator), consume line and end for loop break return info def get_ld_headers(file): """ Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. """ # get_ld_headers parsing: # 1. Find a line that starts with /, ./, or ../ - set as ld_header # 2. If "INDEX" in occurs in a following line - return ld_header # 3. get info (lines starting with [0-9]) ldr_headers = [] p = Popen(["/usr/bin/dump", f"-X{AIX_ABI}", "-H", file], universal_newlines=True, stdout=PIPE, stderr=DEVNULL) # be sure to read to the end-of-file - getting all entries while True: ld_header = get_ld_header(p) if ld_header: ldr_headers.append((ld_header, get_ld_header_info(p))) else: break p.stdout.close() p.wait() return ldr_headers def get_shared(ld_headers): """ extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. """ shared = [] for (line, _) in ld_headers: # potential member lines contain "[" # otherwise, no processing needed if "[" in line: # Strip off trailing colon (:) shared.append(line[line.index("["):-1]) return shared def get_one_match(expr, lines): """ Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" """ # member names in the ld_headers output are between square brackets expr = rf'\[({expr})\]' matches = list(filter(None, (re.search(expr, line) for line in lines))) if len(matches) == 1: return matches[0].group(1) else: return None # additional processing to deal with AIX legacy names for 64-bit members def get_legacy(members): """ This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. """ if AIX_ABI == 64: # AIX 64-bit member is one of shr64.o, shr_64.o, or shr4_64.o expr = r'shr4?_?64\.o' member = get_one_match(expr, members) if member: return member else: # 32-bit legacy names - both shr.o and shr4.o exist. # shr.o is the preffered name so we look for shr.o first # i.e., shr4.o is returned only when shr.o does not exist for name in ['shr.o', 'shr4.o']: member = get_one_match(re.escape(name), members) if member: return member return None def get_version(name, members): """ Sort list of members and return highest numbered version - if it exists. This function is called when an unversioned libFOO.a(libFOO.so) has not been found. Versioning for the member name is expected to follow GNU LIBTOOL conventions: the highest version (x, then X.y, then X.Y.z) * find [libFoo.so.X] * find [libFoo.so.X.Y] * find [libFoo.so.X.Y.Z] Before the GNU convention became the standard scheme regardless of binary size AIX packagers used GNU convention "as-is" for 32-bit archive members but used an "distinguishing" name for 64-bit members. This scheme inserted either 64 or _64 between libFOO and .so - generally libFOO_64.so, but occasionally libFOO64.so """ # the expression ending for versions must start as # '.so.[0-9]', i.e., *.so.[at least one digit] # while multiple, more specific expressions could be specified # to search for .so.X, .so.X.Y and .so.X.Y.Z # after the first required 'dot' digit # any combination of additional 'dot' digits pairs are accepted # anything more than libFOO.so.digits.digits.digits # should be seen as a member name outside normal expectations exprs = [rf'lib{name}\.so\.[0-9]+[0-9.]*', rf'lib{name}_?64\.so\.[0-9]+[0-9.]*'] for expr in exprs: versions = [] for line in members: m = re.search(expr, line) if m: versions.append(m.group(0)) if versions: return _last_version(versions, '.') return None def get_member(name, members): """ Return an archive member matching the request in name. Name is the library name without any prefix like lib, suffix like .so, or version number. Given a list of members find and return the most appropriate result Priority is given to generic libXXX.so, then a versioned libXXX.so.a.b.c and finally, legacy AIX naming scheme. """ # look first for a generic match - prepend lib and append .so expr = rf'lib{name}\.so' member = get_one_match(expr, members) if member: return member elif AIX_ABI == 64: expr = rf'lib{name}64\.so' member = get_one_match(expr, members) if member: return member # since an exact match with .so as suffix was not found # look for a versioned name # If a versioned name is not found, look for AIX legacy member name member = get_version(name, members) if member: return member else: return get_legacy(members) def get_libpaths(): """ On AIX, the buildtime searchpath is stored in the executable. as "loader header information". The command /usr/bin/dump -H extracts this info. Prefix searched libraries with LD_LIBRARY_PATH (preferred), or LIBPATH if defined. These paths are appended to the paths to libraries the python executable is linked with. This mimics AIX dlopen() behavior. """ libpaths = environ.get("LD_LIBRARY_PATH") if libpaths is None: libpaths = environ.get("LIBPATH") if libpaths is None: libpaths = [] else: libpaths = libpaths.split(":") objects = get_ld_headers(executable) for (_, lines) in objects: for line in lines: # the second (optional) argument is PATH if it includes a / path = line.split()[1] if "/" in path: libpaths.extend(path.split(":")) return libpaths def find_shared(paths, name): """ paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None """ for dir in paths: # /lib is a symbolic link to /usr/lib, skip it if dir == "/lib": continue # "lib" is prefixed to emulate compiler name resolution, # e.g., -lc to libc base = f'lib{name}.a' archive = path.join(dir, base) if path.exists(archive): members = get_shared(get_ld_headers(archive)) member = get_member(re.escape(name), members) if member != None: return (base, member) else: return (None, None) return (None, None) def find_library(name): """AIX implementation of ctypes.util.find_library() Find an archive member that will dlopen(). If not available, also search for a file (or link) with a .so suffix. AIX supports two types of schemes that can be used with dlopen(). The so-called SystemV Release4 (svr4) format is commonly suffixed with .so while the (default) AIX scheme has the library (archive) ending with the suffix .a As an archive has multiple members (e.g., 32-bit and 64-bit) in one file the argument passed to dlopen must include both the library and the member names in a single string. find_library() looks first for an archive (.a) with a suitable member. If no archive+member pair is found, look for a .so file. """ libpaths = get_libpaths() (base, member) = find_shared(libpaths, name) if base != None: return f"{base}({member})" # To get here, a member in an archive has not been found # In other words, either: # a) a .a file was not found # b) a .a file did not have a suitable member # So, look for a .so file # Check libpaths for .so file # Note, the installation must prepare a link from a .so # to a versioned file # This is common practice by GNU libtool on other platforms soname = f"lib{name}.so" for dir in libpaths: # /lib is a symbolic link to /usr/lib, skip it if dir == "/lib": continue shlib = path.join(dir, soname) if path.exists(shlib): return soname # if we are here, we have not found anything plausible return None PK!*,^%__pycache__/util.cpython-38.opt-1.pycnu[U e5d76@sBddlZddlZddlZddlZejdkrDddZddZddZnejd krnejd krndd l m Z d dZnej d rddl mZnejd kr&ddlZddlZddZddZejdkrddZnddZej drddZddZn8ejdkrddZd'ddZndd Zd!d"Zd#dZd$d%Zed&kr>edS)(NntcCsd}tj|}|dkrdS|t|}tj|ddd\}}t|ddd}|dkrf|d7}t|d d d }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr#/usr/lib64/python3.8/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s r cCsx|dkrtStjdtjD]R}tj||}tj|rF|S| drVq |d}tj|r |Sq dS)N)cmPATHr) r osenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s   r-posixdarwin) dyld_findc CsPd|d|d||fg}|D],}zt|WStk rHYqYqXqdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r,possiblerrrr-Hs  aix)r-c Cs4d}t|d}|d|kW5QRSQRXdS)z,Return True if the given file is an ELF filesELFbrN)openread)filenameZ elf_headerZthefilerrr_is_elf`s r:c Cs tdt|}td}|s,td}|s4dSt}z|dd|j d|g}t tj }d|d<d|d <zt j|t jt j|d }Wntk rYW$dSX||j}W5QRXW5z |Wnt k rYnXXt||}|sdS|D]} t| sqt| SdS) N[^\(\)\s]*lib%s\.[^\(\)\s]*ZgccZccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r$fsencodereescapeshutilwhichtempfileZNamedTemporaryFilecloseFileNotFoundErrorr,dictr% subprocessPopenPIPEZSTDOUTOSErrorrAr8findallr:fsdecode) r,exprZ c_compilerZtempargsrCprocZtraceresfilerrr _findLib_gccfsB        rXZsunos5c Cs||sdSztjdd|ftjtjd}Wntk r<YdSX||j}W5QRXtd|}|sldSt | dS)Nz/usr/ccs/bin/dumpz-LpvrArBs\[.*\]\sSONAME\s+([^\s]+)r) rMrNrODEVNULLrPrAr8rEsearchr$rRgroup)frUdatarVrrr _get_sonames   r_c Cs|sdStd}|sdSz"tj|ddd|ftjtjd}Wntk rRYdSX||j}W5QRXt d|}|sdSt | dS)Nobjdump-pz-jz.dynamicrYs\sSONAME\s+([^\s]+)r)rGrHrMrNrOrZrPrAr8rEr[r$rRr\)r]r`rUdumprVrrrr_s$   )ZfreebsdZopenbsdZ dragonflycCsN|d}g}z|r*|dt|qWntk r@YnX|pLtjgS)N.r)rinsertrpopr2r maxsize)ZlibnamepartsZnumsrrr _num_versions rhc Cst|}d||f}t|}ztjdtjtjd}Wntk rPd}YnX||j }W5QRXt ||}|st t |S|jtdt|dS)Nz:-l%s\.\S+ => \S*/(lib%s\.\S+))/sbin/ldconfigz-rrY)keyr)rErFr$rDrMrNrOrZrPrAr8rQr_rXsortrhrR)r,ZenamerSrUr^rVrrrr-s"        c CstjdsdSttj}d|d<|r,d}nd}d}ztj|tjtj|d}Wnt k rdYdSX|6|j D](}| }| drrt |d}qrW5QRX|sdS|d D]*}tj|d |}tj|r|SqdS) N /usr/bin/crler=r>)rm-64)rmr@sDefault Library Path (ELF):r6:zlib%s.so)r$r'existsrLr%rMrNrOrZrPrAstrip startswithrRrr() r,is64rCrTpathsrUlinedirZlibfilerrr _findLib_crles8       rwFcCstt||pt|SN)r_rwrX)r,rsrrrr- sc Csddl}|ddkr&tjd}ntjd}dddddd }||d }d }t|t||f}zht j d d gt j t j t j dddd:}t ||j}|rt|dW5QRWSW5QRXWntk rYnXdS)Nrlr6z-32rnz libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%srirar=)r>r?)stdinrBrArCr)structZcalcsizer$unamemachinegetrDrErFrMrNrZrOr[rAr8rRr\rP)r,r{r}Zmach_mapZabi_typeZregexprVrrr_findSoname_ldconfigs4  ,rc Csdt|}ddg}tjd}|rD|dD]}|d|gq0|dtjd|gd}zZtj |tj tj d d }| \}}t |t |} | D]} t| sqt | WSWntk rYnX|S) Nr;Zldz-tZLD_LIBRARY_PATHroz-Lr<z-l%sT)rArBZuniversal_newlines)rErFr$r%r~rextenddevnullrMrNrOZ communicaterQrRr: Exception) r,rScmdZlibpathrresultrout_rVrWrrr _findLib_ld,s,   rcCs t|ptt|ptt|Srx)rr_rXr)r,rrrr-Gs   cCsddlm}tjdkr:t|jt|dttdtjdkrttdttdttdtj d krt| d t| d t| d t| d ntj drddlm }tj dkrtd|dtjtd| dttdt| dn*td|dtjtd| dtdtdtd| tdtdtdtd| tdn(t| dt| dttddS)Nr)cdllrrr.r"r!bz2r/z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr4)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): Zrpmz librpm.sozlibc.a(shr_64.o)z crypt :: Zcryptz crypto :: Zcryptozlibm.soz libcrypt.so)Zctypesrr$r,printrloadr-r platformZ LoadLibraryrrrrfZ RTLD_MEMBER)rrrrrtestOs<            r__main__)F)r$rGrMr r,rr r-rZctypes.macholib.dyldr0r1rrZ ctypes._aixrErIr:rXr_rhrwrrr__name__rrrrs>     2     $ ( PK!*,^__pycache__/util.cpython-38.pycnu[U e5d76@sBddlZddlZddlZddlZejdkrDddZddZddZnejd krnejd krndd l m Z d dZnej d rddl mZnejd kr&ddlZddlZddZddZejdkrddZnddZej drddZddZn8ejdkrddZd'ddZndd Zd!d"Zd#dZd$d%Zed&kr>edS)(NntcCsd}tj|}|dkrdS|t|}tj|ddd\}}t|ddd}|dkrf|d7}t|d d d }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr#/usr/lib64/python3.8/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s r cCsx|dkrtStjdtjD]R}tj||}tj|rF|S| drVq |d}tj|r |Sq dS)N)cmPATHr) r osenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s   r-posixdarwin) dyld_findc CsPd|d|d||fg}|D],}zt|WStk rHYqYqXqdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r,possiblerrrr-Hs  aix)r-c Cs4d}t|d}|d|kW5QRSQRXdS)z,Return True if the given file is an ELF filesELFbrN)openread)filenameZ elf_headerZthefilerrr_is_elf`s r:c Cs tdt|}td}|s,td}|s4dSt}z|dd|j d|g}t tj }d|d<d|d <zt j|t jt j|d }Wntk rYW$dSX||j}W5QRXW5z |Wnt k rYnXXt||}|sdS|D]} t| sqt| SdS) N[^\(\)\s]*lib%s\.[^\(\)\s]*ZgccZccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r$fsencodereescapeshutilwhichtempfileZNamedTemporaryFilecloseFileNotFoundErrorr,dictr% subprocessPopenPIPEZSTDOUTOSErrorrAr8findallr:fsdecode) r,exprZ c_compilerZtempargsrCprocZtraceresfilerrr _findLib_gccfsB        rXZsunos5c Cs||sdSztjdd|ftjtjd}Wntk r<YdSX||j}W5QRXtd|}|sldSt | dS)Nz/usr/ccs/bin/dumpz-LpvrArBs\[.*\]\sSONAME\s+([^\s]+)r) rMrNrODEVNULLrPrAr8rEsearchr$rRgroup)frUdatarVrrr _get_sonames   r_c Cs|sdStd}|sdSz"tj|ddd|ftjtjd}Wntk rRYdSX||j}W5QRXt d|}|sdSt | dS)Nobjdump-pz-jz.dynamicrYs\sSONAME\s+([^\s]+)r)rGrHrMrNrOrZrPrAr8rEr[r$rRr\)r]r`rUdumprVrrrr_s$   )ZfreebsdZopenbsdZ dragonflycCsN|d}g}z|r*|dt|qWntk r@YnX|pLtjgS)N.r)rinsertrpopr2r maxsize)ZlibnamepartsZnumsrrr _num_versions rhc Cst|}d||f}t|}ztjdtjtjd}Wntk rPd}YnX||j }W5QRXt ||}|st t |S|jtdt|dS)Nz:-l%s\.\S+ => \S*/(lib%s\.\S+))/sbin/ldconfigz-rrY)keyr)rErFr$rDrMrNrOrZrPrAr8rQr_rXsortrhrR)r,ZenamerSrUr^rVrrrr-s"        c CstjdsdSttj}d|d<|r,d}nd}d}ztj|tjtj|d}Wnt k rdYdSX|6|j D](}| }| drrt |d}qrW5QRX|sdS|d D]*}tj|d |}tj|r|SqdS) N /usr/bin/crler=r>)rm-64)rmr@sDefault Library Path (ELF):r6:zlib%s.so)r$r'existsrLr%rMrNrOrZrPrAstrip startswithrRrr() r,is64rCrTpathsrUlinedirZlibfilerrr _findLib_crles8       rwFcCstt||pt|SN)r_rwrX)r,rsrrrr- sc Csddl}|ddkr&tjd}ntjd}dddddd }||d }d }t|t||f}zht j d d gt j t j t j dddd:}t ||j}|rt|dW5QRWSW5QRXWntk rYnXdS)Nrlr6z-32rnz libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%srirar=)r>r?)stdinrBrArCr)structZcalcsizer$unamemachinegetrDrErFrMrNrZrOr[rAr8rRr\rP)r,r{r}Zmach_mapZabi_typeZregexprVrrr_findSoname_ldconfigs4  ,rc Csdt|}ddg}tjd}|rD|dD]}|d|gq0|dtjd|gd}zZtj |tj tj d d }| \}}t |t |} | D]} t| sqt | WSWntk rYnX|S) Nr;Zldz-tZLD_LIBRARY_PATHroz-Lr<z-l%sT)rArBZuniversal_newlines)rErFr$r%r~rextenddevnullrMrNrOZ communicaterQrRr: Exception) r,rScmdZlibpathrresultrout_rVrWrrr _findLib_ld,s,   rcCs t|ptt|ptt|Srx)rr_rXr)r,rrrr-Gs   cCsddlm}tjdkr:t|jt|dttdtjdkrttdttdttdtj d krt| d t| d t| d t| d ntj drddlm }tj dkrtd|dtjtd| dttdt| dn*td|dtjtd| dtdtdtd| tdtdtdtd| tdn(t| dt| dttddS)Nr)cdllrrr.r"r!bz2r/z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr4)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): Zrpmz librpm.sozlibc.a(shr_64.o)z crypt :: Zcryptz crypto :: Zcryptozlibm.soz libcrypt.so)Zctypesrr$r,printrloadr-r platformZ LoadLibraryrrrrfZ RTLD_MEMBER)rrrrrtestOs<            r__main__)F)r$rGrMr r,rr r-rZctypes.macholib.dyldr0r1rrZ ctypes._aixrErIr:rXr_rhrwrrr__name__rrrrs>     2     $ ( PK!K_uov&v&__pycache__/_aix.cpython-38.pycnu[U e5d1@sdZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dZdd lmZd d Zd d ZddZddZddZddZddZddZddZddZddZd d!ZdS)"a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecsfdd}tt||dS)NcsL|}g}z|r*|dt|qWntk r@YnX|pJtgS)Nr)splitinsertintpop ValueErrorr )ZlibnamepartsZnumssep#/usr/lib64/python3.8/ctypes/_aix.py _num_version>s z#_last_version.._num_version)key)maxreversed)Zlibnamesrrrrr _last_version=s rcCs:d}|jD]*}|dr|}q d|kr |dSq dS)N)/z./z../ZINDEX )stdout startswithrstrip)p ld_headerlinerrr get_ld_headerJs  r#cCs0g}|jD] }td|r&||q q,q |S)Nz[0-9])rrematchappend)r infor"rrrget_ld_header_infoTs    r(cCs\g}tddtd|gdttd}t|}|rF||t|fq"qFq"|j| |S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)Zuniversal_newlinesrstderr) rAIX_ABIrr r#r&r(rclosewait)fileZ ldr_headersr r!rrrget_ld_headersas  r.cCs6g}|D](\}}d|kr|||ddq|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r&index)Z ld_headersZsharedr"_rrr get_sharedys  r3csJddttdfdd|D}t|dkrB|ddSdSdS)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3s|]}t|VqdS)N)r$search).0r"exprrr sz get_one_match..r)listfilterlengroup)r7linesZmatchesrr6r get_one_matchs   r?cCsJtdkr d}t||}|rF|Sn&dD] }tt||}|r$|Sq$dS)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r*r?r$escape)membersr7membernamerrr get_legacys  rEcCsfd|dd|dg}|D]D}g}|D]$}t||}|r(||dq(|rt|dSqdS)a Sort list of members and return highest numbered version - if it exists. This function is called when an unversioned libFOO.a(libFOO.so) has not been found. Versioning for the member name is expected to follow GNU LIBTOOL conventions: the highest version (x, then X.y, then X.Y.z) * find [libFoo.so.X] * find [libFoo.so.X.Y] * find [libFoo.so.X.Y.Z] Before the GNU convention became the standard scheme regardless of binary size AIX packagers used GNU convention "as-is" for 32-bit archive members but used an "distinguishing" name for 64-bit members. This scheme inserted either 64 or _64 between libFOO and .so - generally libFOO_64.so, but occasionally libFOO64.so libz\.so\.[0-9]+[0-9.]*z_?64\.so\.[0-9]+[0-9.]*r.N)r$r4r&r=r)rDrBZexprsr7Zversionsr"mrrr get_versions   rIcCsbd|d}t||}|r|Stdkrr"rrrr get_libpathss     rOcCsp|D]f}|dkrqd|d}t||}t|rtt|}tt||}|dkrd||fSdSqdS)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librFz.aN)NN)rjoinexistsr3r.rJr$rA)pathsrDdirbasearchiverBrCrrr find_shared s     rWcCsnt}t||\}}|dkr,|d|dSd|d}|D],}|dkrJqs(.      &PK!%__pycache__/_aix.cpython-38.opt-2.pycnu[U e5d1@sdZddlZddlmZmZddlmZddlmZm Z ddl m Z m Z m Z e edZddlmZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd ZdS)!z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecsfdd}tt||dS)NcsL|}g}z|r*|dt|qWntk r@YnX|pJtgS)Nr)splitinsertintpop ValueErrorr )ZlibnamepartsZnumssep#/usr/lib64/python3.8/ctypes/_aix.py _num_version>s z#_last_version.._num_version)key)maxreversed)Zlibnamesrrrrr _last_version=s rcCs:d}|jD]*}|dr|}q d|kr |dSq dS)N)/z./z../ZINDEX )stdout startswithrstrip)p ld_headerlinerrr get_ld_headerJs  r#cCs0g}|jD] }td|r&||q q,q |S)Nz[0-9])rrematchappend)r infor"rrrget_ld_header_infoTs    r(cCs\g}tddtd|gdttd}t|}|rF||t|fq"qFq"|j| |S)Nz /usr/bin/dumpz-Xz-HT)Zuniversal_newlinesrstderr) rAIX_ABIrr r#r&r(rclosewait)fileZ ldr_headersr r!rrrget_ld_headersas  r.cCs6g}|D](\}}d|kr|||ddq|S)N[)r&index)Z ld_headersZsharedr"_rrr get_sharedys  r3csJddttdfdd|D}t|dkrB|ddSdSdS)Nz\[(z)\]c3s|]}t|VqdS)N)r$search).0r"exprrr sz get_one_match..r)listfilterlengroup)r7linesZmatchesrr6r get_one_matchs   r?cCsJtdkr d}t||}|rF|Sn&dD] }tt||}|r$|Sq$dS)N@z shr4?_?64\.o)zshr.ozshr4.o)r*r?r$escape)membersr7membernamerrr get_legacys  rEcCsfd|dd|dg}|D]D}g}|D]$}t||}|r(||dq(|rt|dSqdS)Nlibz\.so\.[0-9]+[0-9.]*z_?64\.so\.[0-9]+[0-9.]*r.)r$r4r&r=r)rDrBZexprsr7Zversionsr"mrrr get_versions   rIcCsbd|d}t||}|r|Stdkrr"rrrr get_libpathss     rOcCsp|D]f}|dkrqd|d}t||}t|rtt|}tt||}|dkrd||fSdSqdS)N/librFz.a)NN)rjoinexistsr3r.rJr$rA)pathsrDdirbasearchiverBrCrrr find_shared s     rWcCsnt}t||\}}|dkr,|d|dSd|d}|D],}|dkrJq/s&      &PK!IBq)__pycache__/wintypes.cpython-38.opt-1.pycnu[U e5d@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.e/eje/ej,krejZ0ejZ1n$e/eje/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZneoeZpZqeoeZreoeZsZteoeZueoe4ZveoeZwZxeoehZyZzeoeZ{eoe8Z|Z}eoeGZ~eoeHZeoeZZeoeZeoe7ZeoeZZeoejZZeoe`ZZeoecZeoeYZZeoe\ZZeoeVZeoeZeoedZZeoefZZeoe^Zeoe ZZeoe"ZeoeZeoeZeoe ZeoemZZeoenZZeoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr'/usr/lib64/python3.8/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomNrr r LONG_fields_rrrr r as r c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomNrr r SHORTrrrrr rhs rc@seZdZdefdefgZdS)_COORDXYNrrrrr rosrc@seZdZdefdefgZdS)POINTxyNrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxZcyNrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}sr c@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr r!sr!c@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamtimeZptN) rr r HWNDUINTWPARAMLPARAMr"rrrrrr r#sr#ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r"r!CHARMAX_PATHrrrrr r*s  r*c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr+r,r-r.r/r0r1r2r3r4r5N)rr r r"r!WCHARr7rrrrr r8s  r8)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr"Zc_charr6Zc_wcharr9Zc_uintr'Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr(r)ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr&Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELr r!Z _FILETIMEr#ZtagMSGr7r*r8ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!IBq#__pycache__/wintypes.cpython-38.pycnu[U e5d@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.e/eje/ej,krejZ0ejZ1n$e/eje/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZneoeZpZqeoeZreoeZsZteoeZueoe4ZveoeZwZxeoehZyZzeoeZ{eoe8Z|Z}eoeGZ~eoeHZeoeZZeoeZeoe7ZeoeZZeoejZZeoe`ZZeoecZeoeYZZeoe\ZZeoeVZeoeZeoedZZeoefZZeoe^Zeoe ZZeoe"ZeoeZeoeZeoe ZeoemZZeoenZZeoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr'/usr/lib64/python3.8/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomNrr r LONG_fields_rrrr r as r c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomNrr r SHORTrrrrr rhs rc@seZdZdefdefgZdS)_COORDXYNrrrrr rosrc@seZdZdefdefgZdS)POINTxyNrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxZcyNrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}sr c@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr r!sr!c@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamtimeZptN) rr r HWNDUINTWPARAMLPARAMr"rrrrrr r#sr#ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r"r!CHARMAX_PATHrrrrr r*s  r*c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr+r,r-r.r/r0r1r2r3r4r5N)rr r r"r!WCHARr7rrrrr r8s  r8)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr"Zc_charr6Zc_wcharr9Zc_uintr'Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr(r)ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr&Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELr r!Z _FILETIMEr#ZtagMSGr7r*r8ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!P \??)__pycache__/__init__.cpython-38.opt-1.pycnu[U e5dE@s dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd krdd lmZeZejdkrejdkreejdddkreZddlmZmZ m!Z"m#Z$d}ddZ%d~ddZ&iZ'ddZ(ejd kr\ddlm)Z*ddlm+Z,iZ-ddZ.e.jrte(j/dde._nejdkrtddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7dd lm8Z8dd!d"Z9Gd#d$d$e8Z:e9e:d%Gd&d'd'e8Z;e9e;Gd(d)d)e8Ze9e>ed.ed/krLe=Z?e>Z@n0Gd0d1d1e8Z?e9e?Gd2d3d3e8Z@e9e@Gd4d5d5e8ZAe9eAGd6d7d7e8ZBe9eBGd8d9d9e8ZCe1eCe1eBkreBZCed/ed:kre=ZDe>ZEn0Gd;d<dd>e8ZEe9eEGd?d@d@e8ZFeFeF_GeF_He9eFGdAdBdBe8ZIeIeI_GeI_He9eIGdCdDdDe8ZJeJeJ_GeJ_He9eJGdEdFdFe8ZKe9eKd%GdGdHdHe8ZLeLZMe9eLGdIdJdJe8ZNddKlmOZOmPZPmQZQGdLdMdMe8ZRGdNdOdOe8ZSdPdQZTddRdSZUdTdUZVdVdWZWGdXdYdYeXZYGdZd[d[eYZZejd krGd\d]d]eYZ[dd^lm\Z\m8Z8Gd_d`d`e8Z]GdadbdbeYZ^GdcddddeXZ_e_eYZ`e_eZZaejd kreZdedejbZcn,ejdfkreZdgejdddhZcneZdZcejd kr8e_e[Zee_e^ZfeejgjhZhddilmiZimjZjddjdkZke1e@e1eLkrTe@Zle?Zmn6e1e>e1eLkrpe>Zle=Zmne1eEe1eLkreEZleDZmddllmnZnmoZompZpmqZqe(eLeLeLelenZre(eLeLe?eleoZsdmdnZtete:eLe:e:eqZudodpZvete:eLe?epZwddrdsZxzddtlmyZyWnezk r(YnXete:eLe?eyZ{ddudvZ|ejd kr`dwdxZ}dydzZ~dd{lmZmZeIZeFZe;e?e=eDfD]@Ze1edhkreZn&e1ed|kreZne1edkreZqeeEfD]@Ze1edhkreZn&e1ed|kreZne1edkreZq[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentErrorcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCszt|trD|dkrt|d}td||t|}|}||_|St|trntdd|t|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizeZbuftypeZbufr$'/usr/lib64/python3.8/ctypes/__init__.pycreate_string_buffer/s   r&cCs t||SN)r&)r"r#r$r$r%c_bufferCsr(cst|ddrtO|ddr,tO|r@td|ztfWStk rGfdddt}|tf<|YSXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_r$argtypesflagsrestyper$r% CFunctionTypeesr7N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r6r4kwr7r$r3r% CFUNCTYPEKs  rB) LoadLibrary)FUNCFLAG_STDCALLcst|ddrtO|ddr,tO|r@td|ztfWStk rGfdddt}|tf<|YSXdS)Nr)Fr*r+cseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeNr,r$r3r$r%WinFunctionType}srE) _FUNCFLAG_STDCALLr9r:r;r<r=_win_functype_cacher?r@)r6r4rArEr$r3r% WINFUNCTYPEqs  rH)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nrr z"sizeof(%s) wrong: %d instead of %d)structr _type_rJ SystemError)typtypecoder ZactualZrequiredr$r$r% _check_sizes rWcs eZdZdZfddZZS) py_objectOcs4z tWStk r.dt|jYSXdS)Nz %s())super__repr__r<typer-self __class__r$r%r[s zpy_object.__repr__)r-r.r/rSr[ __classcell__r$r$r_r%rXsrXPc@seZdZdZdS)c_shorthNr-r.r/rSr$r$r$r%rcsrcc@seZdZdZdS)c_ushortHNrer$r$r$r%rfsrfc@seZdZdZdS)c_longlNrer$r$r$r%rhsrhc@seZdZdZdS)c_ulongLNrer$r$r$r%rjsrjiric@seZdZdZdS)c_intrlNrer$r$r$r%rmsrmc@seZdZdZdS)c_uintINrer$r$r$r%rnsrnc@seZdZdZdS)c_floatfNrer$r$r$r%rpsrpc@seZdZdZdS)c_doubledNrer$r$r$r%rrsrrc@seZdZdZdS) c_longdoublegNrer$r$r$r%rtsrtqc@seZdZdZdS) c_longlongrvNrer$r$r$r%rwsrwc@seZdZdZdS) c_ulonglongQNrer$r$r$r%rxsrxc@seZdZdZdS)c_ubyteBNrer$r$r$r%rzsrzc@seZdZdZdS)c_bytebNrer$r$r$r%r|sr|c@seZdZdZdS)rcNrer$r$r$r%rsrc@seZdZdZddZdS)c_char_pzcCsd|jjt|jfSNz%s(%s)r`r-c_void_pZ from_bufferrr]r$r$r%r[szc_char_p.__repr__Nr-r.r/rSr[r$r$r$r%rsrc@seZdZdZdS)rrbNrer$r$r$r%rsrc@seZdZdZdS)c_bool?Nrer$r$r$r%rsr)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjt|jfSrrr]r$r$r%r[szc_wchar_p.__repr__Nrr$r$r$r%rsrc@seZdZdZdS)c_wcharuNrer$r$r$r%rsrcCsFtttjdkr"ttjtt _t jtt _t td<dS)Nr ) rclearr>_osnamerGrZ from_paramrrrrrr$r$r$r% _reset_caches   rcCst|trh|dkrBttdkr6tdd|Dd}n t|d}td||t|}|}||_|St|t rtdd|t|}|}|St |dS)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Ncss"|]}t|dkrdndVqdS)irrN)ord).0r~r$r$r% sz(create_unicode_buffer..rzctypes.create_unicode_buffer) rstrrJrsumrrrrrr r!r$r$r%create_unicode_buffers     rcCsLt|ddk rtdt|tkr,td|||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridZset_type)rclsr$r$r%SetPointerType.s  rcCs||Sr'r$)rUrr$r$r%ARRAY8src@sPeZdZdZeZeZdZdZ dZ e ddddfddZ dd Z d d Zd d ZdS)CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFc s|_j|rtO|r$tOtjdrV|rV|drVd|krV|tj tj BO}tj dkr|dk rn|}n6ddl }|j }d|ksd|kr|j_||jO}Gfdd d t}|_|dkrtj|_n|_dS) NZaix)z.a(r r/\cseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r-r.r/r2_func_restype_r1r$r5r^r$r%_FuncPtrosr)_name _func_flags_r:r;rplatform startswithendswithrZ RTLD_MEMBERRTLD_NOWrr Z!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRSZ_getfullpathnameZ!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRr@r_dlopen_handle) r^rmodeZhandler)r*Zwinmoder rr$rr%__init__Ss,   z CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>rr)r`r-rrrmaxsizerr]r$r$r%r[ys  z CDLL.__repr__cCs6|dr|drt|||}t||||S)N__)rrAttributeError __getitem__setattr)r^rfuncr$r$r% __getattr__s   zCDLL.__getattr__cCs"|||f}t|ts||_|Sr')rrrr-)r^Zname_or_ordinalrr$r$r%rs zCDLL.__getitem__)r-r.r/__doc__r8rrmrrrr DEFAULT_MODErr[rrr$r$r$r%r>s  &rc@seZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r-r.r/rr8_FUNCFLAG_PYTHONAPIrr$r$r$r%rsrc@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r-r.r/rrFrr$r$r$r%rsr)_check_HRESULTrQc@seZdZdZeZdS)HRESULTriN)r-r.r/rSrZ_check_retval_r$r$r$r%rs rc@seZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r-r.r/rrFrrrr$r$r$r%rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dSr'_dlltype)r^Zdlltyper$r$r%rszLibraryLoader.__init__cCs.|ddkrt|||}t||||S)Nr_)rrr)r^rZdllr$r$r%rs    zLibraryLoader.__getattr__cCs t||Sr')getattrr^rr$r$r%rszLibraryLoader.__getitem__cCs ||Sr'rrr$r$r%rCszLibraryLoader.LoadLibraryN)r-r.r/rrrrCr$r$r$r%rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|}td|d|Sr') GetLastErrorrstripOSError)codeZdescrr$r$r%WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r-r.r/r0r1r8rr2r$r4r6r$r%r7sr7)r@)r6r4r7r$rr% PYFUNCTYPEsrcCs t|||Sr')_cast)objrUr$r$r%castsrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_atZptrr#r$r$r% string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_atrr$r$r% wstring_at srcCsBztdttdg}Wntk r.YdSX||||SdS)Ncomtypes.server.inprocserver*i) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr$r$r%rs rcCs8ztdttdg}Wntk r.YdSX|S)Nrrr)rrrrDllCanUnloadNow)rr$r$r%rs r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)r)r)rosrsysrrZ_ctypesrrrrrr@Z_ctypes_versionrr r rRr Z _calcsize Exceptionrrrrrunamereleasesplitrr8rrrr:rr;r&r(r>rBrCrrDrFrGrHreplacerIrJrKrLrMrNrOrPrQrWrXrcrfrhrjrmrnrprrrtrwrxrzZ __ctype_le__Z __ctype_be__r|rrrZc_voidprrrrrrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r$r$r$r%s4          !              N          PK!577)__pycache__/__init__.cpython-38.opt-2.pycnu[U e5dE@sddlZddlZdZddlmZmZmZddlm Z ddlm Z ddlmZ ddlm Z mZddlmZdd lmZee kred ee ejd krdd lmZe Zejd krejdkreejdddkreZddlmZmZm Z!m"Z#d|ddZ$d}ddZ%iZ&ddZ'ejd krXddlm(Z)ddlm*Z+iZ,ddZ-e-j.rpe'j./dde-_.nejd krpddlm0Z)ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7ddlm8Z8d~d d!Z9Gd"d#d#e8Z:e9e:d$Gd%d&d&e8Z;e9e;Gd'd(d(e8Ze9e>ed-ed.krHe=Z?e>Z@n0Gd/d0d0e8Z?e9e?Gd1d2d2e8Z@e9e@Gd3d4d4e8ZAe9eAGd5d6d6e8ZBe9eBGd7d8d8e8ZCe1eCe1eBkreBZCed.ed9kre=ZDe>ZEn0Gd:d;d;e8ZDe9eDGdd?d?e8ZFeFeF_GeF_He9eFGd@dAdAe8ZIeIeI_GeI_He9eIGdBdCdCe8ZJeJeJ_GeJ_He9eJGdDdEdEe8ZKe9eKd$GdFdGdGe8ZLeLZMe9eLGdHdIdIe8ZNddJlmOZOmPZPmQZQGdKdLdLe8ZRGdMdNdNe8ZSdOdPZTddQdRZUdSdTZVdUdVZWGdWdXdXeXZYGdYdZdZeYZZejd krGd[d\d\eYZ[dd]lm\Z\m8Z8Gd^d_d_e8Z]Gd`dadaeYZ^GdbdcdceXZ_e_eYZ`e_eZZaejd kreZdddejbZcn,ejdekreZdfejdddgZcneZdZcejd kr4e_e[Zee_e^ZfeejgjhZhddhlmiZimjZjddidjZke1e@e1eLkrPe@Zle?Zmn6e1e>e1eLkrle>Zle=Zmne1eEe1eLkreEZleDZmddklmnZnmoZompZpmqZqe'eLeLeLelenZre'eLeLe?eleoZsdldmZtete:eLe:e:eqZudndoZvete:eLe?epZwddqdrZxzddslmyZyWnezk r$YnXete:eLe?eyZ{ddtduZ|ejd kr\dvdwZ}dxdyZ~ddzlmZmZeIZeFZe;e?e=eDfD]@Ze1edgkreZn&e1ed{kreZne1edkreZqeeEfD]@Ze1edgkreZn&e1ed{kreZne1edkreZq[eTdS)Nz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentErrorcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCszt|trD|dkrt|d}td||t|}|}||_|St|trntdd|t|}|}|St|dS)Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizeZbuftypeZbufr$'/usr/lib64/python3.8/ctypes/__init__.pycreate_string_buffer/s   r&cCs t||SN)r&)r"r#r$r$r%c_bufferCsr(cst|ddrtO|ddr,tO|r@td|ztfWStk rGfdddt}|tf<|YSXdS)N use_errnoFuse_last_error!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_r$argtypesflagsrestyper$r% CFunctionTypeesr7) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r6r4kwr7r$r3r% CFUNCTYPEKs  rB) LoadLibrary)FUNCFLAG_STDCALLcst|ddrtO|ddr,tO|r@td|ztfWStk rGfdddt}|tf<|YSXdS)Nr)Fr*r+cseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeNr,r$r3r$r%WinFunctionType}srE) _FUNCFLAG_STDCALLr9r:r;r<r=_win_functype_cacher?r@)r6r4rArEr$r3r% WINFUNCTYPEqs  rH)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nrr z"sizeof(%s) wrong: %d instead of %d)structr _type_rJ SystemError)typtypecoder ZactualZrequiredr$r$r% _check_sizes rWcs eZdZdZfddZZS) py_objectOcs4z tWStk r.dt|jYSXdS)Nz %s())super__repr__r<typer-self __class__r$r%r[s zpy_object.__repr__)r-r.r/rSr[ __classcell__r$r$r_r%rXsrXPc@seZdZdZdS)c_shorthNr-r.r/rSr$r$r$r%rcsrcc@seZdZdZdS)c_ushortHNrer$r$r$r%rfsrfc@seZdZdZdS)c_longlNrer$r$r$r%rhsrhc@seZdZdZdS)c_ulongLNrer$r$r$r%rjsrjiric@seZdZdZdS)c_intrlNrer$r$r$r%rmsrmc@seZdZdZdS)c_uintINrer$r$r$r%rnsrnc@seZdZdZdS)c_floatfNrer$r$r$r%rpsrpc@seZdZdZdS)c_doubledNrer$r$r$r%rrsrrc@seZdZdZdS) c_longdoublegNrer$r$r$r%rtsrtqc@seZdZdZdS) c_longlongrvNrer$r$r$r%rwsrwc@seZdZdZdS) c_ulonglongQNrer$r$r$r%rxsrxc@seZdZdZdS)c_ubyteBNrer$r$r$r%rzsrzc@seZdZdZdS)c_bytebNrer$r$r$r%r|sr|c@seZdZdZdS)rcNrer$r$r$r%rsrc@seZdZdZddZdS)c_char_pzcCsd|jjt|jfSNz%s(%s)r`r-c_void_pZ from_bufferrr]r$r$r%r[szc_char_p.__repr__Nr-r.r/rSr[r$r$r$r%rsrc@seZdZdZdS)rrbNrer$r$r$r%rsrc@seZdZdZdS)c_bool?Nrer$r$r$r%rsr)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjt|jfSrrr]r$r$r%r[szc_wchar_p.__repr__Nrr$r$r$r%rsrc@seZdZdZdS)c_wcharuNrer$r$r$r%rsrcCsFtttjdkr"ttjtt _t jtt _t td<dS)Nr ) rclearr>_osnamerGrZ from_paramrrrrrr$r$r$r% _reset_caches   rcCst|trh|dkrBttdkr6tdd|Dd}n t|d}td||t|}|}||_|St|t rtdd|t|}|}|St |dS)Ncss"|]}t|dkrdndVqdS)irrN)ord).0r~r$r$r% sz(create_unicode_buffer..rzctypes.create_unicode_buffer) rstrrJrsumrrrrrr r!r$r$r%create_unicode_buffers     rcCsLt|ddk rtdt|tkr,td|||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridZset_type)rclsr$r$r%SetPointerType.s  rcCs||Sr'r$)rUrr$r$r%ARRAY8src@sLeZdZeZeZdZdZdZ e ddddfddZ ddZ d d Z d d ZdS) CDLLzrNFc s|_j|rtO|r$tOtjdrV|rV|drVd|krV|tj tj BO}tj dkr|dk rn|}n6ddl }|j }d|ksd|kr|j_||jO}Gfdd d t}|_|dkrtj|_n|_dS) NZaix)z.a(r r/\cseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r-r.r/r2_func_restype_r1r$r5r^r$r%_FuncPtrosr)_name _func_flags_r:r;rplatform startswithendswithrZ RTLD_MEMBERRTLD_NOWrr Z!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRSZ_getfullpathnameZ!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRr@r_dlopen_handle) r^rmodeZhandler)r*Zwinmoder rr$rr%__init__Ss,   z CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>rr)r`r-rrrmaxsizerr]r$r$r%r[ys  z CDLL.__repr__cCs6|dr|drt|||}t||||S)N__)rrAttributeError __getitem__setattr)r^rfuncr$r$r% __getattr__s   zCDLL.__getattr__cCs"|||f}t|ts||_|Sr')rrrr-)r^Zname_or_ordinalrr$r$r%rs zCDLL.__getitem__)r-r.r/r8rrmrrrr DEFAULT_MODErr[rrr$r$r$r%r>s &rc@seZdZeeBZdS)PyDLLN)r-r.r/r8_FUNCFLAG_PYTHONAPIrr$r$r$r%rsrc@seZdZeZdS)WinDLLN)r-r.r/rFrr$r$r$r%rsr)_check_HRESULTrQc@seZdZdZeZdS)HRESULTriN)r-r.r/rSrZ_check_retval_r$r$r$r%rs rc@seZdZeZeZdS)OleDLLN)r-r.r/rFrrrr$r$r$r%rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dSr'_dlltype)r^Zdlltyper$r$r%rszLibraryLoader.__init__cCs.|ddkrt|||}t||||S)Nr_)rrr)r^rZdllr$r$r%rs    zLibraryLoader.__getattr__cCs t||Sr')getattrr^rr$r$r%rszLibraryLoader.__getitem__cCs ||Sr'rrr$r$r%rCszLibraryLoader.LoadLibraryN)r-r.r/rrrrCr$r$r$r%rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|}td|d|Sr') GetLastErrorrstripOSError)codeZdescrr$r$r%WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r-r.r/r0r1r8rr2r$r4r6r$r%r7sr7)r@)r6r4r7r$rr% PYFUNCTYPEsrcCs t|||Sr')_cast)objrUr$r$r%castsrcCs t||Sr') _string_atZptrr#r$r$r% string_atsr)_wstring_at_addrcCs t||Sr') _wstring_atrr$r$r% wstring_at srcCsBztdttdg}Wntk r.YdSX||||SdS)Ncomtypes.server.inprocserver*i) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr$r$r%rs rcCs8ztdttdg}Wntk r.YdSX|S)Nrrr)rrrrDllCanUnloadNow)rr$r$r%rs r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)r)r)osrsysrrZ_ctypesrrrrrr@Z_ctypes_versionrr r rRr Z _calcsize Exceptionrrrrrunamereleasesplitrr8rrrr:rr;r&r(r>rBrCrrDrFrGrH__doc__replacerIrJrKrLrMrNrOrPrQrWrXrcrfrhrjrmrnrprrrtrwrxrzZ __ctype_le__Z __ctype_be__r|rrrZc_voidprrrrrrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r$r$r$r%s2          !              N          PK!K_uov&v&%__pycache__/_aix.cpython-38.opt-1.pycnu[U e5d1@sdZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dZdd lmZd d Zd d ZddZddZddZddZddZddZddZddZddZd d!ZdS)"a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecsfdd}tt||dS)NcsL|}g}z|r*|dt|qWntk r@YnX|pJtgS)Nr)splitinsertintpop ValueErrorr )ZlibnamepartsZnumssep#/usr/lib64/python3.8/ctypes/_aix.py _num_version>s z#_last_version.._num_version)key)maxreversed)Zlibnamesrrrrr _last_version=s rcCs:d}|jD]*}|dr|}q d|kr |dSq dS)N)/z./z../ZINDEX )stdout startswithrstrip)p ld_headerlinerrr get_ld_headerJs  r#cCs0g}|jD] }td|r&||q q,q |S)Nz[0-9])rrematchappend)r infor"rrrget_ld_header_infoTs    r(cCs\g}tddtd|gdttd}t|}|rF||t|fq"qFq"|j| |S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)Zuniversal_newlinesrstderr) rAIX_ABIrr r#r&r(rclosewait)fileZ ldr_headersr r!rrrget_ld_headersas  r.cCs6g}|D](\}}d|kr|||ddq|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r&index)Z ld_headersZsharedr"_rrr get_sharedys  r3csJddttdfdd|D}t|dkrB|ddSdSdS)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3s|]}t|VqdS)N)r$search).0r"exprrr sz get_one_match..r)listfilterlengroup)r7linesZmatchesrr6r get_one_matchs   r?cCsJtdkr d}t||}|rF|Sn&dD] }tt||}|r$|Sq$dS)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r*r?r$escape)membersr7membernamerrr get_legacys  rEcCsfd|dd|dg}|D]D}g}|D]$}t||}|r(||dq(|rt|dSqdS)a Sort list of members and return highest numbered version - if it exists. This function is called when an unversioned libFOO.a(libFOO.so) has not been found. Versioning for the member name is expected to follow GNU LIBTOOL conventions: the highest version (x, then X.y, then X.Y.z) * find [libFoo.so.X] * find [libFoo.so.X.Y] * find [libFoo.so.X.Y.Z] Before the GNU convention became the standard scheme regardless of binary size AIX packagers used GNU convention "as-is" for 32-bit archive members but used an "distinguishing" name for 64-bit members. This scheme inserted either 64 or _64 between libFOO and .so - generally libFOO_64.so, but occasionally libFOO64.so libz\.so\.[0-9]+[0-9.]*z_?64\.so\.[0-9]+[0-9.]*r.N)r$r4r&r=r)rDrBZexprsr7Zversionsr"mrrr get_versions   rIcCsbd|d}t||}|r|Stdkrr"rrrr get_libpathss     rOcCsp|D]f}|dkrqd|d}t||}t|rtt|}tt||}|dkrd||fSdSqdS)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librFz.aN)NN)rjoinexistsr3r.rJr$rA)pathsrDdirbasearchiverBrCrrr find_shared s     rWcCsnt}t||\}}|dkr,|d|dSd|d}|D],}|dkrJqs(.      &PK!Ŋ (__pycache__/_endian.cpython-38.opt-1.pycnu[U e5d@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr &/usr/lib64/python3.8/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacs^|dkrLg}|D]6}|d}|d}|dd}||t|f|q|}t||dS)NZ_fields_r)appendrsuper __setattr__)selfattrnamevalueZfieldsZdescnamer rest __class__r rrs z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r rrrsrlittleZ __ctype_be__c@seZdZdZdZdZdS)BigEndianStructurez$Structure with big endian byte orderr Nrrr__doc__ __slots__Z_swappedbytes_r r r rr!.sr!) metaclassZbigZ __ctype_le__c@seZdZdZdZdZdS)LittleEndianStructurez'Structure with little endian byte orderr Nr"r r r rr&7sr&zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr&r! RuntimeErrorr r r rs  PK!IBq)__pycache__/wintypes.cpython-38.opt-2.pycnu[U e5d@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.e/eje/ej,krejZ0ejZ1n$e/eje/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZneoeZpZqeoeZreoeZsZteoeZueoe4ZveoeZwZxeoehZyZzeoeZ{eoe8Z|Z}eoeGZ~eoeHZeoeZZeoeZeoe7ZeoeZZeoejZZeoe`ZZeoecZeoeYZZeoe\ZZeoeVZeoeZeoedZZeoefZZeoe^Zeoe ZZeoe"ZeoeZeoeZeoe ZeoemZZeoenZZeoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr'/usr/lib64/python3.8/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomNrr r LONG_fields_rrrr r as r c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomNrr r SHORTrrrrr rhs rc@seZdZdefdefgZdS)_COORDXYNrrrrr rosrc@seZdZdefdefgZdS)POINTxyNrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxZcyNrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}sr c@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr r!sr!c@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamtimeZptN) rr r HWNDUINTWPARAMLPARAMr"rrrrrr r#sr#ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r"r!CHARMAX_PATHrrrrr r*s  r*c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr+r,r-r.r/r0r1r2r3r4r5N)rr r r"r!WCHARr7rrrrr r8s  r8)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr"Zc_charr6Zc_wcharr9Zc_uintr'Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr(r)ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr&Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELr r!Z _FILETIMEr#ZtagMSGr7r*r8ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!YY%__pycache__/util.cpython-38.opt-2.pycnu[U e5d76@sBddlZddlZddlZddlZejdkrDddZddZddZnejd krnejd krndd l m Z d dZnej d rddl mZnejd kr&ddlZddlZddZddZejdkrddZnddZej drddZddZn8ejdkrddZd'ddZndd Zd!d"Zd#dZd$d%Zed&kr>edS)(NntcCsd}tj|}|dkrdS|t|}tj|ddd\}}t|ddd}|dkrf|d7}t|dd d }|dkrd }|dkr||SdS) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr#/usr/lib64/python3.8/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d7}|d S) Nrmsvcrtrzmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s r cCsx|dkrtStjdtjD]R}tj||}tj|rF|S| drVq |d}tj|r |Sq dS)N)cmPATHr) r osenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s   r-posixdarwin) dyld_findc CsPd|d|d||fg}|D],}zt|WStk rHYqYqXqdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r,possiblerrrr-Hs  aix)r-c Cs4d}t|d}|d|kW5QRSQRXdS)NsELFbr)openread)filenameZ elf_headerZthefilerrr_is_elf`s r:c Cs tdt|}td}|s,td}|s4dSt}z|dd|j d|g}t tj }d|d<d|d <zt j|t jt j|d }Wntk rYW$dSX||j}W5QRXW5z |Wnt k rYnXXt||}|sdS|D]} t| sqt| SdS) N[^\(\)\s]*lib%s\.[^\(\)\s]*ZgccZccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r$fsencodereescapeshutilwhichtempfileZNamedTemporaryFilecloseFileNotFoundErrorr,dictr% subprocessPopenPIPEZSTDOUTOSErrorrAr8findallr:fsdecode) r,exprZ c_compilerZtempargsrCprocZtraceresfilerrr _findLib_gccfsB        rXZsunos5c Cs||sdSztjdd|ftjtjd}Wntk r<YdSX||j}W5QRXtd|}|sldSt | dS)Nz/usr/ccs/bin/dumpz-LpvrArBs\[.*\]\sSONAME\s+([^\s]+)r) rMrNrODEVNULLrPrAr8rEsearchr$rRgroup)frUdatarVrrr _get_sonames   r_c Cs|sdStd}|sdSz"tj|ddd|ftjtjd}Wntk rRYdSX||j}W5QRXt d|}|sdSt | dS)Nobjdump-pz-jz.dynamicrYs\sSONAME\s+([^\s]+)r)rGrHrMrNrOrZrPrAr8rEr[r$rRr\)r]r`rUdumprVrrrr_s$   )ZfreebsdZopenbsdZ dragonflycCsN|d}g}z|r*|dt|qWntk r@YnX|pLtjgS)N.r)rinsertrpopr2r maxsize)ZlibnamepartsZnumsrrr _num_versions rhc Cst|}d||f}t|}ztjdtjtjd}Wntk rPd}YnX||j }W5QRXt ||}|st t |S|jtdt|dS)Nz:-l%s\.\S+ => \S*/(lib%s\.\S+))/sbin/ldconfigz-rrY)keyr)rErFr$rDrMrNrOrZrPrAr8rQr_rXsortrhrR)r,ZenamerSrUr^rVrrrr-s"        c CstjdsdSttj}d|d<|r,d}nd}d}ztj|tjtj|d}Wnt k rdYdSX|6|j D](}| }| drrt |d}qrW5QRX|sdS|d D]*}tj|d |}tj|r|SqdS) N /usr/bin/crler=r>)rm-64)rmr@sDefault Library Path (ELF):r6:zlib%s.so)r$r'existsrLr%rMrNrOrZrPrAstrip startswithrRrr() r,is64rCrTpathsrUlinedirZlibfilerrr _findLib_crles8       rwFcCstt||pt|SN)r_rwrX)r,rsrrrr- sc Csddl}|ddkr&tjd}ntjd}dddddd }||d }d }t|t||f}zht j d d gt j t j t j dddd:}t ||j}|rt|dW5QRWSW5QRXWntk rYnXdS)Nrlr6z-32rnz libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%srirar=)r>r?)stdinrBrArCr)structZcalcsizer$unamemachinegetrDrErFrMrNrZrOr[rAr8rRr\rP)r,r{r}Zmach_mapZabi_typeZregexprVrrr_findSoname_ldconfigs4  ,rc Csdt|}ddg}tjd}|rD|dD]}|d|gq0|dtjd|gd}zZtj |tj tj d d }| \}}t |t |} | D]} t| sqt | WSWntk rYnX|S) Nr;Zldz-tZLD_LIBRARY_PATHroz-Lr<z-l%sT)rArBZuniversal_newlines)rErFr$r%r~rextenddevnullrMrNrOZ communicaterQrRr: Exception) r,rScmdZlibpathrresultrout_rVrWrrr _findLib_ld,s,   rcCs t|ptt|ptt|Srx)rr_rXr)r,rrrr-Gs   cCsddlm}tjdkr:t|jt|dttdtjdkrttdttdttdtj d krt| d t| d t| d t| d ntj drddlm }tj dkrtd|dtjtd| dttdt| dn*td|dtjtd| dtdtdtd| tdtdtdtd| tdn(t| dt| dttddS)Nr)cdllrrr.r"r!bz2r/z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr4)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): Zrpmz librpm.sozlibc.a(shr_64.o)z crypt :: Zcryptz crypto :: Zcryptozlibm.soz libcrypt.so)Zctypesrr$r,printrloadr-r platformZ LoadLibraryrrrrfZ RTLD_MEMBER)rrrrrtestOs<            r__main__)F)r$rGrMr r,rr r-rZctypes.macholib.dyldr0r1rrZ ctypes._aixrErIr:rXr_rhrwrrr__name__rrrrs>     2     $ ( PK!Ŋ "__pycache__/_endian.cpython-38.pycnu[U e5d@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr &/usr/lib64/python3.8/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacs^|dkrLg}|D]6}|d}|d}|dd}||t|f|q|}t||dS)NZ_fields_r)appendrsuper __setattr__)selfattrnamevalueZfieldsZdescnamer rest __class__r rrs z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r rrrsrlittleZ __ctype_be__c@seZdZdZdZdZdS)BigEndianStructurez$Structure with big endian byte orderr Nrrr__doc__ __slots__Z_swappedbytes_r r r rr!.sr!) metaclassZbigZ __ctype_le__c@seZdZdZdZdZdS)LittleEndianStructurez'Structure with little endian byte orderr Nr"r r r rr&7sr&zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr&r! RuntimeErrorr r r rs  PK!VK66(__pycache__/_endian.cpython-38.opt-2.pycnu[U e5d@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)Nz+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr &/usr/lib64/python3.8/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacs^|dkrLg}|D]6}|d}|d}|dd}||t|f|q|}t||dS)NZ_fields_r)appendrsuper __setattr__)selfattrnamevalueZfieldsZdescnamer rest __class__r rrs z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r rrrsrlittleZ __ctype_be__c@seZdZdZdZdS)BigEndianStructurer Nrrr __slots__Z_swappedbytes_r r r rr!.sr!) metaclassZbigZ __ctype_le__c@seZdZdZdZdS)LittleEndianStructurer Nr"r r r rr%7sr%zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr%r! RuntimeErrorr r r rs  PK!P \??#__pycache__/__init__.cpython-38.pycnu[U e5dE@s dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd krdd lmZeZejdkrejdkreejdddkreZddlmZmZ m!Z"m#Z$d}ddZ%d~ddZ&iZ'ddZ(ejd kr\ddlm)Z*ddlm+Z,iZ-ddZ.e.jrte(j/dde._nejdkrtddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7dd lm8Z8dd!d"Z9Gd#d$d$e8Z:e9e:d%Gd&d'd'e8Z;e9e;Gd(d)d)e8Ze9e>ed.ed/krLe=Z?e>Z@n0Gd0d1d1e8Z?e9e?Gd2d3d3e8Z@e9e@Gd4d5d5e8ZAe9eAGd6d7d7e8ZBe9eBGd8d9d9e8ZCe1eCe1eBkreBZCed/ed:kre=ZDe>ZEn0Gd;d<dd>e8ZEe9eEGd?d@d@e8ZFeFeF_GeF_He9eFGdAdBdBe8ZIeIeI_GeI_He9eIGdCdDdDe8ZJeJeJ_GeJ_He9eJGdEdFdFe8ZKe9eKd%GdGdHdHe8ZLeLZMe9eLGdIdJdJe8ZNddKlmOZOmPZPmQZQGdLdMdMe8ZRGdNdOdOe8ZSdPdQZTddRdSZUdTdUZVdVdWZWGdXdYdYeXZYGdZd[d[eYZZejd krGd\d]d]eYZ[dd^lm\Z\m8Z8Gd_d`d`e8Z]GdadbdbeYZ^GdcddddeXZ_e_eYZ`e_eZZaejd kreZdedejbZcn,ejdfkreZdgejdddhZcneZdZcejd kr8e_e[Zee_e^ZfeejgjhZhddilmiZimjZjddjdkZke1e@e1eLkrTe@Zle?Zmn6e1e>e1eLkrpe>Zle=Zmne1eEe1eLkreEZleDZmddllmnZnmoZompZpmqZqe(eLeLeLelenZre(eLeLe?eleoZsdmdnZtete:eLe:e:eqZudodpZvete:eLe?epZwddrdsZxzddtlmyZyWnezk r(YnXete:eLe?eyZ{ddudvZ|ejd kr`dwdxZ}dydzZ~dd{lmZmZeIZeFZe;e?e=eDfD]@Ze1edhkreZn&e1ed|kreZne1edkreZqeeEfD]@Ze1edhkreZn&e1ed|kreZne1edkreZq[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentErrorcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCszt|trD|dkrt|d}td||t|}|}||_|St|trntdd|t|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizeZbuftypeZbufr$'/usr/lib64/python3.8/ctypes/__init__.pycreate_string_buffer/s   r&cCs t||SN)r&)r"r#r$r$r%c_bufferCsr(cst|ddrtO|ddr,tO|r@td|ztfWStk rGfdddt}|tf<|YSXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_r$argtypesflagsrestyper$r% CFunctionTypeesr7N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r6r4kwr7r$r3r% CFUNCTYPEKs  rB) LoadLibrary)FUNCFLAG_STDCALLcst|ddrtO|ddr,tO|r@td|ztfWStk rGfdddt}|tf<|YSXdS)Nr)Fr*r+cseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeNr,r$r3r$r%WinFunctionType}srE) _FUNCFLAG_STDCALLr9r:r;r<r=_win_functype_cacher?r@)r6r4rArEr$r3r% WINFUNCTYPEqs  rH)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nrr z"sizeof(%s) wrong: %d instead of %d)structr _type_rJ SystemError)typtypecoder ZactualZrequiredr$r$r% _check_sizes rWcs eZdZdZfddZZS) py_objectOcs4z tWStk r.dt|jYSXdS)Nz %s())super__repr__r<typer-self __class__r$r%r[s zpy_object.__repr__)r-r.r/rSr[ __classcell__r$r$r_r%rXsrXPc@seZdZdZdS)c_shorthNr-r.r/rSr$r$r$r%rcsrcc@seZdZdZdS)c_ushortHNrer$r$r$r%rfsrfc@seZdZdZdS)c_longlNrer$r$r$r%rhsrhc@seZdZdZdS)c_ulongLNrer$r$r$r%rjsrjiric@seZdZdZdS)c_intrlNrer$r$r$r%rmsrmc@seZdZdZdS)c_uintINrer$r$r$r%rnsrnc@seZdZdZdS)c_floatfNrer$r$r$r%rpsrpc@seZdZdZdS)c_doubledNrer$r$r$r%rrsrrc@seZdZdZdS) c_longdoublegNrer$r$r$r%rtsrtqc@seZdZdZdS) c_longlongrvNrer$r$r$r%rwsrwc@seZdZdZdS) c_ulonglongQNrer$r$r$r%rxsrxc@seZdZdZdS)c_ubyteBNrer$r$r$r%rzsrzc@seZdZdZdS)c_bytebNrer$r$r$r%r|sr|c@seZdZdZdS)rcNrer$r$r$r%rsrc@seZdZdZddZdS)c_char_pzcCsd|jjt|jfSNz%s(%s)r`r-c_void_pZ from_bufferrr]r$r$r%r[szc_char_p.__repr__Nr-r.r/rSr[r$r$r$r%rsrc@seZdZdZdS)rrbNrer$r$r$r%rsrc@seZdZdZdS)c_bool?Nrer$r$r$r%rsr)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjt|jfSrrr]r$r$r%r[szc_wchar_p.__repr__Nrr$r$r$r%rsrc@seZdZdZdS)c_wcharuNrer$r$r$r%rsrcCsFtttjdkr"ttjtt _t jtt _t td<dS)Nr ) rclearr>_osnamerGrZ from_paramrrrrrr$r$r$r% _reset_caches   rcCst|trh|dkrBttdkr6tdd|Dd}n t|d}td||t|}|}||_|St|t rtdd|t|}|}|St |dS)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Ncss"|]}t|dkrdndVqdS)irrN)ord).0r~r$r$r% sz(create_unicode_buffer..rzctypes.create_unicode_buffer) rstrrJrsumrrrrrr r!r$r$r%create_unicode_buffers     rcCsLt|ddk rtdt|tkr,td|||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridZset_type)rclsr$r$r%SetPointerType.s  rcCs||Sr'r$)rUrr$r$r%ARRAY8src@sPeZdZdZeZeZdZdZ dZ e ddddfddZ dd Z d d Zd d ZdS)CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFc s|_j|rtO|r$tOtjdrV|rV|drVd|krV|tj tj BO}tj dkr|dk rn|}n6ddl }|j }d|ksd|kr|j_||jO}Gfdd d t}|_|dkrtj|_n|_dS) NZaix)z.a(r r/\cseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r-r.r/r2_func_restype_r1r$r5r^r$r%_FuncPtrosr)_name _func_flags_r:r;rplatform startswithendswithrZ RTLD_MEMBERRTLD_NOWrr Z!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRSZ_getfullpathnameZ!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRr@r_dlopen_handle) r^rmodeZhandler)r*Zwinmoder rr$rr%__init__Ss,   z CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>rr)r`r-rrrmaxsizerr]r$r$r%r[ys  z CDLL.__repr__cCs6|dr|drt|||}t||||S)N__)rrAttributeError __getitem__setattr)r^rfuncr$r$r% __getattr__s   zCDLL.__getattr__cCs"|||f}t|ts||_|Sr')rrrr-)r^Zname_or_ordinalrr$r$r%rs zCDLL.__getitem__)r-r.r/__doc__r8rrmrrrr DEFAULT_MODErr[rrr$r$r$r%r>s  &rc@seZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r-r.r/rr8_FUNCFLAG_PYTHONAPIrr$r$r$r%rsrc@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r-r.r/rrFrr$r$r$r%rsr)_check_HRESULTrQc@seZdZdZeZdS)HRESULTriN)r-r.r/rSrZ_check_retval_r$r$r$r%rs rc@seZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r-r.r/rrFrrrr$r$r$r%rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dSr'_dlltype)r^Zdlltyper$r$r%rszLibraryLoader.__init__cCs.|ddkrt|||}t||||S)Nr_)rrr)r^rZdllr$r$r%rs    zLibraryLoader.__getattr__cCs t||Sr')getattrr^rr$r$r%rszLibraryLoader.__getitem__cCs ||Sr'rrr$r$r%rCszLibraryLoader.LoadLibraryN)r-r.r/rrrrCr$r$r$r%rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|}td|d|Sr') GetLastErrorrstripOSError)codeZdescrr$r$r%WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r-r.r/r0r1r8rr2r$r4r6r$r%r7sr7)r@)r6r4r7r$rr% PYFUNCTYPEsrcCs t|||Sr')_cast)objrUr$r$r%castsrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_atZptrr#r$r$r% string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_atrr$r$r% wstring_at srcCsBztdttdg}Wntk r.YdSX||||SdS)Ncomtypes.server.inprocserver*i) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr$r$r%rs rcCs8ztdttdg}Wntk r.YdSX|S)Nrrr)rrrrDllCanUnloadNow)rr$r$r%rs r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)r)r)rosrsysrrZ_ctypesrrrrrr@Z_ctypes_versionrr r rRr Z _calcsize Exceptionrrrrrunamereleasesplitrr8rrrr:rr;r&r(r>rBrCrrDrFrGrHreplacerIrJrKrLrMrNrOrPrQrWrXrcrfrhrjrmrnrprrrtrwrxrzZ __ctype_le__Z __ctype_be__r|rrrZc_voidprrrrrrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r$r$r$r%s4          !              N          PK!'z~~)macholib/__pycache__/dylib.cpython-38.pycnu[U e5d$@s>dZddlZdgZedZddZddZedkr:edS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCst|}|sdS|S)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.8/ctypes/macholib/dylib.pyrs cCsddd}tddksttddks*ttd|dddksBttd |dd dd d ks^ttd |ddddksxttd|ddddksttd|ddddd kstdS)NcSst|||||dS)NlocationnameZ shortnameversionsuffix)dictr rrrd.sztest_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__rrrrs PK!&a-macholib/__pycache__/framework.cpython-38.pycnu[U e5d@s>dZddlZdgZedZddZddZedkr:edS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCst|}|sdS|S)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.8/ctypes/macholib/framework.pyrs cCsddd}tddksttddks*ttddks:ttddksJttd|dd d ksbttd |dd d d dks~ttddksttddksttd|ddd dksttd|ddd dd kstdS)NcSst|||||dS)NlocationnameZ shortnameversionsuffix)dictr rrrd-sztest_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__rrrrs PK!SXGG3macholib/__pycache__/framework.cpython-38.opt-1.pycnu[U e5d@s>dZddlZdgZedZddZddZedkr:edS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCst|}|sdS|S)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.8/ctypes/macholib/framework.pyrs cCsddd}dS)NcSst|||||dS)NlocationnameZ shortnameversionsuffix)dictr rrrd-sztest_framework_info..d)NNNNNr)rrrrtest_framework_info,s r__main__)__doc__re__all__compilerrr__name__rrrrs PK!S <<.macholib/__pycache__/dyld.cpython-38.opt-2.pycnu[U e5d@sddlZddlmZddlmZddlTzddlmZWnek rTddZYnXdd d d gZ ej d d ddgZ ej ddddgZ ddZd-ddZd.ddZd/ddZd0ddZd1ddZd2d d!Zd3d"d#Zd4d$d%Zd5d&d'Zd6d(dZd7d)d Zd*d+Zed,kredS)8N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathcGstdSN)NotImplementedError)argsr ,/usr/lib64/python3.8/ctypes/macholib/dyld.pyr sr dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCs.|dkrtj}||}|dkr$gS|dS)N:)osenvirongetsplit)envvarZrvalr r r dyld_env$s  rcCs|dkrtj}|dS)NZDYLD_IMAGE_SUFFIX)rrrrr r r dyld_image_suffix,srcCs t|dS)NZDYLD_FRAMEWORK_PATHrrr r r dyld_framework_path1srcCs t|dS)NZDYLD_LIBRARY_PATHrrr r r dyld_library_path4srcCs t|dS)NZDYLD_FALLBACK_FRAMEWORK_PATHrrr r r dyld_fallback_framework_path7srcCs t|dS)NZDYLD_FALLBACK_LIBRARY_PATHrrr r r dyld_fallback_library_path:srcCs(t|}|dkr|S||fdd}|S)NcssF|D]<}|dr0|dtd |dVn ||V|VqdS)Nz.dylib)endswithlen)iteratorsuffixpathr r r _injectBs   z)dyld_image_suffix_search.._inject)r)rrrr!r r r dyld_image_suffix_search=s r"ccs\t|}|dk r2t|D]}tj||dVqt|D]}tj|tj|Vq:dSNname)rrrr joinrbasename)r$r frameworkr r r r dyld_override_searchKs   r(ccs2|dr.|dk r.tj||tddVdS)Nz@executable_path/) startswithrr r%r)r$executable_pathr r r dyld_executable_path_search\sr+ccs|Vt|}|dk rsJ                PK! YY/macholib/__pycache__/dylib.cpython-38.opt-2.pycnu[U e5d$@s:ddlZdgZedZddZddZedkr6edS)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCst|}|sdS|S)N)DYLIB_REmatch groupdict)filenameZis_dylibr-/usr/lib64/python3.8/ctypes/macholib/dylib.pyrs cCsddd}dS)NcSst|||||dS)NlocationnameZ shortnameversionsuffix)dictr rrrd.sztest_dylib_info..d)NNNNNr)rrrrtest_dylib_info-s r__main__)re__all__compilerrr__name__rrrrs  PK!oR<<(macholib/__pycache__/dyld.cpython-38.pycnu[U e5d@s dZddlZddlmZddlmZddlTzddlmZWne k rXddZYnXd d d d gZ ej d dddgZ ej ddddgZddZd.ddZd/ddZd0ddZd1ddZd2dd Zd3d!d"Zd4d#d$Zd5d%d&Zd6d'd(Zd7d)d Zd8d*d Zd+d,Zed-kredS)9z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathcGstdS)N)NotImplementedError)argsr,/usr/lib64/python3.8/ctypes/macholib/dyld.pyr sr dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCs.|dkrtj}||}|dkr$gS|dS)N:)osenvirongetsplit)envvarZrvalrrr dyld_env$s  rcCs|dkrtj}|dS)NZDYLD_IMAGE_SUFFIX)r rrrrrr dyld_image_suffix,srcCs t|dS)NZDYLD_FRAMEWORK_PATHrrrrr dyld_framework_path1srcCs t|dS)NZDYLD_LIBRARY_PATHrrrrr dyld_library_path4srcCs t|dS)NZDYLD_FALLBACK_FRAMEWORK_PATHrrrrr dyld_fallback_framework_path7srcCs t|dS)NZDYLD_FALLBACK_LIBRARY_PATHrrrrr dyld_fallback_library_path:srcCs(t|}|dkr|S||fdd}|S)z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNcssF|D]<}|dr0|dtd |dVn ||V|VqdS)Nz.dylib)endswithlen)iteratorsuffixpathrrr _injectBs   z)dyld_image_suffix_search.._inject)r)rrrr rrr dyld_image_suffix_search=s r!ccs\t|}|dk r2t|D]}tj||dVqt|D]}tj|tj|Vq:dSNname)rrr rjoinrbasename)r#r frameworkrrrr dyld_override_searchKs   r'ccs2|dr.|dk r.tj||tddVdS)Nz@executable_path/) startswithr rr$r)r#executable_pathrrr dyld_executable_path_search\sr*ccs|Vt|}|dk rsL                PK!R)--2macholib/__pycache__/__init__.cpython-38.opt-1.pycnu[U e5d@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.8/ctypes/macholib/__init__.pysPK!?p2macholib/__pycache__/__init__.cpython-38.opt-2.pycnu[U e5d@sdZdS)z1.0N) __version__rr0/usr/lib64/python3.8/ctypes/macholib/__init__.py PK!*d3macholib/__pycache__/framework.cpython-38.opt-2.pycnu[U e5d@s:ddlZdgZedZddZddZedkr6edS)Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCst|}|sdS|S)N)STRICT_FRAMEWORK_REmatch groupdict)filenameZ is_frameworkr1/usr/lib64/python3.8/ctypes/macholib/framework.pyrs cCsddd}dS)NcSst|||||dS)NlocationnameZ shortnameversionsuffix)dictr rrrd-sztest_framework_info..d)NNNNNr)rrrrtest_framework_info,s r__main__)re__all__compilerrr__name__rrrrs  PK!r?.macholib/__pycache__/dyld.cpython-38.opt-1.pycnu[U e5d@s dZddlZddlmZddlmZddlTzddlmZWne k rXddZYnXd d d d gZ ej d dddgZ ej ddddgZddZd.ddZd/ddZd0ddZd1ddZd2dd Zd3d!d"Zd4d#d$Zd5d%d&Zd6d'd(Zd7d)d Zd8d*d Zd+d,Zed-kredS)9z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathcGstdSN)NotImplementedError)argsr ,/usr/lib64/python3.8/ctypes/macholib/dyld.pyr sr dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCs.|dkrtj}||}|dkr$gS|dS)N:)osenvirongetsplit)envvarZrvalr r r dyld_env$s  rcCs|dkrtj}|dS)NZDYLD_IMAGE_SUFFIX)rrrrr r r dyld_image_suffix,srcCs t|dS)NZDYLD_FRAMEWORK_PATHrrr r r dyld_framework_path1srcCs t|dS)NZDYLD_LIBRARY_PATHrrr r r dyld_library_path4srcCs t|dS)NZDYLD_FALLBACK_FRAMEWORK_PATHrrr r r dyld_fallback_framework_path7srcCs t|dS)NZDYLD_FALLBACK_LIBRARY_PATHrrr r r dyld_fallback_library_path:srcCs(t|}|dkr|S||fdd}|S)z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNcssF|D]<}|dr0|dtd |dVn ||V|VqdS)Nz.dylib)endswithlen)iteratorsuffixpathr r r _injectBs   z)dyld_image_suffix_search.._inject)r)rrrr!r r r dyld_image_suffix_search=s r"ccs\t|}|dk r2t|D]}tj||dVqt|D]}tj|tj|Vq:dSNname)rrrr joinrbasename)r$r frameworkr r r r dyld_override_searchKs   r(ccs2|dr.|dk r.tj||tddVdS)Nz@executable_path/) startswithrr r%r)r$executable_pathr r r dyld_executable_path_search\sr+ccs|Vt|}|dk rsL                PK!n&/macholib/__pycache__/dylib.cpython-38.opt-1.pycnu[U e5d$@s>dZddlZdgZedZddZddZedkr:edS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCst|}|sdS|S)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.8/ctypes/macholib/dylib.pyrs cCsddd}dS)NcSst|||||dS)NlocationnameZ shortnameversionsuffix)dictr rrrd.sztest_dylib_info..d)NNNNNr)rrrrtest_dylib_info-s r__main__)__doc__re__all__compilerrr__name__rrrrs PK!R)--,macholib/__pycache__/__init__.cpython-38.pycnu[U e5d@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.8/ctypes/macholib/__init__.pysPK!NN __init__.pyonu[ {fc@sQ dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee nejdukrddlmZneZejdkrBejdkrBeejdjdddkrBeZqBnddlmZmZm Z!m"Z#ddZ%ddZ&iZ'dZ(ejdvkrddlm)Z*ddlm+Z,ejd kreZ,niZ-dZ.e.jr*e(jj/dde._q*n"ejdkr*ddlm0Z*nddlm1Z1m2Z2m3Z3m4Z4m5Z5dd lm6Z6m7Z7dd!lm8Z8dd"Z9d#e8fd$YZ:e9e:d%d&e8fd'YZ;e9e;d(e8fd)YZ<e9e<d*e8fd+YZ=e9e=d,e8fd-YZ>e9e>ed.ed/krNe=Z?e>Z@n@d0e8fd1YZ?e9e?d2e8fd3YZ@e9e@d4e8fd5YZAe9eAd6e8fd7YZBe9eBd8e8fd9YZCe1eCe1eBkreBZCned/ed:kr,e=ZDe>ZEn@d;e8fd<YZDe9eDd=e8fd>YZEe9eEd?e8fd@YZFeFeF_GeF_He9eFdAe8fdBYZIeIeI_GeI_He9eIdCe8fdDYZJeJeJ_GeJ_He9eJdEe8fdFYZKe9eKd%dGe8fdHYZLeLZMe9eLdIe8fdJYZNddKlmOZOmPZPmQZQdLZRyddMlmSZSWneTk rneXejdwkreSdNdOn eSdPdQdRe8fdSYZUdTe8fdUYZVddVZWdWZXdXZYdYeZfdZYZ[d[e[fd\YZ\ejdxkrd]e[fd^YZ]dd_lm^Z^m8Z8d`e8fdaYZ_dbe[fdcYZ`nddeZfdeYZaeae[Zbeae\Zcejdykr e\dfdejdZen5ejdgkr2e\dhejfd Zen e\dZeejdzkreae]Zgeae`Zhejd kregjijjZjn egjkjjZjddilmlZlmmZmdddjZnne1e@e1eLkre@Zoe?ZpnNe1e>e1eLkre>Zoe=Zpn'e1eEe1eLkr,eEZoeDZpnddklmqZqmrZrmsZsmtZte(eLeLeLeoeqZue(eLeLe?eoerZvdlZwewe:eLe:e:etZxdmZyewe:eLe?esZzddnZ{yddolm|Z|WneTk rn%Xewe:eLe?e|Z}ddpZ~ejd{krE dqZdrZnddslmZmZeIZeFZxke;e?e=eDgD]WZe1edkr eZqz e1edtkr eZqz e1edkrz eZqz qz Wxke<e@e>eEgD]WZe1edkr eZq e1edtkr$ eZq e1edkr eZq q W[eRdS(|s,create and manipulate C data types in PythoniNs1.1.0(tUniont StructuretArray(t_Pointer(tCFuncPtr(t __version__(t RTLD_LOCALt RTLD_GLOBAL(t ArgumentError(tcalcsizesVersion number mismatchtnttce(t FormatErrortposixtdarwinit.ii(tFUNCFLAG_CDECLtFUNCFLAG_PYTHONAPItFUNCFLAG_USE_ERRNOtFUNCFLAG_USE_LASTERRORcCst|ttfrT|dkr4t|d}nt|}|}||_|St|ttfrt|}|}|St |dS(screate_string_buffer(aString) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aString, anInteger) -> character array iN( t isinstancetstrtunicodetNonetlentc_chartvaluetinttlongt TypeError(tinittsizetbuftypetbuf((s'/usr/lib64/python2.7/ctypes/__init__.pytcreate_string_buffer1s      cCs t||S(N(R"(RR((s'/usr/lib64/python2.7/ctypes/__init__.pytc_bufferCscst|jdtr%tOn|jdtrDtOn|rctd|jnytfSWnGtk rdt ffdY}|tf<|SXdS(sCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name t use_errnotuse_last_errors!unexpected keyword argument(s) %st CFunctionTypecseZZZZRS((t__name__t __module__t _argtypes_t _restype_t_flags_((targtypestflagstrestype(s'/usr/lib64/python2.7/ctypes/__init__.pyR&esN( t_FUNCFLAG_CDECLtpoptFalset_FUNCFLAG_USE_ERRNOt_FUNCFLAG_USE_LASTERRORt ValueErrortkeyst_c_functype_cachetKeyErrort _CFuncPtr(R.R,tkwR&((R,R-R.s'/usr/lib64/python2.7/ctypes/__init__.pyt CFUNCTYPEKs   "(t LoadLibrary(tFUNCFLAG_STDCALLcst|jdtr%tOn|jdtrDtOn|rctd|jnytfSWnGtk rdt ffdY}|tf<|SXdS(NR$R%s!unexpected keyword argument(s) %stWinFunctionTypecseZZZZRS((R'R(R)R*R+((R,R-R.(s'/usr/lib64/python2.7/ctypes/__init__.pyR=s( t_FUNCFLAG_STDCALLR0R1R2R3R4R5t_win_functype_cacheR7R8(R.R,R9R=((R,R-R.s'/usr/lib64/python2.7/ctypes/__init__.pyt WINFUNCTYPEts   "R:R@(tdlopen(tsizeoftbyreft addressoft alignmenttresize(t get_errnot set_errno(t _SimpleCDatacCsmddlm}|dkr(|j}nt|||}}||kritd|||fndS(Ni(R s"sizeof(%s) wrong: %d instead of %d(tstructR Rt_type_RBt SystemError(ttypttypecodeR tactualtrequired((s'/usr/lib64/python2.7/ctypes/__init__.pyt _check_sizes   t py_objectcBseZdZdZRS(tOcCs=ytt|jSWntk r8dt|jSXdS(Ns %s()(tsuperRRt__repr__R4ttypeR'(tself((s'/usr/lib64/python2.7/ctypes/__init__.pyRUs (R'R(RKRU(((s'/usr/lib64/python2.7/ctypes/__init__.pyRRstPtc_shortcBseZdZRS(th(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRYstc_ushortcBseZdZRS(tH(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR[stc_longcBseZdZRS(tl(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR]stc_ulongcBseZdZRS(tL(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR_stiR^tc_intcBseZdZRS(Ra(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRbstc_uintcBseZdZRS(tI(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRcstc_floatcBseZdZRS(tf(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRestc_doublecBseZdZRS(td(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRgst c_longdoublecBseZdZRS(tg(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRistqt c_longlongcBseZdZRS(Rk(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRlst c_ulonglongcBseZdZRS(tQ(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRmstc_ubytecBseZdZRS(tB(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRostc_bytecBseZdZRS(tb(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRqsRcBseZdZRS(tc(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRstc_char_pcBs2eZdZejdkr'dZn dZRS(tzR cCsLtjj|ds,d|jj|jfSd|jjt|tjfS(Nis%s(%r)s%s(%s)(twindlltkernel32tIsBadStringPtrAt __class__R'Rtcasttc_void_p(RW((s'/usr/lib64/python2.7/ctypes/__init__.pyRUscCs d|jjt|tjfS(Ns%s(%s)(RyR'RzR{R(RW((s'/usr/lib64/python2.7/ctypes/__init__.pyRUs(R'R(RKt_ostnameRU(((s'/usr/lib64/python2.7/ctypes/__init__.pyRts R{cBseZdZRS(RX(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR{stc_boolcBseZdZRS(t?(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR~s(tPOINTERtpointert_pointer_type_cachecCsbtjtjtjdkr0tjntjtt _t jtt _t td character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array iN( RRRRRRRRRR(RRR R!((s'/usr/lib64/python2.7/ctypes/__init__.pytcreate_unicode_buffer!s      cCsptj|ddk r'tdnt|tkrHtdn|j||t|stCDLLcBs\eZdZeZeZdZdZdZ e de e dZ dZdZdZRS(sAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. sics|_j|r%tOn|r8tOndtffdY}|_|dkrtj|_n |_dS(Nt_FuncPtrcseZZjZRS((R'R(R+t_func_restype_R*((R-RW(s'/usr/lib64/python2.7/ctypes/__init__.pyRcs( t_namet _func_flags_R2R3R8RRt_dlopent_handle(RWR}tmodethandleR$R%R((R-RWs'/usr/lib64/python2.7/ctypes/__init__.pyt__init__Ys      cCsDd|jj|j|jtjdd@t|tjdd@fS(Ns<%s '%s', handle %x at %x>ii(RyR'RRt_systmaxintR(RW((s'/usr/lib64/python2.7/ctypes/__init__.pyRUmscCsP|jdr-|jdr-t|n|j|}t||||S(Nt__(t startswithtendswithtAttributeErrort __getitem__tsetattr(RWR}tfunc((s'/usr/lib64/python2.7/ctypes/__init__.pyt __getattr__ss cCs:|j||f}t|ttfs6||_n|S(N(RRRRR'(RWtname_or_ordinalR((s'/usr/lib64/python2.7/ctypes/__init__.pyRzs N(R'R(t__doc__R/RRbRRRRRt DEFAULT_MODER1RRURR(((s'/usr/lib64/python2.7/ctypes/__init__.pyRDs    tPyDLLcBseZdZeeBZRS(sThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. (R'R(RR/t_FUNCFLAG_PYTHONAPIR(((s'/usr/lib64/python2.7/ctypes/__init__.pyRstWinDLLcBseZdZeZRS(snThis class represents a dll exporting functions using the Windows stdcall calling convention. (R'R(RR>R(((s'/usr/lib64/python2.7/ctypes/__init__.pyRs(t_check_HRESULTRItHRESULTcBseZdZeZRS(R^(R'R(RKRt_check_retval_(((s'/usr/lib64/python2.7/ctypes/__init__.pyRs tOleDLLcBseZdZeZeZRS(sThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as WindowsError exceptions. (R'R(RR>RRR(((s'/usr/lib64/python2.7/ctypes/__init__.pyRst LibraryLoadercBs,eZdZdZdZdZRS(cCs ||_dS(N(t_dlltype(RWtdlltype((s'/usr/lib64/python2.7/ctypes/__init__.pyRscCsB|ddkrt|n|j|}t||||S(Nit_(RRR(RWR}tdll((s'/usr/lib64/python2.7/ctypes/__init__.pyRs cCs t||S(N(tgetattr(RWR}((s'/usr/lib64/python2.7/ctypes/__init__.pyRscCs |j|S(N(R(RWR}((s'/usr/lib64/python2.7/ctypes/__init__.pyR;s(R'R(RRRR;(((s'/usr/lib64/python2.7/ctypes/__init__.pyRs   s python dlltcygwinslibpython%d.%d.dll(tget_last_errortset_last_errorcCsF|dkrt}n|dkr9t|j}nt||S(N(Rt GetLastErrorR tstript WindowsError(tcodetdescr((s'/usr/lib64/python2.7/ctypes/__init__.pytWinErrors    (t _memmove_addrt _memset_addrt_string_at_addrt _cast_addrcs#dtffdY}|S(NR&cseZZZeeBZRS((R'R(R)R*R/RR+((R,R.(s'/usr/lib64/python2.7/ctypes/__init__.pyR&s(R8(R.R,R&((R,R.s'/usr/lib64/python2.7/ctypes/__init__.pyt PYFUNCTYPEscCst|||S(N(t_cast(tobjRM((s'/usr/lib64/python2.7/ctypes/__init__.pyRzscCs t||S(sAstring_at(addr[, size]) -> string Return the string at addr.(t _string_at(tptrR((s'/usr/lib64/python2.7/ctypes/__init__.pyt string_ats(t_wstring_at_addrcCs t||S(sFwstring_at(addr[, size]) -> string Return the string at addr.(t _wstring_at(RR((s'/usr/lib64/python2.7/ctypes/__init__.pyt wstring_atscCsNy"tdttdg}Wntk r6dSX|j|||SdS(Nscomtypes.server.inprocservert*i(t __import__tglobalstlocalst ImportErrortDllGetClassObject(trclsidtriidtppvtccom((s'/usr/lib64/python2.7/ctypes/__init__.pyR s " cCsAy"tdttdg}Wntk r6dSX|jS(Nscomtypes.server.inprocserverRi(RRRRtDllCanUnloadNow(R((s'/usr/lib64/python2.7/ctypes/__init__.pyRs " (tBigEndianStructuretLittleEndianStructurei(R R (R R (R R (R R (R R (R R (R R (RtosR|tsysRRt_ctypesRRRRRR8t_ctypes_versionRRRRJR t _calcsizet ExceptionR}R RtplatformRtunametsplitRR/RRRR2RR3RR"R#R6R:R;RR<R>R?R@treplaceRARBRCRDRERFRGRHRIRQRRRYR[R]R_RbRcReRgRiRlRmRot __ctype_le__t __ctype_be__RqRRtR{tc_voidpR~RRRRRRRRRRRtobjectRRRRRRRtcdlltpydllt dllhandlet pythonapit version_infoRvtoledllRwRtcoredllRRRtc_size_tt c_ssize_tRRRRtmemmovetmemsetRRRzRRRRRRRtctypes._endianRRtc_int8tc_uint8tkindtc_int16tc_int32tc_int64tc_uint16tc_uint32tc_uint64(((s'/usr/lib64/python2.7/ctypes/__init__.pytsJ ) "   !   (                         <           "             PK!wV ) )util.py.binutils-no-depnu[import os import subprocess import sys # find_library(name) returns the pathname of a library, or None. if os.name == "nt": def _get_build_version(): """Return the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. """ # This function was copied from Lib/distutils/msvccompiler.py prefix = "MSC v." i = sys.version.find(prefix) if i == -1: return 6 i = i + len(prefix) s, rest = sys.version[i:].split(" ", 1) majorVersion = int(s[:-2]) - 6 minorVersion = int(s[2:3]) / 10.0 # I don't think paths are affected by minor version in version 6 if majorVersion == 6: minorVersion = 0 if majorVersion >= 6: return majorVersion + minorVersion # else we don't know what version of the compiler this is return None def find_msvcrt(): """Return the name of the VC runtime dll""" version = _get_build_version() if version is None: # better be safe than sorry return None if version <= 6: clibname = 'msvcrt' else: clibname = 'msvcr%d' % (version * 10) # If python was built with in debug mode import imp if imp.get_suffixes()[0][0] == '_d.pyd': clibname += 'd' return clibname+'.dll' def find_library(name): if name in ('c', 'm'): return find_msvcrt() # See MSDN for the REAL search order. for directory in os.environ['PATH'].split(os.pathsep): fname = os.path.join(directory, name) if os.path.isfile(fname): return fname if fname.lower().endswith(".dll"): continue fname = fname + ".dll" if os.path.isfile(fname): return fname return None if os.name == "ce": # search path according to MSDN: # - absolute path specified by filename # - The .exe launch directory # - the Windows directory # - ROM dll files (where are they?) # - OEM specified search path: HKLM\Loader\SystemPath def find_library(name): return name if os.name == "posix" and sys.platform == "darwin": from ctypes.macholib.dyld import dyld_find as _dyld_find def find_library(name): possible = ['lib%s.dylib' % name, '%s.dylib' % name, '%s.framework/%s' % (name, name)] for name in possible: try: return _dyld_find(name) except ValueError: continue return None elif os.name == "posix": # Andreas Degert's find functions, using gcc, /sbin/ldconfig, objdump import re, tempfile, errno def _findLib_gcc(name): # Run GCC's linker with the -t (aka --trace) option and examine the # library name it prints out. The GCC command will fail because we # haven't supplied a proper program with main(), but that does not # matter. expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name) cmd = 'if type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit; fi;' \ 'LANG=C LC_ALL=C $CC -Wl,-t -o "$2" 2>&1 -l"$1"' temp = tempfile.NamedTemporaryFile() try: proc = subprocess.Popen((cmd, '_findLib_gcc', name, temp.name), shell=True, stdout=subprocess.PIPE) [trace, _] = proc.communicate() finally: try: temp.close() except OSError, e: # ENOENT is raised if the file was already removed, which is # the normal behaviour of GCC if linking fails if e.errno != errno.ENOENT: raise res = re.search(expr, trace) if not res: return None return res.group(0) if sys.platform == "sunos5": # use /usr/ccs/bin/dump on solaris def _get_soname(f): if not f: return None null = open(os.devnull, "wb") try: with null: proc = subprocess.Popen(("/usr/ccs/bin/dump", "-Lpv", f), stdout=subprocess.PIPE, stderr=null) except OSError: # E.g. command not found return None [data, _] = proc.communicate() res = re.search(br'\[.*\]\sSONAME\s+([^\s]+)', data) if not res: return None return res.group(1) else: def _get_soname(f): # assuming GNU binutils / ELF if not f: return None cmd = 'if ! type objdump >/dev/null 2>&1; then exit; fi;' \ 'objdump -p -j .dynamic 2>/dev/null "$1"' proc = subprocess.Popen((cmd, '_get_soname', f), shell=True, stdout=subprocess.PIPE) [dump, _] = proc.communicate() res = re.search(br'\sSONAME\s+([^\s]+)', dump) if not res: return None return res.group(1) if (sys.platform.startswith("freebsd") or sys.platform.startswith("openbsd") or sys.platform.startswith("dragonfly")): def _num_version(libname): # "libxyz.so.MAJOR.MINOR" => [ MAJOR, MINOR ] parts = libname.split(b".") nums = [] try: while parts: nums.insert(0, int(parts.pop())) except ValueError: pass return nums or [sys.maxint] def find_library(name): ename = re.escape(name) expr = r':-l%s\.\S+ => \S*/(lib%s\.\S+)' % (ename, ename) null = open(os.devnull, 'wb') try: with null: proc = subprocess.Popen(('/sbin/ldconfig', '-r'), stdout=subprocess.PIPE, stderr=null) except OSError: # E.g. command not found data = b'' else: [data, _] = proc.communicate() res = re.findall(expr, data) if not res: return _get_soname(_findLib_gcc(name)) res.sort(key=_num_version) return res[-1] elif sys.platform == "sunos5": def _findLib_crle(name, is64): if not os.path.exists('/usr/bin/crle'): return None env = dict(os.environ) env['LC_ALL'] = 'C' if is64: args = ('/usr/bin/crle', '-64') else: args = ('/usr/bin/crle',) paths = None null = open(os.devnull, 'wb') try: with null: proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=null, env=env) except OSError: # E.g. bad executable return None try: for line in proc.stdout: line = line.strip() if line.startswith(b'Default Library Path (ELF):'): paths = line.split()[4] finally: proc.stdout.close() proc.wait() if not paths: return None for dir in paths.split(":"): libfile = os.path.join(dir, "lib%s.so" % name) if os.path.exists(libfile): return libfile return None def find_library(name, is64 = False): return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) else: def _findSoname_ldconfig(name): import struct if struct.calcsize('l') == 4: machine = os.uname()[4] + '-32' else: machine = os.uname()[4] + '-64' mach_map = { 'x86_64-64': 'libc6,x86-64', 'ppc64-64': 'libc6,64bit', 'sparc64-64': 'libc6,64bit', 's390x-64': 'libc6,64bit', 'ia64-64': 'libc6,IA-64', } abi_type = mach_map.get(machine, 'libc6') # XXX assuming GLIBC's ldconfig (with option -p) expr = r'\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type) env = dict(os.environ) env['LC_ALL'] = 'C' env['LANG'] = 'C' null = open(os.devnull, 'wb') try: with null: p = subprocess.Popen(['/sbin/ldconfig', '-p'], stderr=null, stdout=subprocess.PIPE, env=env) except OSError: # E.g. command not found return None [data, _] = p.communicate() res = re.search(expr, data) if not res: return None return res.group(1) def find_library(name): return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) ################################################################ # test code def test(): from ctypes import cdll if os.name == "nt": print cdll.msvcrt print cdll.load("msvcrt") print find_library("msvcrt") if os.name == "posix": # find and load_version print find_library("m") print find_library("c") print find_library("bz2") # getattr ## print cdll.m ## print cdll.bz2 # load if sys.platform == "darwin": print cdll.LoadLibrary("libm.dylib") print cdll.LoadLibrary("libcrypto.dylib") print cdll.LoadLibrary("libSystem.dylib") print cdll.LoadLibrary("System.framework/System") else: print cdll.LoadLibrary("libm.so") print cdll.LoadLibrary("libcrypt.so") print find_library("crypt") if __name__ == "__main__": test() PK!   _endian.pycnu[ {fc@sddlZddlTeeZdZdeefdYZejdkr{dZ eZ defd YZ n@ejd krd Z eZ d efd YZ n e ddS(iN(t*cCsft|trt|tSt|tr?t|j|jSt|t rR|St d|dS(sReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. s+This type does not support other endian: %sN( thasattrt _OTHER_ENDIANtgetattrt isinstancet _array_typet _other_endiant_type_t_length_t issubclasst Structuret TypeError(ttyp((s&/usr/lib64/python2.7/ctypes/_endian.pyRs t _swapped_metacBseZdZRS(cCs|dkrgg}xI|D]A}|d}|d}|d}|j|t|f|qW|}ntt|j||dS(Nt_fields_iii(tappendRtsuperR t __setattr__(tselftattrnametvaluetfieldstdesctnameR trest((s&/usr/lib64/python2.7/ctypes/_endian.pyRs     ! (t__name__t __module__R(((s&/usr/lib64/python2.7/ctypes/_endian.pyR stlittlet __ctype_be__tBigEndianStructurecBseZdZeZdZRS(s$Structure with big endian byte orderN(RRt__doc__R t __metaclass__tNonet_swappedbytes_(((s&/usr/lib64/python2.7/ctypes/_endian.pyR.stbigt __ctype_le__tLittleEndianStructurecBseZdZeZdZRS(s'Structure with little endian byte orderN(RRRR RR R!(((s&/usr/lib64/python2.7/ctypes/_endian.pyR$7ssInvalid byteorder( tsystctypesttypetArrayRRR R t byteorderRR$Rt RuntimeError(((s&/usr/lib64/python2.7/ctypes/_endian.pyts    PK!   _endian.pyonu[ {fc@sddlZddlTeeZdZdeefdYZejdkr{dZ eZ defd YZ n@ejd krd Z eZ d efd YZ n e ddS(iN(t*cCsft|trt|tSt|tr?t|j|jSt|t rR|St d|dS(sReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. s+This type does not support other endian: %sN( thasattrt _OTHER_ENDIANtgetattrt isinstancet _array_typet _other_endiant_type_t_length_t issubclasst Structuret TypeError(ttyp((s&/usr/lib64/python2.7/ctypes/_endian.pyRs t _swapped_metacBseZdZRS(cCs|dkrgg}xI|D]A}|d}|d}|d}|j|t|f|qW|}ntt|j||dS(Nt_fields_iii(tappendRtsuperR t __setattr__(tselftattrnametvaluetfieldstdesctnameR trest((s&/usr/lib64/python2.7/ctypes/_endian.pyRs     ! (t__name__t __module__R(((s&/usr/lib64/python2.7/ctypes/_endian.pyR stlittlet __ctype_be__tBigEndianStructurecBseZdZeZdZRS(s$Structure with big endian byte orderN(RRt__doc__R t __metaclass__tNonet_swappedbytes_(((s&/usr/lib64/python2.7/ctypes/_endian.pyR.stbigt __ctype_le__tLittleEndianStructurecBseZdZeZdZRS(s'Structure with little endian byte orderN(RRRR RR R!(((s&/usr/lib64/python2.7/ctypes/_endian.pyR$7ssInvalid byteorder( tsystctypesttypetArrayRRR R t byteorderRR$Rt RuntimeError(((s&/usr/lib64/python2.7/ctypes/_endian.pyts    PK!ʆWmacholib/dyld.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!}`<<macholib/__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!macholib/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!"SSmacholib/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      PK!7|A A macholib/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!d/macholib/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!}`<<macholib/__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! @ macholib/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!HCC wintypes.pycnu[ {fcZ@sddlTeZeZeZeZe Z e Z e ZeZeZeZddlmZdefdYZeZeZeZeZeZZeZZ e!Z"Z#Z$e!Z%Z&e'Z(Z)e*Z+Z,e-ee-e*kreZ.eZ/n'e-ee-e*kreZ.eZ/neZ0eZ1eZ2eZ3eZ4eZ5e*Z6e6Z7e6Z8e6Z9e6Z:e6Z;e6Z<e6Z=e6Z>e6Z?e6Z@e6ZAe6ZBe6ZCe6ZDe6ZEe6ZFe6ZGe6ZHe6ZIe6ZJe6ZKe6ZLe6ZMe6ZNe6ZOe6ZPe6ZQe6ZRe6ZSe6ZTe6ZUdeVfdYZWeWZXZYZZdeVfdYZ[e[Z\d eVfd YZ]d eVfd YZ^e^Z_Z`Zad eVfdYZbebZcZddZedeVfdYZfefZgdeVfdYZhehZidZjdeVfdYZkdeVfdYZlddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOddPd dQddRdSdTdUdVd dWdXdYdZd[d\dd]ddd^d_d d`dadbdcddddedfdgdhgZZmdiS(ji(t*(t _SimpleCDatat VARIANT_BOOLcBseZdZdZRS(tvcCsd|jj|jfS(Ns%s(%r)(t __class__t__name__tvalue(tself((s'/usr/lib64/python2.7/ctypes/wintypes.pyt__repr__s(Rt __module__t_type_R(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRstRECTcBs2eZdefdefdefdefgZRS(tleftttoptrighttbottom(RR tc_longt_fields_(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR `s   t _SMALL_RECTcBs2eZdefdefdefdefgZRS(tLefttToptRighttBottom(RR tc_shortR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRgs   t_COORDcBs eZdefdefgZRS(tXtY(RR RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRns tPOINTcBs eZdefdefgZRS(txty(RR RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRrs tSIZEcBs eZdefdefgZRS(tcxtcy(RR RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRws cCs||d>|d>S(Nii((tredtgreentblue((s'/usr/lib64/python2.7/ctypes/wintypes.pytRGB|stFILETIMEcBs eZdefdefgZRS(t dwLowDateTimetdwHighDateTime(RR tDWORDR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR%s tMSGcBsDeZdefdefdefdefdefdefgZRS(thWndtmessagetwParamtlParamttimetpt( RR tHWNDtc_uinttWPARAMtLPARAMR(RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR)s      itWIN32_FIND_DATAAc BspeZdefdefdefdefdefdefdefdefdeefd ed fg ZRS( tdwFileAttributestftCreationTimetftLastAccessTimetftLastWriteTimet nFileSizeHight nFileSizeLowt dwReserved0t dwReserved1t cFileNametcAlternateFileNamei(RR R(R%tc_chartMAX_PATHR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR4s         tWIN32_FIND_DATAWc BspeZdefdefdefdefdefdefdefdefdeefd ed fg ZRS( R5R6R7R8R9R:R;R<R=R>i(RR R(R%tc_wcharR@R(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRAs         tATOMtBOOLtBOOLEANtBYTEtCOLORREFtDOUBLER(tFLOATtHACCELtHANDLEtHBITMAPtHBRUSHt HCOLORSPACEtHDCtHDESKtHDWPt HENHMETAFILEtHFONTtHGDIOBJtHGLOBALtHHOOKtHICONt HINSTANCEtHKEYtHKLtHLOCALtHMENUt HMETAFILEtHMODULEtHMONITORtHPALETTEtHPENtHRGNtHRSRCtHSTRtHTASKtHWINSTAR0tINTtLANGIDt LARGE_INTEGERtLCIDtLCTYPEtLGRPIDtLONGR3t LPCOLESTRtLPCSTRtLPCVOIDtLPCWSTRtLPOLESTRtLPSTRtLPVOIDtLPWSTRR@tOLESTRtPOINTLtRECTLR$t SC_HANDLEtSERVICE_STATUS_HANDLEtSHORTtSIZELt SMALL_RECTtUINTtULARGE_INTEGERtULONGtUSHORTtWCHARtWORDR2t _FILETIMEt_LARGE_INTEGERt_POINTLt_RECTLt_ULARGE_INTEGERttagMSGttagPOINTttagRECTttagSIZEN(ntctypestc_byteRFtc_ushortRtc_ulongR(RBRR1R~tc_intRgtc_doubleRHtc_floatRIRERRDRRRRmRRR{t c_longlongRRit c_ulonglongRRt c_wchar_pRnRrRvRqRutc_char_pRoRstc_void_pRpRttsizeofR2R3RCRhRGRlRkRjRKRJRLRMRNRORPRQRRRSRTRURVRWRXRYRZR[R\R]R^R_R`RaRbRcRdReRfR0RyRzt StructureR RRRxRR}RRRRRwRRR|R$R%RR)RR@R4RAt__all__(((s'/usr/lib64/python2.7/ctypes/wintypes.pyts             PK!=*0g!g!util.pyonu[ {fc@sddlZddlZddlZejdkrQdZdZdZnejdkrldZnejdkrejd krdd lm Z d Znejdkrddl Z ddl Z ddl Z d Zejd krdZn dZejjds<ejjds<ejjdrQdZdZqejd krxdZedZqdZdZndZedkrendS(iNtntcCsd}tjj|}|dkr(dS|t|}tj|jdd\}}t|d d}t|dd!d }|dkrd }n|dkr||Sd S( sReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. sMSC v.iit iiiig$@iN(tsystversiontfindtlentsplittinttNone(tprefixtitstrestt majorVersiont minorVersion((s#/usr/lib64/python2.7/ctypes/util.pyt_get_build_versions    cCswt}|dkrdS|dkr.d}nd|d}ddl}|jdddkro|d 7}n|d S( s%Return the name of the VC runtime dllitmsvcrtsmsvcr%di iNis_d.pydtds.dll(RRtimpt get_suffixes(RtclibnameR((s#/usr/lib64/python2.7/ctypes/util.pyt find_msvcrts      cCs|dkrtSxtjdjtjD]l}tjj||}tjj|r^|S|jj dryq-n|d}tjj|r-|Sq-WdS(NtctmtPATHs.dll(RR( RtostenvironRtpathseptpathtjointisfiletlowertendswithR(tnamet directorytfname((s#/usr/lib64/python2.7/ctypes/util.pyt find_library0s   tcecCs|S(N((R!((s#/usr/lib64/python2.7/ctypes/util.pyR$Fstposixtdarwin(t dyld_findcCs[d|d|d||fg}x3|D]+}yt|SWq(tk rRq(q(Xq(WdS(Ns lib%s.dylibs%s.dylibs%s.framework/%s(t _dyld_findt ValueErrorR(R!tpossible((s#/usr/lib64/python2.7/ctypes/util.pyR$Ks   c Csdtj|}d}tj}zCtj|d||jfdtdtj}|j \}}Wdy|j Wn+t k r}|j t j krqnXXtj||}|sdS|jdS(Ns[^\(\)\s]*lib%s\.[^\(\)\s]*sif type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit; fi;LANG=C LC_ALL=C $CC -Wl,-t -o "$2" 2>&1 -l"$1"t _findLib_gcctshelltstdouti(tretescapettempfiletNamedTemporaryFilet subprocesstPopenR!tTruetPIPEt communicatetclosetOSErrorterrnotENOENTtsearchRtgroup( R!texprtcmdttemptprocttracet_tetres((s#/usr/lib64/python2.7/ctypes/util.pyR,Zs"   tsunos5c Cs|s dSttjd}y8|,tjdd|fdtjd|}WdQXWntk rhdSX|j\}}t j d|}|sdS|j dS(Ntwbs/usr/ccs/bin/dumps-LpvR.tstderrs\[.*\]\sSONAME\s+([^\s]+)i( RtopenRtdevnullR3R4R6R9R7R/R<R=(tftnullRAtdataRCRE((s#/usr/lib64/python2.7/ctypes/util.pyt _get_sonameys  cCs|s dSd}tj|d|fdtdtj}|j\}}|jdkrhtjj |St j d|}|sdS|j dS(Ns[if ! type objdump >/dev/null 2>&1; then exit 10; fi;objdump -p -j .dynamic 2>/dev/null "$1"RNR-R.i s\sSONAME\s+([^\s]+)i( RR3R4R5R6R7t returncodeRRtbasenameR/R<R=(RKR?RAtdumpRCRE((s#/usr/lib64/python2.7/ctypes/util.pyRNs tfreebsdtopenbsdt dragonflycCsf|jd}g}y-x&|r@|jdt|jqWWntk rUnX|petjgS(Nt.i(RtinsertRtpopR*Rtmaxint(tlibnametpartstnums((s#/usr/lib64/python2.7/ctypes/util.pyt _num_versions $ c Cstj|}d||f}ttjd}y/|#tjd dtjd|}WdQXWntk ryd}nX|j \}}tj ||}|st t |S|j dt|d S( Ns:-l%s\.\S+ => \S*/(lib%s\.\S+)RGs/sbin/ldconfigs-rR.RHttkeyi(s/sbin/ldconfigs-r(R/R0RIRRJR3R4R6R9R7tfindallRNR,tsortR\(R!tenameR>RLRARMRCRE((s#/usr/lib64/python2.7/ctypes/util.pyR$s     c Cs^tjjdsdSttj}d|d<|r>d }nd}d}ttjd}y5|)tj |dtj d|d|}WdQXWnt k rdSXzFx?|j D]4}|j }|jd r|jd }qqWWd|j j|jX|sdSxF|jd D]5}tjj|d |} tjj| r!| Sq!WdS(Ns /usr/bin/crletCtLC_ALLs-64RGR.RHtenvsDefault Library Path (ELF):it:slib%s.so(s /usr/bin/crles-64(s /usr/bin/crle(RRtexistsRtdictRRIRJR3R4R6R9R.tstript startswithRR8twaitR( R!tis64RdtargstpathsRLRAtlinetdirtlibfile((s#/usr/lib64/python2.7/ctypes/util.pyt _findLib_crles>        cCstt||pt|S(N(RNRqR,(R!Rk((s#/usr/lib64/python2.7/ctypes/util.pyR$sc Cs`ddl}|jddkr8tjdd}ntjdd}idd6dd 6dd 6dd 6d d 6}|j|d}dtj||f}ttj}d|dRdRLtpRMRCRE((s#/usr/lib64/python2.7/ctypes/util.pyt_findSoname_ldconfigs:      cCst|ptt|S(N(R}RNR,(R!((s#/usr/lib64/python2.7/ctypes/util.pyR$scCsddlm}tjdkrC|jGH|jdGHtdGHntjdkrtdGHtdGHtdGHtjd kr|j d GH|j d GH|j d GH|j d GHq|j dGH|j dGHtdGHndS(Ni(tcdllRRR&RRtbz2R's libm.dylibslibcrypto.dylibslibSystem.dylibsSystem.framework/Systemslibm.sos libcrypt.sotcrypt( tctypesR~RR!RtloadR$Rtplatformt LoadLibrary(R~((s#/usr/lib64/python2.7/ctypes/util.pyttests"   t__main__(RR3RR!RRR$Rtctypes.macholib.dyldR(R)R/R1R:R,RNRiR\RqtFalseR}Rt__name__(((s#/usr/lib64/python2.7/ctypes/util.pyts<        $     ) $   PK!=*0g!g!util.pycnu[ {fc@sddlZddlZddlZejdkrQdZdZdZnejdkrldZnejdkrejd krdd lm Z d Znejdkrddl Z ddl Z ddl Z d Zejd krdZn dZejjds<ejjds<ejjdrQdZdZqejd krxdZedZqdZdZndZedkrendS(iNtntcCsd}tjj|}|dkr(dS|t|}tj|jdd\}}t|d d}t|dd!d }|dkrd }n|dkr||Sd S( sReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. sMSC v.iit iiiig$@iN(tsystversiontfindtlentsplittinttNone(tprefixtitstrestt majorVersiont minorVersion((s#/usr/lib64/python2.7/ctypes/util.pyt_get_build_versions    cCswt}|dkrdS|dkr.d}nd|d}ddl}|jdddkro|d 7}n|d S( s%Return the name of the VC runtime dllitmsvcrtsmsvcr%di iNis_d.pydtds.dll(RRtimpt get_suffixes(RtclibnameR((s#/usr/lib64/python2.7/ctypes/util.pyt find_msvcrts      cCs|dkrtSxtjdjtjD]l}tjj||}tjj|r^|S|jj dryq-n|d}tjj|r-|Sq-WdS(NtctmtPATHs.dll(RR( RtostenvironRtpathseptpathtjointisfiletlowertendswithR(tnamet directorytfname((s#/usr/lib64/python2.7/ctypes/util.pyt find_library0s   tcecCs|S(N((R!((s#/usr/lib64/python2.7/ctypes/util.pyR$Fstposixtdarwin(t dyld_findcCs[d|d|d||fg}x3|D]+}yt|SWq(tk rRq(q(Xq(WdS(Ns lib%s.dylibs%s.dylibs%s.framework/%s(t _dyld_findt ValueErrorR(R!tpossible((s#/usr/lib64/python2.7/ctypes/util.pyR$Ks   c Csdtj|}d}tj}zCtj|d||jfdtdtj}|j \}}Wdy|j Wn+t k r}|j t j krqnXXtj||}|sdS|jdS(Ns[^\(\)\s]*lib%s\.[^\(\)\s]*sif type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit; fi;LANG=C LC_ALL=C $CC -Wl,-t -o "$2" 2>&1 -l"$1"t _findLib_gcctshelltstdouti(tretescapettempfiletNamedTemporaryFilet subprocesstPopenR!tTruetPIPEt communicatetclosetOSErrorterrnotENOENTtsearchRtgroup( R!texprtcmdttemptprocttracet_tetres((s#/usr/lib64/python2.7/ctypes/util.pyR,Zs"   tsunos5c Cs|s dSttjd}y8|,tjdd|fdtjd|}WdQXWntk rhdSX|j\}}t j d|}|sdS|j dS(Ntwbs/usr/ccs/bin/dumps-LpvR.tstderrs\[.*\]\sSONAME\s+([^\s]+)i( RtopenRtdevnullR3R4R6R9R7R/R<R=(tftnullRAtdataRCRE((s#/usr/lib64/python2.7/ctypes/util.pyt _get_sonameys  cCs|s dSd}tj|d|fdtdtj}|j\}}|jdkrhtjj |St j d|}|sdS|j dS(Ns[if ! type objdump >/dev/null 2>&1; then exit 10; fi;objdump -p -j .dynamic 2>/dev/null "$1"RNR-R.i s\sSONAME\s+([^\s]+)i( RR3R4R5R6R7t returncodeRRtbasenameR/R<R=(RKR?RAtdumpRCRE((s#/usr/lib64/python2.7/ctypes/util.pyRNs tfreebsdtopenbsdt dragonflycCsf|jd}g}y-x&|r@|jdt|jqWWntk rUnX|petjgS(Nt.i(RtinsertRtpopR*Rtmaxint(tlibnametpartstnums((s#/usr/lib64/python2.7/ctypes/util.pyt _num_versions $ c Cstj|}d||f}ttjd}y/|#tjd dtjd|}WdQXWntk ryd}nX|j \}}tj ||}|st t |S|j dt|d S( Ns:-l%s\.\S+ => \S*/(lib%s\.\S+)RGs/sbin/ldconfigs-rR.RHttkeyi(s/sbin/ldconfigs-r(R/R0RIRRJR3R4R6R9R7tfindallRNR,tsortR\(R!tenameR>RLRARMRCRE((s#/usr/lib64/python2.7/ctypes/util.pyR$s     c Cs^tjjdsdSttj}d|d<|r>d }nd}d}ttjd}y5|)tj |dtj d|d|}WdQXWnt k rdSXzFx?|j D]4}|j }|jd r|jd }qqWWd|j j|jX|sdSxF|jd D]5}tjj|d |} tjj| r!| Sq!WdS(Ns /usr/bin/crletCtLC_ALLs-64RGR.RHtenvsDefault Library Path (ELF):it:slib%s.so(s /usr/bin/crles-64(s /usr/bin/crle(RRtexistsRtdictRRIRJR3R4R6R9R.tstript startswithRR8twaitR( R!tis64RdtargstpathsRLRAtlinetdirtlibfile((s#/usr/lib64/python2.7/ctypes/util.pyt _findLib_crles>        cCstt||pt|S(N(RNRqR,(R!Rk((s#/usr/lib64/python2.7/ctypes/util.pyR$sc Cs`ddl}|jddkr8tjdd}ntjdd}idd6dd 6dd 6dd 6d d 6}|j|d}dtj||f}ttj}d|dRdRLtpRMRCRE((s#/usr/lib64/python2.7/ctypes/util.pyt_findSoname_ldconfigs:      cCst|ptt|S(N(R}RNR,(R!((s#/usr/lib64/python2.7/ctypes/util.pyR$scCsddlm}tjdkrC|jGH|jdGHtdGHntjdkrtdGHtdGHtdGHtjd kr|j d GH|j d GH|j d GH|j d GHq|j dGH|j dGHtdGHndS(Ni(tcdllRRR&RRtbz2R's libm.dylibslibcrypto.dylibslibSystem.dylibsSystem.framework/Systemslibm.sos libcrypt.sotcrypt( tctypesR~RR!RtloadR$Rtplatformt LoadLibrary(R~((s#/usr/lib64/python2.7/ctypes/util.pyttests"   t__main__(RR3RR!RRR$Rtctypes.macholib.dyldR(R)R/R1R:R,RNRiR\RqtFalseR}Rt__name__(((s#/usr/lib64/python2.7/ctypes/util.pyts<        $     ) $   PK!NN __init__.pycnu[ {fc@sQ dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee nejdukrddlmZneZejdkrBejdkrBeejdjdddkrBeZqBnddlmZmZm Z!m"Z#ddZ%ddZ&iZ'dZ(ejdvkrddlm)Z*ddlm+Z,ejd kreZ,niZ-dZ.e.jr*e(jj/dde._q*n"ejdkr*ddlm0Z*nddlm1Z1m2Z2m3Z3m4Z4m5Z5dd lm6Z6m7Z7dd!lm8Z8dd"Z9d#e8fd$YZ:e9e:d%d&e8fd'YZ;e9e;d(e8fd)YZ<e9e<d*e8fd+YZ=e9e=d,e8fd-YZ>e9e>ed.ed/krNe=Z?e>Z@n@d0e8fd1YZ?e9e?d2e8fd3YZ@e9e@d4e8fd5YZAe9eAd6e8fd7YZBe9eBd8e8fd9YZCe1eCe1eBkreBZCned/ed:kr,e=ZDe>ZEn@d;e8fd<YZDe9eDd=e8fd>YZEe9eEd?e8fd@YZFeFeF_GeF_He9eFdAe8fdBYZIeIeI_GeI_He9eIdCe8fdDYZJeJeJ_GeJ_He9eJdEe8fdFYZKe9eKd%dGe8fdHYZLeLZMe9eLdIe8fdJYZNddKlmOZOmPZPmQZQdLZRyddMlmSZSWneTk rneXejdwkreSdNdOn eSdPdQdRe8fdSYZUdTe8fdUYZVddVZWdWZXdXZYdYeZfdZYZ[d[e[fd\YZ\ejdxkrd]e[fd^YZ]dd_lm^Z^m8Z8d`e8fdaYZ_dbe[fdcYZ`nddeZfdeYZaeae[Zbeae\Zcejdykr e\dfdejdZen5ejdgkr2e\dhejfd Zen e\dZeejdzkreae]Zgeae`Zhejd kregjijjZjn egjkjjZjddilmlZlmmZmdddjZnne1e@e1eLkre@Zoe?ZpnNe1e>e1eLkre>Zoe=Zpn'e1eEe1eLkr,eEZoeDZpnddklmqZqmrZrmsZsmtZte(eLeLeLeoeqZue(eLeLe?eoerZvdlZwewe:eLe:e:etZxdmZyewe:eLe?esZzddnZ{yddolm|Z|WneTk rn%Xewe:eLe?e|Z}ddpZ~ejd{krE dqZdrZnddslmZmZeIZeFZxke;e?e=eDgD]WZe1edkr eZqz e1edtkr eZqz e1edkrz eZqz qz Wxke<e@e>eEgD]WZe1edkr eZq e1edtkr$ eZq e1edkr eZq q W[eRdS(|s,create and manipulate C data types in PythoniNs1.1.0(tUniont StructuretArray(t_Pointer(tCFuncPtr(t __version__(t RTLD_LOCALt RTLD_GLOBAL(t ArgumentError(tcalcsizesVersion number mismatchtnttce(t FormatErrortposixtdarwinit.ii(tFUNCFLAG_CDECLtFUNCFLAG_PYTHONAPItFUNCFLAG_USE_ERRNOtFUNCFLAG_USE_LASTERRORcCst|ttfrT|dkr4t|d}nt|}|}||_|St|ttfrt|}|}|St |dS(screate_string_buffer(aString) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aString, anInteger) -> character array iN( t isinstancetstrtunicodetNonetlentc_chartvaluetinttlongt TypeError(tinittsizetbuftypetbuf((s'/usr/lib64/python2.7/ctypes/__init__.pytcreate_string_buffer1s      cCs t||S(N(R"(RR((s'/usr/lib64/python2.7/ctypes/__init__.pytc_bufferCscst|jdtr%tOn|jdtrDtOn|rctd|jnytfSWnGtk rdt ffdY}|tf<|SXdS(sCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name t use_errnotuse_last_errors!unexpected keyword argument(s) %st CFunctionTypecseZZZZRS((t__name__t __module__t _argtypes_t _restype_t_flags_((targtypestflagstrestype(s'/usr/lib64/python2.7/ctypes/__init__.pyR&esN( t_FUNCFLAG_CDECLtpoptFalset_FUNCFLAG_USE_ERRNOt_FUNCFLAG_USE_LASTERRORt ValueErrortkeyst_c_functype_cachetKeyErrort _CFuncPtr(R.R,tkwR&((R,R-R.s'/usr/lib64/python2.7/ctypes/__init__.pyt CFUNCTYPEKs   "(t LoadLibrary(tFUNCFLAG_STDCALLcst|jdtr%tOn|jdtrDtOn|rctd|jnytfSWnGtk rdt ffdY}|tf<|SXdS(NR$R%s!unexpected keyword argument(s) %stWinFunctionTypecseZZZZRS((R'R(R)R*R+((R,R-R.(s'/usr/lib64/python2.7/ctypes/__init__.pyR=s( t_FUNCFLAG_STDCALLR0R1R2R3R4R5t_win_functype_cacheR7R8(R.R,R9R=((R,R-R.s'/usr/lib64/python2.7/ctypes/__init__.pyt WINFUNCTYPEts   "R:R@(tdlopen(tsizeoftbyreft addressoft alignmenttresize(t get_errnot set_errno(t _SimpleCDatacCsmddlm}|dkr(|j}nt|||}}||kritd|||fndS(Ni(R s"sizeof(%s) wrong: %d instead of %d(tstructR Rt_type_RBt SystemError(ttypttypecodeR tactualtrequired((s'/usr/lib64/python2.7/ctypes/__init__.pyt _check_sizes   t py_objectcBseZdZdZRS(tOcCs=ytt|jSWntk r8dt|jSXdS(Ns %s()(tsuperRRt__repr__R4ttypeR'(tself((s'/usr/lib64/python2.7/ctypes/__init__.pyRUs (R'R(RKRU(((s'/usr/lib64/python2.7/ctypes/__init__.pyRRstPtc_shortcBseZdZRS(th(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRYstc_ushortcBseZdZRS(tH(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR[stc_longcBseZdZRS(tl(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR]stc_ulongcBseZdZRS(tL(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR_stiR^tc_intcBseZdZRS(Ra(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRbstc_uintcBseZdZRS(tI(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRcstc_floatcBseZdZRS(tf(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRestc_doublecBseZdZRS(td(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRgst c_longdoublecBseZdZRS(tg(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRistqt c_longlongcBseZdZRS(Rk(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRlst c_ulonglongcBseZdZRS(tQ(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRmstc_ubytecBseZdZRS(tB(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRostc_bytecBseZdZRS(tb(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRqsRcBseZdZRS(tc(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyRstc_char_pcBs2eZdZejdkr'dZn dZRS(tzR cCsLtjj|ds,d|jj|jfSd|jjt|tjfS(Nis%s(%r)s%s(%s)(twindlltkernel32tIsBadStringPtrAt __class__R'Rtcasttc_void_p(RW((s'/usr/lib64/python2.7/ctypes/__init__.pyRUscCs d|jjt|tjfS(Ns%s(%s)(RyR'RzR{R(RW((s'/usr/lib64/python2.7/ctypes/__init__.pyRUs(R'R(RKt_ostnameRU(((s'/usr/lib64/python2.7/ctypes/__init__.pyRts R{cBseZdZRS(RX(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR{stc_boolcBseZdZRS(t?(R'R(RK(((s'/usr/lib64/python2.7/ctypes/__init__.pyR~s(tPOINTERtpointert_pointer_type_cachecCsbtjtjtjdkr0tjntjtt _t jtt _t td character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array iN( RRRRRRRRRR(RRR R!((s'/usr/lib64/python2.7/ctypes/__init__.pytcreate_unicode_buffer!s      cCsptj|ddk r'tdnt|tkrHtdn|j||t|stCDLLcBs\eZdZeZeZdZdZdZ e de e dZ dZdZdZRS(sAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. sics|_j|r%tOn|r8tOndtffdY}|_|dkrtj|_n |_dS(Nt_FuncPtrcseZZjZRS((R'R(R+t_func_restype_R*((R-RW(s'/usr/lib64/python2.7/ctypes/__init__.pyRcs( t_namet _func_flags_R2R3R8RRt_dlopent_handle(RWR}tmodethandleR$R%R((R-RWs'/usr/lib64/python2.7/ctypes/__init__.pyt__init__Ys      cCsDd|jj|j|jtjdd@t|tjdd@fS(Ns<%s '%s', handle %x at %x>ii(RyR'RRt_systmaxintR(RW((s'/usr/lib64/python2.7/ctypes/__init__.pyRUmscCsP|jdr-|jdr-t|n|j|}t||||S(Nt__(t startswithtendswithtAttributeErrort __getitem__tsetattr(RWR}tfunc((s'/usr/lib64/python2.7/ctypes/__init__.pyt __getattr__ss cCs:|j||f}t|ttfs6||_n|S(N(RRRRR'(RWtname_or_ordinalR((s'/usr/lib64/python2.7/ctypes/__init__.pyRzs N(R'R(t__doc__R/RRbRRRRRt DEFAULT_MODER1RRURR(((s'/usr/lib64/python2.7/ctypes/__init__.pyRDs    tPyDLLcBseZdZeeBZRS(sThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. (R'R(RR/t_FUNCFLAG_PYTHONAPIR(((s'/usr/lib64/python2.7/ctypes/__init__.pyRstWinDLLcBseZdZeZRS(snThis class represents a dll exporting functions using the Windows stdcall calling convention. (R'R(RR>R(((s'/usr/lib64/python2.7/ctypes/__init__.pyRs(t_check_HRESULTRItHRESULTcBseZdZeZRS(R^(R'R(RKRt_check_retval_(((s'/usr/lib64/python2.7/ctypes/__init__.pyRs tOleDLLcBseZdZeZeZRS(sThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as WindowsError exceptions. (R'R(RR>RRR(((s'/usr/lib64/python2.7/ctypes/__init__.pyRst LibraryLoadercBs,eZdZdZdZdZRS(cCs ||_dS(N(t_dlltype(RWtdlltype((s'/usr/lib64/python2.7/ctypes/__init__.pyRscCsB|ddkrt|n|j|}t||||S(Nit_(RRR(RWR}tdll((s'/usr/lib64/python2.7/ctypes/__init__.pyRs cCs t||S(N(tgetattr(RWR}((s'/usr/lib64/python2.7/ctypes/__init__.pyRscCs |j|S(N(R(RWR}((s'/usr/lib64/python2.7/ctypes/__init__.pyR;s(R'R(RRRR;(((s'/usr/lib64/python2.7/ctypes/__init__.pyRs   s python dlltcygwinslibpython%d.%d.dll(tget_last_errortset_last_errorcCsF|dkrt}n|dkr9t|j}nt||S(N(Rt GetLastErrorR tstript WindowsError(tcodetdescr((s'/usr/lib64/python2.7/ctypes/__init__.pytWinErrors    (t _memmove_addrt _memset_addrt_string_at_addrt _cast_addrcs#dtffdY}|S(NR&cseZZZeeBZRS((R'R(R)R*R/RR+((R,R.(s'/usr/lib64/python2.7/ctypes/__init__.pyR&s(R8(R.R,R&((R,R.s'/usr/lib64/python2.7/ctypes/__init__.pyt PYFUNCTYPEscCst|||S(N(t_cast(tobjRM((s'/usr/lib64/python2.7/ctypes/__init__.pyRzscCs t||S(sAstring_at(addr[, size]) -> string Return the string at addr.(t _string_at(tptrR((s'/usr/lib64/python2.7/ctypes/__init__.pyt string_ats(t_wstring_at_addrcCs t||S(sFwstring_at(addr[, size]) -> string Return the string at addr.(t _wstring_at(RR((s'/usr/lib64/python2.7/ctypes/__init__.pyt wstring_atscCsNy"tdttdg}Wntk r6dSX|j|||SdS(Nscomtypes.server.inprocservert*i(t __import__tglobalstlocalst ImportErrortDllGetClassObject(trclsidtriidtppvtccom((s'/usr/lib64/python2.7/ctypes/__init__.pyR s " cCsAy"tdttdg}Wntk r6dSX|jS(Nscomtypes.server.inprocserverRi(RRRRtDllCanUnloadNow(R((s'/usr/lib64/python2.7/ctypes/__init__.pyRs " (tBigEndianStructuretLittleEndianStructurei(R R (R R (R R (R R (R R (R R (R R (RtosR|tsysRRt_ctypesRRRRRR8t_ctypes_versionRRRRJR t _calcsizet ExceptionR}R RtplatformRtunametsplitRR/RRRR2RR3RR"R#R6R:R;RR<R>R?R@treplaceRARBRCRDRERFRGRHRIRQRRRYR[R]R_RbRcReRgRiRlRmRot __ctype_le__t __ctype_be__RqRRtR{tc_voidpR~RRRRRRRRRRRtobjectRRRRRRRtcdlltpydllt dllhandlet pythonapit version_infoRvtoledllRwRtcoredllRRRtc_size_tt c_ssize_tRRRRtmemmovetmemsetRRRzRRRRRRRtctypes._endianRRtc_int8tc_uint8tkindtc_int16tc_int32tc_int64tc_uint16tc_uint32tc_uint64(((s'/usr/lib64/python2.7/ctypes/__init__.pytsJ ) "   !   (                         <           "             PK!HCC wintypes.pyonu[ {fcZ@sddlTeZeZeZeZe Z e Z e ZeZeZeZddlmZdefdYZeZeZeZeZeZZeZZ e!Z"Z#Z$e!Z%Z&e'Z(Z)e*Z+Z,e-ee-e*kreZ.eZ/n'e-ee-e*kreZ.eZ/neZ0eZ1eZ2eZ3eZ4eZ5e*Z6e6Z7e6Z8e6Z9e6Z:e6Z;e6Z<e6Z=e6Z>e6Z?e6Z@e6ZAe6ZBe6ZCe6ZDe6ZEe6ZFe6ZGe6ZHe6ZIe6ZJe6ZKe6ZLe6ZMe6ZNe6ZOe6ZPe6ZQe6ZRe6ZSe6ZTe6ZUdeVfdYZWeWZXZYZZdeVfdYZ[e[Z\d eVfd YZ]d eVfd YZ^e^Z_Z`Zad eVfdYZbebZcZddZedeVfdYZfefZgdeVfdYZhehZidZjdeVfdYZkdeVfdYZlddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOddPd dQddRdSdTdUdVd dWdXdYdZd[d\dd]ddd^d_d d`dadbdcddddedfdgdhgZZmdiS(ji(t*(t _SimpleCDatat VARIANT_BOOLcBseZdZdZRS(tvcCsd|jj|jfS(Ns%s(%r)(t __class__t__name__tvalue(tself((s'/usr/lib64/python2.7/ctypes/wintypes.pyt__repr__s(Rt __module__t_type_R(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRstRECTcBs2eZdefdefdefdefgZRS(tleftttoptrighttbottom(RR tc_longt_fields_(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR `s   t _SMALL_RECTcBs2eZdefdefdefdefgZRS(tLefttToptRighttBottom(RR tc_shortR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRgs   t_COORDcBs eZdefdefgZRS(tXtY(RR RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRns tPOINTcBs eZdefdefgZRS(txty(RR RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRrs tSIZEcBs eZdefdefgZRS(tcxtcy(RR RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRws cCs||d>|d>S(Nii((tredtgreentblue((s'/usr/lib64/python2.7/ctypes/wintypes.pytRGB|stFILETIMEcBs eZdefdefgZRS(t dwLowDateTimetdwHighDateTime(RR tDWORDR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR%s tMSGcBsDeZdefdefdefdefdefdefgZRS(thWndtmessagetwParamtlParamttimetpt( RR tHWNDtc_uinttWPARAMtLPARAMR(RR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR)s      itWIN32_FIND_DATAAc BspeZdefdefdefdefdefdefdefdefdeefd ed fg ZRS( tdwFileAttributestftCreationTimetftLastAccessTimetftLastWriteTimet nFileSizeHight nFileSizeLowt dwReserved0t dwReserved1t cFileNametcAlternateFileNamei(RR R(R%tc_chartMAX_PATHR(((s'/usr/lib64/python2.7/ctypes/wintypes.pyR4s         tWIN32_FIND_DATAWc BspeZdefdefdefdefdefdefdefdefdeefd ed fg ZRS( R5R6R7R8R9R:R;R<R=R>i(RR R(R%tc_wcharR@R(((s'/usr/lib64/python2.7/ctypes/wintypes.pyRAs         tATOMtBOOLtBOOLEANtBYTEtCOLORREFtDOUBLER(tFLOATtHACCELtHANDLEtHBITMAPtHBRUSHt HCOLORSPACEtHDCtHDESKtHDWPt HENHMETAFILEtHFONTtHGDIOBJtHGLOBALtHHOOKtHICONt HINSTANCEtHKEYtHKLtHLOCALtHMENUt HMETAFILEtHMODULEtHMONITORtHPALETTEtHPENtHRGNtHRSRCtHSTRtHTASKtHWINSTAR0tINTtLANGIDt LARGE_INTEGERtLCIDtLCTYPEtLGRPIDtLONGR3t LPCOLESTRtLPCSTRtLPCVOIDtLPCWSTRtLPOLESTRtLPSTRtLPVOIDtLPWSTRR@tOLESTRtPOINTLtRECTLR$t SC_HANDLEtSERVICE_STATUS_HANDLEtSHORTtSIZELt SMALL_RECTtUINTtULARGE_INTEGERtULONGtUSHORTtWCHARtWORDR2t _FILETIMEt_LARGE_INTEGERt_POINTLt_RECTLt_ULARGE_INTEGERttagMSGttagPOINTttagRECTttagSIZEN(ntctypestc_byteRFtc_ushortRtc_ulongR(RBRR1R~tc_intRgtc_doubleRHtc_floatRIRERRDRRRRmRRR{t c_longlongRRit c_ulonglongRRt c_wchar_pRnRrRvRqRutc_char_pRoRstc_void_pRpRttsizeofR2R3RCRhRGRlRkRjRKRJRLRMRNRORPRQRRRSRTRURVRWRXRYRZR[R\R]R^R_R`RaRbRcRdReRfR0RyRzt StructureR RRRxRR}RRRRRwRRR|R$R%RR)RR@R4RAt__all__(((s'/usr/lib64/python2.7/ctypes/wintypes.pyts             PK!btoo&__pycache__/_aix.cpython-312.opt-2.pycnu[ ֦i0 dZddlZddlmZmZddlmZddlmZm Z ddl m Z m Z m Z e edzZddlmZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZy)z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizec:fd}tt||S)Nc|j}g} |r,|jdt|j|r,|xst gS#t$rYwxYw)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps $/usr/lib64/python3.12/ctypes/_aix.py _num_versionz#_last_version.._num_version>s_ c"  As599;/0 y    s-A AA)key)maxreversed)libnamesrrs ` r _last_versionr=s ! x!| 44cd}|jD]-}|jdr|}d|vs|jdcSy)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr*JsDI ??- .I _##D) )  rcg}|jD],}tjd|r|j|+|S|S)Nz[0-9])r$rematchappend)r'infor)s rget_ld_header_infor0TsB D 88GT " KK   K  Krc g}tddtd|gdtt}t |x}r*|j |t |ft |x}r*|jj|j|S)Nz /usr/bin/dumpz-Xz-HT)universal_newlinesr$stderr) rAIX_ABIr r r*r.r0r$closewait)file ldr_headersr'r(s rget_ld_headersr9asK "WId;W >A%Q' ') 'I'9!'<=>%Q' ') 'HHNNFFH rcp g}|D]-\}}d|vs |j||jdd/|S)N[)r.index) ld_headerssharedr)_s r get_sharedrAusG F q $; MM$tzz#r2 3  Mrc ddttdfd|D}t|dk(r|djdSy)Nz\[(z)\]c3JK|]}tj|yw)N)r,search).0r)exprs r z get_one_match..s I544!65s #r)listfilterlengroup)rFlinesmatchess` r get_one_matchrOsS $s D6$ I5 IJKG 7|qqz""rc tdk(rd}t||}|r|SydD]'}ttj||}|s%|cSy)N@z shr4?_?64\.o)zshr.ozshr4.o)r4rOr,escape)membersrFmembernames r get_legacyrVs[ "}tW- M  (D"299T?G tjd}|tjd}|g}n|jd}tt}|D]E\}}|D];}|jd}d|vs|j |jd=G|S)NLD_LIBRARY_PATHLIBPATH:rHr!)rgetrr9rextend)libpathsobjectsr@rMr)rs r get_libpathsrhs{{,-H;;y)>>#&Z(G ED::<?Dd{  30  Orc |D]v}|dk(r d|d}tj||}tj|s;tt |}t t j||}|||fcSyy)N/librXz.a)NN)rjoinexistsrAr9r_r,rR)pathsrUdirbasearchiverSrTs r find_sharedrqs &= TF"~))C& ;;w  !89G $9F!f~%# rc t}t||\}}||d|dSd|d}|D]7}|dk(r tj||}tj|s5|cSy)N()rXz.sorj)rhrqrrkrl)rUrfrorTsonamernshlibs r find_libraryrws ~H 40NT6 q""4&_F &=  #v& ;;u M  r) __author__r,osrrsysrctypesrr subprocessrr r r4r rr*r0r9rArOrVr]r_rhrqrwrrr~sw-\5 #++  Q  5 ( .$L#842(rPK!G )__pycache__/_endian.cpython-312.opt-2.pycnu[ ֦i VddlZddleeZdZGddZGddeeeZGdd eee Z ejd k(r!d Z eZ Gd d eeZe ZGdde e Zyejdk(r!dZ eZGddeeZ e ZGdde e Zyed)N)*c t|trt|tSt|tr"t |j |jzSt|ttfr|Std|z)Nz+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclass StructureUnion TypeError)typs '/usr/lib64/python3.12/ctypes/_endian.pyr r sg sM"sM**#{#SZZ(3<<77# 5)* ACG HHceZdZfdZxZS) _swapped_metac|dk(r9g}|D]0}|d}|d}|dd}|j|t|f|z2|}t| ||y)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rrz_swapped_meta.__setattr__sh z !FAw1gABx t]3%784?@  E He,r)__name__ __module__ __qualname__r __classcell__)r$s@rrrs  - -rrc eZdZy)_swapped_struct_metaNr%r&r'rrr*r*"rr*c eZdZy)_swapped_union_metaNr+r,rrr/r/#r-rr/little __ctype_be__ceZdZ dZdZy)BigEndianStructurer,Nr%r&r' __slots___swappedbytes_r,rrr3r30s2 rr3) metaclassceZdZ dZdZy)BigEndianUnionr,Nr4r,rrr9r97s. rr9big __ctype_le__ceZdZ dZdZy)LittleEndianStructurer,Nr4r,rrr=r=As5 rr=ceZdZ dZdZy)LittleEndianUnionr,Nr4r,rrr?r?Hs1 rr?zInvalid byteorder)sysctypestypeArrayr r rrr*rr/ byteorderrr=r3r?r9 RuntimeErrorr,rrrFs 5k I" - -A=$y/@;-e;==H"M%Y2F *=  ]]e"M" 5I NE-@ * ++rPK!Ņ1!1!*__pycache__/wintypes.cpython-312.opt-1.pycnu[ ֦i ddlZejZejZej ZejZejZ ejZ ejZejZej"ZeZej(ZGddej,Zej Zej(ZejZej6Zej:xZZej@xZ!Z"ejFxZ$xZ%Z&ejFxZ'Z(ejRxZ*Z+ejXxZ-Z.ej^ej(ej^ejXk(rej Z0ej(Z1nQej^ej:ej^ejXk(rej@Z0ej:Z1eZ2eZ3eZ4eZ5eZ6eZ7ejXZ8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGddejZYeYxZZxZ[Z\GddejZ]e]Z^Gdd ejZ_Gd d ejZ`e`xZaxZbZcGd d ejZdedxZeZfdZgGddejZhehZiGddejZjejZkdZlGddejZmGddejZnejexZpZqejeZrejexZsZtejeZueje4ZvejexZwZxejehxZyZzejeZ{eje8xZ|Z}ejeGZ~ejeHZejexZZejeZeje7ZejexZZejejxZZeje`xZZejecZejeYxZZeje\xZZejeVZejeZejedxZZejefxZZeje^Zeje xZZeje"ZejeZejeZeje ZejemxZZejenxZZejexZZy)NceZdZdZdZy) VARIANT_BOOLvcN|jjd|jdS)N()) __class____name__value)selfs (/usr/lib64/python3.12/ctypes/wintypes.py__repr__zVARIANT_BOOL.__repr__s>>22DJJ??N)r __module__ __qualname___type_rrr rrs F@rrc(eZdZdefdefdefdefgZy)RECTlefttoprightbottomNr rrLONG_fields_rrr rras& $4 "Hrrc(eZdZdefdefdefdefgZy) _SMALL_RECTLeftTopRightBottomNr rrSHORTrrrr rrhs'% 5!#HrrceZdZdefdefgZy)_COORDXYNr#rrr r&r&ose e Hrr&ceZdZdefdefgZy)POINTxyNrrrr r*r*ssd d Hrr*ceZdZdefdefgZy)SIZEcxcyNrrrr r.r.xst t Hrr.c||dzz|dzzS)Nr)redgreenblues r RGBr7}s %1*  ,,rceZdZdefdefgZy)FILETIME dwLowDateTimedwHighDateTimeN)r rrDWORDrrrr r9r9s %(!5)+Hrr9c4eZdZdefdefdefdefdefdefgZ y)MSGhWndmessagewParamlParamtimeptN) r rrHWNDUINTWPARAMLPARAMr<r*rrrr r>r>s6D!6"6"u Hrr>ic XeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zy ) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)r rrr<r9CHARMAX_PATHrrrr rJrJsa#U+!8,#X."H- %('&&dXo.%tby1 3HrrJc XeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zy ) WIN32_FIND_DATAWrKrLrMrNrOrPrQrRrSrTrUN)r rrr<r9WCHARrWrrrr rYrYsb#U+!8,#X."H- %('&&eh./%urz2 4HrrY)ctypesc_ubyteBYTEc_ushortWORDc_ulongr<c_charrVc_wcharrZc_uintrFc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGrUSHORTc_shortr$ c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrGrHATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArE SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr SMALL_RECTr&r*tagPOINT_POINTLPOINTLr.tagSIZESIZELr7r9 _FILETIMEr>tagMSGrWrJrYPOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrr rs  ~~ }} }} ll   }}@6&&@  }} "(!2!22#)#5#55. & 0 00 0Hv###& ??"&6===6==#AA ^^F ]]FV]]6$$%v)GG   F   F                                 "6  "  &5#&""#  V  F  $##7V6  %-+v+  &     3v'' 3 4v'' 4 %% 6>>' "%%t V^^H % !6>>%((&'11 Y  #V^^F++7tsv~~c"" .t%%v~~c""!6>>%((& &.. %%!6>>%((&fnnY'  %%!6>>%((&fnnZ( %% &..0   &..   )78H)II&)78H)II&%%rPK![[$__pycache__/__init__.cpython-312.pycnu[ ֦i"Gd dZddlZddlZddlZdZddlm Z m Z m Z ddlm Z ddlm ZddlmZddlmZmZdd lmZdd lmZdd lmZeek7r ed eeej0d k(rddlmZeZej0dk(rGej6dk(r8eej:j<j?dddkreZddlm Z!m"Z#m$Z%m&Z'dpdZ(e(Z)iZ*dZ+ej0d k(r?ddlm,Z-ddlm.Z/iZ0dZ1e1jr7e+jjedde1_nej0dk(rddlm3Z-ddlm4Z4m5Z5m6Z6m7Z7m8Z8ddlm9Z9m:Z:ddlm;Z;dpdZ<Gd d!e;Z=eeGd%d&e;Z?ed?e;ZLeLxeL_JeL_KeeBe@eGfD],Ze4edak(reZe4ednk(reZe4edk(s+eZ.e?eCeAeHfD],Ze4edak(reZe4ednk(reZe4edk(s+eZ.[edk(reZnednk(reZn edoeeWy#e$rYwxYw)sz,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError) SIZEOF_TIME_TcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORc*t|tr@|t|dz}tjd||t |z}|}||_|St|tr)tjdd|t |z}|}|St|)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs (/usr/lib64/python3.12/ctypes/__init__.pycreate_string_bufferr*1s $ <t9Q;D 0$=4-i  D#  0$=4-i D/c6t|jddr tz|jddr tz|rt d|j z t fS#t$rYnwxYwGfddt}|t f<|S)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %sc eZdZWZWZWZy) CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_argtypesflagsrestypesr) CFunctionTyper1fs  r+r=) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r<r:kwr=r;s`` @r) CFUNCTYPErHIs E vvk5! $$ vv& (( .WinFunctionTypeNr2r9sr)WinFunctionTyperNs!JIGr+rO) _FUNCFLAG_STDCALLr?r@rArBrC_win_functype_cacherErF)r<r:rGrOr;s`` @r) WINFUNCTYPErRrs! 66+u % ( (E 66"E * , ,E @2779LM M &5'AB B     i ;JWh67rIrHrR)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatac~ddlm}| |j}t|||}}||k7rt d|||fzy)Nrr z"sizeof(%s) wrong: %d instead of %d)structr_type_rT SystemError)typtypecoderactualrequireds r) _check_sizerdsT ::c{HX$6HF >123 3r+c"eZdZdZfdZxZS) py_objectOcp t|S#t$rdt|jzcYSwxYw)Nz %s())super__repr__rBtyper3)self __class__s r)rjzpy_object.__repr__s: 67#% % 6$t*"5"55 5 6s !55)r3r4r5r^rj __classcell__)rms@r)rfrfs F66r+rfPceZdZdZy)c_shorthNr3r4r5r^r+r)rqrq Fr+rqceZdZdZy)c_ushortHNrsrtr+r)rwrwrur+rwceZdZdZy)c_longlNrsrtr+r)rzrzrur+rzceZdZdZy)c_ulongLNrsrtr+r)r}r}rur+r}ir{ceZdZdZy)c_intrNrsrtr+r)rrr+rceZdZdZy)c_uintINrsrtr+r)rrrr+rceZdZdZy)c_floatfNrsrtr+r)rrrur+rceZdZdZy)c_doubledNrsrtr+r)rrrur+rceZdZdZy) c_longdoublegNrsrtr+r)rrrur+rqceZdZdZy) c_longlongrNrsrtr+r)rrrr+rceZdZdZy) c_ulonglongQNrsrtr+r)rrrr+rceZdZdZy)c_ubyteBNrsrtr+r)rrrur+rceZdZdZy)c_bytebNrsrtr+r)rrrur+rceZdZdZy)r cNrsrtr+r)r r rur+r ceZdZdZdZy)c_char_pzct|jjdtj|jdSN()rmr3c_void_p from_bufferr!rls r)rjzc_char_p.__repr__(>>22H4H4H4N4T4TUUr+Nr3r4r5r^rjrtr+r)rr FVr+rceZdZdZy)rroNrsrtr+r)rrrur+rceZdZdZy)c_bool?Nrsrtr+r)rrrur+r)POINTERpointer_pointer_type_cacheceZdZdZdZy) c_wchar_pZct|jjdtj|jdSrrrs r)rjzc_wchar_p.__repr__rr+Nrrtr+r)rrrr+rceZdZdZy)c_wcharuNrsrtr+r)rrrur+rcDtjtjtjdk(rt jt jtt_tjtt_ttd<y)Nr) rclearrD_osnamerQr from_paramrrrr rrtr+r) _reset_cacher sb xx4!!#"+"6"6GG!)!4!4GFO (r+czt|trh|6ttdk(rt d|Ddz}nt |dz}t jd||t|z}|}||_|St|tr)t jdd|t|z}|}|St|)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nc3@K|]}t|dkDrdndyw)irrN)ord).0rs r) z(create_unicode_buffer..s E1A1Q6srzctypes.create_unicode_buffer) rstrrTrsumrrrr!r"r#r$s r)create_unicode_bufferrs $ <g!#EEEI4y1} 14>D.i  D#  14>D.i D/r+ctj|d tdt|tvr td|j||t|<tt|=y)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridset_type)rclss r)SetPointerTyper2sasD)5BCC '{--+,,GS&BwK(r+c ||zSNrt)r`rs r)ARRAYr<s 9r+cHeZdZdZeZeZdZdZ dZ e ddddfdZ dZ dZd Zy) CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcx |rtj|}|_j |r tz |r t z t jjdr< |r9|jdr(d|vr$|tjtjzz}tjdk(rL||}nGddl }|j}d|vsd|vr/|jj_||j z}G fdd t"}|_|t'j|_y|_y) Naixrz.a(rr/\c.eZdZWZWjZy)CDLL.__init__.._FuncPtrN)r3r4r5r8_func_restype_r7)r;rlsr)_FuncPtrrusG++Ir+r)rfspath_name _func_flags_r@rArplatform startswithendswith RTLD_MEMBERRTLD_NOWrr!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRrFr_dlopen_handle) rlrmodehandler-r.winmoderrr;s ` @r)__init__z CDLL.__init__Ws ::d#D !!  ( (E  , ,E == # #E *   c*u}#//CLL8: 88t ";;$;$$,!#!4!4TZZ!@DJB@@@D ,y ,! >"4::t4DL!DLr+cd|jj|j|jtj dzdzzt |tj dzdzzfzS)Nz<%s '%s', handle %x at %#x>rr)rmr3rrrmaxsizerrs r)rjz CDLL.__repr__sY,''a!!344DLLNQ./11 1r+c|jdr|jdr t||j|}t ||||S)N__)rrAttributeError __getitem__setattr)rlrfuncs r) __getattr__zCDLL.__getattr__sE ??4 T]]4%8 & &%dD! r+cZ|j||f}t|ts||_|Sr)rrr"r3)rlname_or_ordinalrs r)rzCDLL.__getitem__s+}}ot45/3/+DM r+)r3r4r5__doc__r>rrrrrr DEFAULT_MODErrjrrrtr+r)rrBsE #LN EGH".t %&"P1 r+rceZdZdZeezZy)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r3r4r5rr>_FUNCFLAG_PYTHONAPIrrtr+r)rrs#%88Lr+rceZdZdZeZy)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r3r4r5rrPrrtr+r)rrs ) r+r)_check_HRESULTr[ceZdZdZeZy)HRESULTr{N)r3r4r5r^r_check_retval_rtr+r)rrs(r+rceZdZdZeZeZy)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r3r4r5rrPrrrrtr+r)rrs )  r+rcHeZdZdZdZdZdZeejZ y) LibraryLoaderc||_yr_dlltype)rldlltypes r)rzLibraryLoader.__init__s  r+c|ddk(r t| |j|}t||||S#t$r t|wxYw)Nr_)rr OSErrorr)rlrdlls r)rzLibraryLoader.__getattr__sZ 7c> & & '--%C dC   ' & & 's 5A ct||Sr)getattrrlrs r)rzLibraryLoader.__getitem__stT""r+c$|j|Srrrs r)rJzLibraryLoader.LoadLibrarys}}T""r+N) r3r4r5rrrrJ classmethod_types GenericAlias__class_getitem__rtr+r)rrs) ##$F$7$78r+rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcl| t}|t|j}td|d|Sr) GetLastErrorrstripr )codedescrs r)WinErrorrs7 <>D =%++-EtUD$//r+) _memmove_addr _memset_addr_string_at_addr _cast_addrc.Gfddt}|S)Nc$eZdZWZWZeezZy)!PYFUNCTYPE..CFunctionTypeN)r3r4r5r6r7r>rr8)r:r<sr)r=r&s  !$77r+r=)rF)r<r:r=s`` r) PYFUNCTYPEr's8 8 r+ct|||Sr)_cast)objr`s r)castr+s c3 r+ct||S)zJstring_at(ptr[, size]) -> string Return the byte string at void *ptr.) _string_atptrr&s r) string_atr0 s c4  r+)_wstring_at_addrct||S)zYwstring_at(ptr[, size]) -> string Return the wide-character string at void *ptr.) _wstring_atr.s r) wstring_atr4s3%%r+c tdttdg}|j|||S#t$rYywxYw)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r)r;r;sK =rrrr@rrAr*c_bufferrDrHrJrrKrPrQrRreplacerSrTrUrVrWrXrYrZr[rdrfrqrwrzr}rrrrrrrr __ctype_le__ __ctype_be__rr rrc_voidprrrrrrrrrrobjectrrrrrrrcdllpydll dllhandle pythonapi version_infowindlloledllkernel32rrrrc_size_t c_ssize_tr r!r"r#memmovememsetr'r)r+r-r0r1r3r4r<r;rBctypes._endianrCrDrErFc_int8c_uint8kindc_int16c_int32c_int64c_uint16c_uint32c_uint64c_time_tr_rtr+r)rps82 ++)2+!!(/! -{O LL88t# 88w4==H4  9399;   $ $S )! ,-1" 77* "H88t.=*'//77 ]S XX)??(  36 6 Isl G| H\ Fl G S>Ys^# E F l G| H< ,6(++L S>Ys^#JK\ l  l.55w+ G\,22f) F\,22f) FV|V Hc|  H\:9V V l )<) N6N`9D988t))5 (, (!!9F9,Te88tlD$..9I ]]h*T->->r-BBCId I88t 6 "F 6 "F??//L60 &>VH%%HI G_x((HI KF8,,HIML <)Hh( ;M J 88Xuh 7 E > 9h 9=jI 4Z 8U 3O D ! &(9*Y%89IJK&88t=&E<   eVZ 0D d|qD'  dG  dG 1vw 4D d|qT(  tH  tH 5 AHaH BM3CD EE e  sV''V/.V/PK!_Ґ?? __pycache__/util.cpython-312.pycnu[ ֦i6ddlZddlZddlZddlZejdk(r dZdZdZnejdk(rejdk(r ddl m Z d Znejjd rdd l mZnuejdk(rfddlZddlZd Zd Zejdk(rdZndZejjdrdZdZn ejdk(rdZddZn dZdZdZdZedk(reyy)Nntc4d}tjj|}|dk(ry|t|z}tj|dj dd\}}t |dddz }|dk\r|dz }t |d d d z }|dk(rd }|dk\r||zSy) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions $/usr/lib64/python3.12/ctypes/util.py_get_build_versionr s KK  V $ 7 F O++ab/''Q/41Sb6{Q 2  A L1Qq6{T) 1 L 1 ,. .ct}|y|dkrd}n|dkr d|dzz}nyddl}d|jjvr|d z }|d zS) z%Return the name of the VC runtime dllNrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sd$& ? a<H ] GbL1H # y**== = OHrc|dvr tStjdjtjD]}tj j ||}tj j|r|cS|jjdrf|dz}tj j|s|cSy)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswith)name directoryfnames r find_libraryr67s : = F+11"**=IGGLLD1Eww~~e$ {{}%%f-FNEww~~e$ >rposixdarwin) dyld_findcjd|zd|z|d|g}|D]} t|cSy#t$rYwxYw)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r3possibles rr6r6HsV!D(%)-t46D !$''   s & 22aix)r6cd} t|d5}|jd|k(cdddS#1swYyxYw#t$rYywxYw)z,Return True if the given file is an ELF filesELFbrNF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrH`sE  h%||A*4&%%   s# :. :7:: AActjdtj|z}t j d}|st j d}|syt j} |dd|jd|zg}ttj}d|d<d|d < tj|tjtj| }|5|j$j'}ddd |j!tj(|}|sy|D]$} t+| stj,| cSy#t$r#Y |j!y#t"$rYywxYwwxYw#1swYxYw#t"$rYwxYw# |j!w#t"$rYwwxYwxYw) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler3dictr, subprocessPopenPIPESTDOUTOSErrorcloserDrRrCfindallrHfsdecode) r3expr c_compilertempargsrTproctraceresfiles r _findLib_gccrmis {{9BIIdOKL\\%( d+J**, $ 4$;GDrzz"CCMCK !''/9/9/@/@,/1  ((*  jju%D4=;;t$ $    $    %    $  s07F (5EF F:F F FF !E22 E>=E>FF F F  FF G"F32G3 F?<G>F??Gsunos5cr|sy tjdd|ftjtj}|5|j j }dddtjd}|sytj|jdS#t$rYywxYw#1swYUxYw)Nz/usr/ccs/bin/dumpz-LpvrRrSs\[.*\]\sSONAME\s+([^\s]+)r) r]r^r_DEVNULLrarRrCrVsearchr+rdgroup)fridatarks r _get_sonamervs !'') \S*/(libz\.\S+))/sbin/ldconfigz-rrpr)keyr)rVrWr+rUr]r^r_rqrRrCrarcrvrmsortrrd)r3enamererirurks rr6r6sIIdOE8=uED;;t$D .!''(@/9/9/A/AC ;;++-D**T4(C"<#566 HHH &;;s2w' 'T  s4C4+C((C14 DDctjjdsyttj}d|d<|rd}nd}d} t j |t jt j|}|5|jD]J}|j}|jds%tj|jd}L ddd|sy|jd D]H}tjj|d |z}tjj|sF|cSy#t$rYywxYw#1swYxxYw) N /usr/bin/crlerNrO)r-64)rrQsDefault Library Path (ELF):rA:zlib%s.so)r+r.existsr\r,r]r^r_rqrarRstrip startswithrdrr/) r3is64rTrhpathsrilinedirlibfiles r _findLib_crlers77>>/2rzz"CCM/)E !''/9/9/A/A,/1  KKD::77>>'*"N( !  s$ 5E1E2(E EEEcFtt||xs t|SN)rvrrm)r3rs rr6r6 s}T48NL,6,>,>-7-?-?-7__58#*F HLM))E188==?;C!{{399Q<8HH  HHH  s8&A E#/AE E#E#E E# E## E/.E/cxdtj|z}ddg}tjj d}|r)|j dD]}|j d|g|j dtjd|zgd} tj|tjtjd }|j\}}tj|tj|} | D]$} t| stj| cS |S#t$rY|SwxYw) NrJldz-tLD_LIBRARY_PATHrz-LrMz-l%sT)rRrSuniversal_newlines)rVrWr+r,rrextenddevnullr]r^r_ communicatercrdrH Exception) r3recmdlibpathrresultrout_rkrls r _findLib_ldr/s 1BIIdOCD,Cjjnn%67G s+AJJay), JJbjj&4-8 9F $$S,6OO8<>Qjjr{{3'78D#4= ;;t,,  M M sBD,(D,, D98D9cpt|xs*tt|xstt|Sr)rrvrmr)r3s rr6r6Js6'-U|D12U6A+dBS6T Urcddlm}tjdk(rCt |j t |j dt tdtjdk(rdt tdt tdt tdtjd k(rit |jd t |jd t |jd t |jd ytjjdrCddlm }tjdkrot d|dtjt d|jdt tdt |jdn@t d|dtjt d|jdt dtdt d|jtdt dtdt d|jtdyt |jdt |jdt tdyy)Nr)cdllrrr7r)r(bz2r8z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr>)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r3printrloadr6r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestrRs% ww$ dkk dii!" l8$% ww' l3  l3  l5!" <<8 # $""<0 1 $""#45 6 $""#45 6 $""#<= > \\ $ $U + #{{U":4QSQ_Q_;`:abc243C3CO3T2UVWl5)*d&&{34:4@RTVTbTb;c:def243C3CDV3W2XYZ J|G456 7 Jt// W0EFGH I K X 678 9 K 0 0h1G HIJ K $""9- . $""=1 2 ,w' (?r__main__)F)r+rXr]r r3rr&r6rctypes.macholib.dyldr9r;r ctypes._aixrVrZrHrmrvrrrrr__name__rrrs  77d?2* WWCLLH4<  \\U#)WW/%d ||x -" -, ||BC ) (*  !" H P  < 6 U&)P zFrPK!8Q{>{>&__pycache__/util.cpython-312.opt-2.pycnu[ ֦i6ddlZddlZddlZddlZejdk(r dZdZdZnejdk(rejdk(r ddl m Z d Znejjd rdd l mZnuejdk(rfddlZddlZd Zd Zejdk(rdZndZejjdrdZdZn ejdk(rdZddZn dZdZdZdZedk(reyy)Nntc6 d}tjj|}|dk(ry|t|z}tj|dj dd\}}t |dddz }|dk\r|dz }t |dd d z }|dk(rd }|dk\r||zSy) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions $/usr/lib64/python3.12/ctypes/util.py_get_build_versionr s  KK  V $ 7 F O++ab/''Q/41Sb6{Q 2  A L1Qq6{T) 1 L 1 ,. .c t}|y|dkrd}n|dkr d|dzz}nyddl}d|jjvr|dz }|d zS) Nrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sg3$& ? a<H ] GbL1H # y**== = OHrc|dvr tStjdjtjD]}tj j ||}tj j|r|cS|jjdrf|dz}tj j|s|cSy)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswith)name directoryfnames r find_libraryr67s : = F+11"**=IGGLLD1Eww~~e$ {{}%%f-FNEww~~e$ >rposixdarwin) dyld_findcjd|zd|z|d|g}|D]} t|cSy#t$rYwxYw)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r3possibles rr6r6HsV!D(%)-t46D !$''   s & 22aix)r6c d} t|d5}|jd|k(cdddS#1swYyxYw#t$rYywxYw)NsELFbrF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrH`sH6  h%||A*4&%%   s# ;/ ;8;; AActjdtj|z}t j d}|st j d}|syt j} |dd|jd|zg}ttj}d|d<d|d < tj|tjtj| }|5|j$j'}ddd |j!tj(|}|sy|D]$} t+| stj,| cSy#t$r#Y |j!y#t"$rYywxYwwxYw#1swYxYw#t"$rYwxYw# |j!w#t"$rYwwxYwxYw) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler3dictr, subprocessPopenPIPESTDOUTOSErrorcloserDrRrCfindallrHfsdecode) r3expr c_compilertempargsrTproctraceresfiles r _findLib_gccrmis {{9BIIdOKL\\%( d+J**, $ 4$;GDrzz"CCMCK !''/9/9/@/@,/1  ((*  jju%D4=;;t$ $    $    %    $  s07F (5EF F:F F FF !E22 E>=E>FF F F  FF G"F32G3 F?<G>F??Gsunos5cr|sy tjdd|ftjtj}|5|j j }dddtjd}|sytj|jdS#t$rYywxYw#1swYUxYw)Nz/usr/ccs/bin/dumpz-LpvrRrSs\[.*\]\sSONAME\s+([^\s]+)r) r]r^r_DEVNULLrarRrCrVsearchr+rdgroup)fridatarks r _get_sonamervs !'') \S*/(libz\.\S+))/sbin/ldconfigz-rrpr)keyr)rVrWr+rUr]r^r_rqrRrCrarcrvrmsortrrd)r3enamererirurks rr6r6sIIdOE8=uED;;t$D .!''(@/9/9/A/AC ;;++-D**T4(C"<#566 HHH &;;s2w' 'T  s4C4+C((C14 DDctjjdsyttj}d|d<|rd}nd}d} t j |t jt j|}|5|jD]J}|j}|jds%tj|jd}L ddd|sy|jd D]H}tjj|d |z}tjj|sF|cSy#t$rYywxYw#1swYxxYw) N /usr/bin/crlerNrO)r-64)rrQsDefault Library Path (ELF):rA:zlib%s.so)r+r.existsr\r,r]r^r_rqrarRstrip startswithrdrr/) r3is64rTrhpathsrilinedirlibfiles r _findLib_crlers77>>/2rzz"CCM/)E !''/9/9/A/A,/1  KKD::77>>'*"N( !  s$ 5E1E2(E EEEcFtt||xs t|SN)rvrrm)r3rs rr6r6 s}T48NL,6,>,>-7-?-?-7__58#*F HLM))E188==?;C!{{399Q<8HH  HHH  s8&A E#/AE E#E#E E# E## E/.E/cxdtj|z}ddg}tjj d}|r)|j dD]}|j d|g|j dtjd|zgd} tj|tjtjd }|j\}}tj|tj|} | D]$} t| stj| cS |S#t$rY|SwxYw) NrJldz-tLD_LIBRARY_PATHrz-LrMz-l%sT)rRrSuniversal_newlines)rVrWr+r,rrextenddevnullr]r^r_ communicatercrdrH Exception) r3recmdlibpathrresultrout_rkrls r _findLib_ldr/s 1BIIdOCD,Cjjnn%67G s+AJJay), JJbjj&4-8 9F $$S,6OO8<>Qjjr{{3'78D#4= ;;t,,  M M sBD,(D,, D98D9cpt|xs*tt|xstt|Sr)rrvrmr)r3s rr6r6Js6'-U|D12U6A+dBS6T Urcddlm}tjdk(rCt |j t |j dt tdtjdk(rdt tdt tdt tdtjd k(rit |jd t |jd t |jd t |jd ytjjdrCddlm }tjdkrot d|dtjt d|jdt tdt |jdn@t d|dtjt d|jdt dtdt d|jtdt dtdt d|jtdyt |jdt |jdt tdyy)Nr)cdllrrr7r)r(bz2r8z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr>)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r3printrloadr6r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestrRs% ww$ dkk dii!" l8$% ww' l3  l3  l5!" <<8 # $""<0 1 $""#45 6 $""#45 6 $""#<= > \\ $ $U + #{{U":4QSQ_Q_;`:abc243C3CO3T2UVWl5)*d&&{34:4@RTVTbTb;c:def243C3CDV3W2XYZ J|G456 7 Jt// W0EFGH I K X 678 9 K 0 0h1G HIJ K $""9- . $""=1 2 ,w' (?r__main__)F)r+rXr]r r3rr&r6rctypes.macholib.dyldr9r;r ctypes._aixrVrZrHrmrvrrrrr__name__rrrs  77d?2* WWCLLH4<  \\U#)WW/%d ||x -" -, ||BC ) (*  !" H P  < 6 U&)P zFrPK!k00 __pycache__/_aix.cpython-312.pycnu[ ֦i0dZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dzZdd lmZd Zd Zd Zd ZdZdZdZdZdZdZdZdZy)a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizec:fd}tt||S)Nc|j}g} |r,|jdt|j|r,|xst gS#t$rYwxYw)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps $/usr/lib64/python3.12/ctypes/_aix.py _num_versionz#_last_version.._num_version>s_ c"  As599;/0 y    s-A AA)key)maxreversed)libnamesrrs ` r _last_versionr=s ! x!| 44cd}|jD]-}|jdr|}d|vs|jdcSy)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr*JsDI ??- .I _##D) )  rcg}|jD],}tjd|r|j|+|S|S)Nz[0-9])r$rematchappend)r'infor)s rget_ld_header_infor0TsB D 88GT " KK   K  Krcg}tddtd|gdtt}t |x}r*|j |t |ft |x}r*|jj|j|S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)universal_newlinesr$stderr) rAIX_ABIr r r*r.r0r$closewait)file ldr_headersr'r(s rget_ld_headersr9asK "WId;W >A%Q' ') 'I'9!'<=>%Q' ') 'HHNNFFH rcng}|D]-\}}d|vs |j||jdd/|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r.index) ld_headerssharedr)_s r get_sharedrAusBF q $; MM$tzz#r2 3  Mrcddttdfd|D}t|dk(r|djdSy)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3JK|]}tj|yw)N)r,search).0r)exprs r z get_one_match..s I544!65s #r)listfilterlengroup)rFlinesmatchess` r get_one_matchrOsN $s D6$ I5 IJKG 7|qqz""rctdk(rd}t||}|r|SydD]'}ttj||}|s%|cSy)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r4rOr,escape)membersrFmembernames r get_legacyrVsV"}tW- M  (D"299T?G>#&Z(G ED::<?Dd{  30  Orc|D]v}|dk(r d|d}tj||}tj|s;tt |}t t j||}|||fcSyy)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librXz.a)NN)rjoinexistsrAr9r_r,rR)pathsrUdirbasearchiverSrTs r find_sharedrqs~ &= TF"~))C& ;;w  !89G $9F!f~%# rct}t||\}}||d|dSd|d}|D]7}|dk(r tj||}tj|s5|cSy)aAIX implementation of ctypes.util.find_library() Find an archive member that will dlopen(). If not available, also search for a file (or link) with a .so suffix. AIX supports two types of schemes that can be used with dlopen(). The so-called SystemV Release4 (svr4) format is commonly suffixed with .so while the (default) AIX scheme has the library (archive) ending with the suffix .a As an archive has multiple members (e.g., 32-bit and 64-bit) in one file the argument passed to dlopen must include both the library and the member names in a single string. find_library() looks first for an archive (.a) with a suitable member. If no archive+member pair is found, look for a .so file. N()rXz.sorj)rhrqrrkrl)rUrfrorTsonamernshlibs r find_libraryrws}"~H 40NT6 q""4&_F &=  #v& ;;u M  r)__doc__ __author__r,osrrsysrctypesrr subprocessrr r r4r rr*r0r9rArOrVr]r_rhrqrwrrrsw-\5 #++  Q  5 ( .$L#842(rPK!k00&__pycache__/_aix.cpython-312.opt-1.pycnu[ ֦i0dZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dzZdd lmZd Zd Zd Zd ZdZdZdZdZdZdZdZdZy)a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizec:fd}tt||S)Nc|j}g} |r,|jdt|j|r,|xst gS#t$rYwxYw)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps $/usr/lib64/python3.12/ctypes/_aix.py _num_versionz#_last_version.._num_version>s_ c"  As599;/0 y    s-A AA)key)maxreversed)libnamesrrs ` r _last_versionr=s ! x!| 44cd}|jD]-}|jdr|}d|vs|jdcSy)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr*JsDI ??- .I _##D) )  rcg}|jD],}tjd|r|j|+|S|S)Nz[0-9])r$rematchappend)r'infor)s rget_ld_header_infor0TsB D 88GT " KK   K  Krcg}tddtd|gdtt}t |x}r*|j |t |ft |x}r*|jj|j|S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)universal_newlinesr$stderr) rAIX_ABIr r r*r.r0r$closewait)file ldr_headersr'r(s rget_ld_headersr9asK "WId;W >A%Q' ') 'I'9!'<=>%Q' ') 'HHNNFFH rcng}|D]-\}}d|vs |j||jdd/|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r.index) ld_headerssharedr)_s r get_sharedrAusBF q $; MM$tzz#r2 3  Mrcddttdfd|D}t|dk(r|djdSy)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3JK|]}tj|yw)N)r,search).0r)exprs r z get_one_match..s I544!65s #r)listfilterlengroup)rFlinesmatchess` r get_one_matchrOsN $s D6$ I5 IJKG 7|qqz""rctdk(rd}t||}|r|SydD]'}ttj||}|s%|cSy)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r4rOr,escape)membersrFmembernames r get_legacyrVsV"}tW- M  (D"299T?G>#&Z(G ED::<?Dd{  30  Orc|D]v}|dk(r d|d}tj||}tj|s;tt |}t t j||}|||fcSyy)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librXz.a)NN)rjoinexistsrAr9r_r,rR)pathsrUdirbasearchiverSrTs r find_sharedrqs~ &= TF"~))C& ;;w  !89G $9F!f~%# rct}t||\}}||d|dSd|d}|D]7}|dk(r tj||}tj|s5|cSy)aAIX implementation of ctypes.util.find_library() Find an archive member that will dlopen(). If not available, also search for a file (or link) with a .so suffix. AIX supports two types of schemes that can be used with dlopen(). The so-called SystemV Release4 (svr4) format is commonly suffixed with .so while the (default) AIX scheme has the library (archive) ending with the suffix .a As an archive has multiple members (e.g., 32-bit and 64-bit) in one file the argument passed to dlopen must include both the library and the member names in a single string. find_library() looks first for an archive (.a) with a suitable member. If no archive+member pair is found, look for a .so file. N()rXz.sorj)rhrqrrkrl)rUrfrorTsonamernshlibs r find_libraryrws}"~H 40NT6 q""4&_F &=  #v& ;;u M  r)__doc__ __author__r,osrrsysrctypesrr subprocessrr r r4r rr*r0r9rArOrVr]r_rhrqrwrrrsw-\5 #++  Q  5 ( .$L#842(rPK!_Ґ??&__pycache__/util.cpython-312.opt-1.pycnu[ ֦i6ddlZddlZddlZddlZejdk(r dZdZdZnejdk(rejdk(r ddl m Z d Znejjd rdd l mZnuejdk(rfddlZddlZd Zd Zejdk(rdZndZejjdrdZdZn ejdk(rdZddZn dZdZdZdZedk(reyy)Nntc4d}tjj|}|dk(ry|t|z}tj|dj dd\}}t |dddz }|dk\r|dz }t |d d d z }|dk(rd }|dk\r||zSy) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions $/usr/lib64/python3.12/ctypes/util.py_get_build_versionr s KK  V $ 7 F O++ab/''Q/41Sb6{Q 2  A L1Qq6{T) 1 L 1 ,. .ct}|y|dkrd}n|dkr d|dzz}nyddl}d|jjvr|d z }|d zS) z%Return the name of the VC runtime dllNrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sd$& ? a<H ] GbL1H # y**== = OHrc|dvr tStjdjtjD]}tj j ||}tj j|r|cS|jjdrf|dz}tj j|s|cSy)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswith)name directoryfnames r find_libraryr67s : = F+11"**=IGGLLD1Eww~~e$ {{}%%f-FNEww~~e$ >rposixdarwin) dyld_findcjd|zd|z|d|g}|D]} t|cSy#t$rYwxYw)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r3possibles rr6r6HsV!D(%)-t46D !$''   s & 22aix)r6cd} t|d5}|jd|k(cdddS#1swYyxYw#t$rYywxYw)z,Return True if the given file is an ELF filesELFbrNF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrH`sE  h%||A*4&%%   s# :. :7:: AActjdtj|z}t j d}|st j d}|syt j} |dd|jd|zg}ttj}d|d<d|d < tj|tjtj| }|5|j$j'}ddd |j!tj(|}|sy|D]$} t+| stj,| cSy#t$r#Y |j!y#t"$rYywxYwwxYw#1swYxYw#t"$rYwxYw# |j!w#t"$rYwwxYwxYw) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler3dictr, subprocessPopenPIPESTDOUTOSErrorcloserDrRrCfindallrHfsdecode) r3expr c_compilertempargsrTproctraceresfiles r _findLib_gccrmis {{9BIIdOKL\\%( d+J**, $ 4$;GDrzz"CCMCK !''/9/9/@/@,/1  ((*  jju%D4=;;t$ $    $    %    $  s07F (5EF F:F F FF !E22 E>=E>FF F F  FF G"F32G3 F?<G>F??Gsunos5cr|sy tjdd|ftjtj}|5|j j }dddtjd}|sytj|jdS#t$rYywxYw#1swYUxYw)Nz/usr/ccs/bin/dumpz-LpvrRrSs\[.*\]\sSONAME\s+([^\s]+)r) r]r^r_DEVNULLrarRrCrVsearchr+rdgroup)fridatarks r _get_sonamervs !'') \S*/(libz\.\S+))/sbin/ldconfigz-rrpr)keyr)rVrWr+rUr]r^r_rqrRrCrarcrvrmsortrrd)r3enamererirurks rr6r6sIIdOE8=uED;;t$D .!''(@/9/9/A/AC ;;++-D**T4(C"<#566 HHH &;;s2w' 'T  s4C4+C((C14 DDctjjdsyttj}d|d<|rd}nd}d} t j |t jt j|}|5|jD]J}|j}|jds%tj|jd}L ddd|sy|jd D]H}tjj|d |z}tjj|sF|cSy#t$rYywxYw#1swYxxYw) N /usr/bin/crlerNrO)r-64)rrQsDefault Library Path (ELF):rA:zlib%s.so)r+r.existsr\r,r]r^r_rqrarRstrip startswithrdrr/) r3is64rTrhpathsrilinedirlibfiles r _findLib_crlers77>>/2rzz"CCM/)E !''/9/9/A/A,/1  KKD::77>>'*"N( !  s$ 5E1E2(E EEEcFtt||xs t|SN)rvrrm)r3rs rr6r6 s}T48NL,6,>,>-7-?-?-7__58#*F HLM))E188==?;C!{{399Q<8HH  HHH  s8&A E#/AE E#E#E E# E## E/.E/cxdtj|z}ddg}tjj d}|r)|j dD]}|j d|g|j dtjd|zgd} tj|tjtjd }|j\}}tj|tj|} | D]$} t| stj| cS |S#t$rY|SwxYw) NrJldz-tLD_LIBRARY_PATHrz-LrMz-l%sT)rRrSuniversal_newlines)rVrWr+r,rrextenddevnullr]r^r_ communicatercrdrH Exception) r3recmdlibpathrresultrout_rkrls r _findLib_ldr/s 1BIIdOCD,Cjjnn%67G s+AJJay), JJbjj&4-8 9F $$S,6OO8<>Qjjr{{3'78D#4= ;;t,,  M M sBD,(D,, D98D9cpt|xs*tt|xstt|Sr)rrvrmr)r3s rr6r6Js6'-U|D12U6A+dBS6T Urcddlm}tjdk(rCt |j t |j dt tdtjdk(rdt tdt tdt tdtjd k(rit |jd t |jd t |jd t |jd ytjjdrCddlm }tjdkrot d|dtjt d|jdt tdt |jdn@t d|dtjt d|jdt dtdt d|jtdt dtdt d|jtdyt |jdt |jdt tdyy)Nr)cdllrrr7r)r(bz2r8z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr>)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r3printrloadr6r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestrRs% ww$ dkk dii!" l8$% ww' l3  l3  l5!" <<8 # $""<0 1 $""#45 6 $""#45 6 $""#<= > \\ $ $U + #{{U":4QSQ_Q_;`:abc243C3CO3T2UVWl5)*d&&{34:4@RTVTbTb;c:def243C3CDV3W2XYZ J|G456 7 Jt// W0EFGH I K X 678 9 K 0 0h1G HIJ K $""9- . $""=1 2 ,w' (?r__main__)F)r+rXr]r r3rr&r6rctypes.macholib.dyldr9r;r ctypes._aixrVrZrHrmrvrrrrr__name__rrrs  77d?2* WWCLLH4<  \\U#)WW/%d ||x -" -, ||BC ) (*  !" H P  < 6 U&)P zFrPK![[*__pycache__/__init__.cpython-312.opt-1.pycnu[ ֦i"Gd dZddlZddlZddlZdZddlm Z m Z m Z ddlm Z ddlm ZddlmZddlmZmZdd lmZdd lmZdd lmZeek7r ed eeej0d k(rddlmZeZej0dk(rGej6dk(r8eej:j<j?dddkreZddlm Z!m"Z#m$Z%m&Z'dpdZ(e(Z)iZ*dZ+ej0d k(r?ddlm,Z-ddlm.Z/iZ0dZ1e1jr7e+jjedde1_nej0dk(rddlm3Z-ddlm4Z4m5Z5m6Z6m7Z7m8Z8ddlm9Z9m:Z:ddlm;Z;dpdZ<Gd d!e;Z=eeGd%d&e;Z?ed?e;ZLeLxeL_JeL_KeeBe@eGfD],Ze4edak(reZe4ednk(reZe4edk(s+eZ.e?eCeAeHfD],Ze4edak(reZe4ednk(reZe4edk(s+eZ.[edk(reZnednk(reZn edoeeWy#e$rYwxYw)sz,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError) SIZEOF_TIME_TcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORc*t|tr@|t|dz}tjd||t |z}|}||_|St|tr)tjdd|t |z}|}|St|)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs (/usr/lib64/python3.12/ctypes/__init__.pycreate_string_bufferr*1s $ <t9Q;D 0$=4-i  D#  0$=4-i D/c6t|jddr tz|jddr tz|rt d|j z t fS#t$rYnwxYwGfddt}|t f<|S)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %sc eZdZWZWZWZy) CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_argtypesflagsrestypesr) CFunctionTyper1fs  r+r=) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r<r:kwr=r;s`` @r) CFUNCTYPErHIs E vvk5! $$ vv& (( .WinFunctionTypeNr2r9sr)WinFunctionTyperNs!JIGr+rO) _FUNCFLAG_STDCALLr?r@rArBrC_win_functype_cacherErF)r<r:rGrOr;s`` @r) WINFUNCTYPErRrs! 66+u % ( (E 66"E * , ,E @2779LM M &5'AB B     i ;JWh67rIrHrR)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatac~ddlm}| |j}t|||}}||k7rt d|||fzy)Nrr z"sizeof(%s) wrong: %d instead of %d)structr_type_rT SystemError)typtypecoderactualrequireds r) _check_sizerdsT ::c{HX$6HF >123 3r+c"eZdZdZfdZxZS) py_objectOcp t|S#t$rdt|jzcYSwxYw)Nz %s())super__repr__rBtyper3)self __class__s r)rjzpy_object.__repr__s: 67#% % 6$t*"5"55 5 6s !55)r3r4r5r^rj __classcell__)rms@r)rfrfs F66r+rfPceZdZdZy)c_shorthNr3r4r5r^r+r)rqrq Fr+rqceZdZdZy)c_ushortHNrsrtr+r)rwrwrur+rwceZdZdZy)c_longlNrsrtr+r)rzrzrur+rzceZdZdZy)c_ulongLNrsrtr+r)r}r}rur+r}ir{ceZdZdZy)c_intrNrsrtr+r)rrr+rceZdZdZy)c_uintINrsrtr+r)rrrr+rceZdZdZy)c_floatfNrsrtr+r)rrrur+rceZdZdZy)c_doubledNrsrtr+r)rrrur+rceZdZdZy) c_longdoublegNrsrtr+r)rrrur+rqceZdZdZy) c_longlongrNrsrtr+r)rrrr+rceZdZdZy) c_ulonglongQNrsrtr+r)rrrr+rceZdZdZy)c_ubyteBNrsrtr+r)rrrur+rceZdZdZy)c_bytebNrsrtr+r)rrrur+rceZdZdZy)r cNrsrtr+r)r r rur+r ceZdZdZdZy)c_char_pzct|jjdtj|jdSN()rmr3c_void_p from_bufferr!rls r)rjzc_char_p.__repr__(>>22H4H4H4N4T4TUUr+Nr3r4r5r^rjrtr+r)rr FVr+rceZdZdZy)rroNrsrtr+r)rrrur+rceZdZdZy)c_bool?Nrsrtr+r)rrrur+r)POINTERpointer_pointer_type_cacheceZdZdZdZy) c_wchar_pZct|jjdtj|jdSrrrs r)rjzc_wchar_p.__repr__rr+Nrrtr+r)rrrr+rceZdZdZy)c_wcharuNrsrtr+r)rrrur+rcDtjtjtjdk(rt jt jtt_tjtt_ttd<y)Nr) rclearrD_osnamerQr from_paramrrrr rrtr+r) _reset_cacher sb xx4!!#"+"6"6GG!)!4!4GFO (r+czt|trh|6ttdk(rt d|Ddz}nt |dz}t jd||t|z}|}||_|St|tr)t jdd|t|z}|}|St|)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nc3@K|]}t|dkDrdndyw)irrN)ord).0rs r) z(create_unicode_buffer..s E1A1Q6srzctypes.create_unicode_buffer) rstrrTrsumrrrr!r"r#r$s r)create_unicode_bufferrs $ <g!#EEEI4y1} 14>D.i  D#  14>D.i D/r+ctj|d tdt|tvr td|j||t|<tt|=y)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridset_type)rclss r)SetPointerTyper2sasD)5BCC '{--+,,GS&BwK(r+c ||zSNrt)r`rs r)ARRAYr<s 9r+cHeZdZdZeZeZdZdZ dZ e ddddfdZ dZ dZd Zy) CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcx |rtj|}|_j |r tz |r t z t jjdr< |r9|jdr(d|vr$|tjtjzz}tjdk(rL||}nGddl }|j}d|vsd|vr/|jj_||j z}G fdd t"}|_|t'j|_y|_y) Naixrz.a(rr/\c.eZdZWZWjZy)CDLL.__init__.._FuncPtrN)r3r4r5r8_func_restype_r7)r;rlsr)_FuncPtrrusG++Ir+r)rfspath_name _func_flags_r@rArplatform startswithendswith RTLD_MEMBERRTLD_NOWrr!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRrFr_dlopen_handle) rlrmodehandler-r.winmoderrr;s ` @r)__init__z CDLL.__init__Ws ::d#D !!  ( (E  , ,E == # #E *   c*u}#//CLL8: 88t ";;$;$$,!#!4!4TZZ!@DJB@@@D ,y ,! >"4::t4DL!DLr+cd|jj|j|jtj dzdzzt |tj dzdzzfzS)Nz<%s '%s', handle %x at %#x>rr)rmr3rrrmaxsizerrs r)rjz CDLL.__repr__sY,''a!!344DLLNQ./11 1r+c|jdr|jdr t||j|}t ||||S)N__)rrAttributeError __getitem__setattr)rlrfuncs r) __getattr__zCDLL.__getattr__sE ??4 T]]4%8 & &%dD! r+cZ|j||f}t|ts||_|Sr)rrr"r3)rlname_or_ordinalrs r)rzCDLL.__getitem__s+}}ot45/3/+DM r+)r3r4r5__doc__r>rrrrrr DEFAULT_MODErrjrrrtr+r)rrBsE #LN EGH".t %&"P1 r+rceZdZdZeezZy)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r3r4r5rr>_FUNCFLAG_PYTHONAPIrrtr+r)rrs#%88Lr+rceZdZdZeZy)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r3r4r5rrPrrtr+r)rrs ) r+r)_check_HRESULTr[ceZdZdZeZy)HRESULTr{N)r3r4r5r^r_check_retval_rtr+r)rrs(r+rceZdZdZeZeZy)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r3r4r5rrPrrrrtr+r)rrs )  r+rcHeZdZdZdZdZdZeejZ y) LibraryLoaderc||_yr_dlltype)rldlltypes r)rzLibraryLoader.__init__s  r+c|ddk(r t| |j|}t||||S#t$r t|wxYw)Nr_)rr OSErrorr)rlrdlls r)rzLibraryLoader.__getattr__sZ 7c> & & '--%C dC   ' & & 's 5A ct||Sr)getattrrlrs r)rzLibraryLoader.__getitem__stT""r+c$|j|Srrrs r)rJzLibraryLoader.LoadLibrarys}}T""r+N) r3r4r5rrrrJ classmethod_types GenericAlias__class_getitem__rtr+r)rrs) ##$F$7$78r+rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcl| t}|t|j}td|d|Sr) GetLastErrorrstripr )codedescrs r)WinErrorrs7 <>D =%++-EtUD$//r+) _memmove_addr _memset_addr_string_at_addr _cast_addrc.Gfddt}|S)Nc$eZdZWZWZeezZy)!PYFUNCTYPE..CFunctionTypeN)r3r4r5r6r7r>rr8)r:r<sr)r=r&s  !$77r+r=)rF)r<r:r=s`` r) PYFUNCTYPEr's8 8 r+ct|||Sr)_cast)objr`s r)castr+s c3 r+ct||S)zJstring_at(ptr[, size]) -> string Return the byte string at void *ptr.) _string_atptrr&s r) string_atr0 s c4  r+)_wstring_at_addrct||S)zYwstring_at(ptr[, size]) -> string Return the wide-character string at void *ptr.) _wstring_atr.s r) wstring_atr4s3%%r+c tdttdg}|j|||S#t$rYywxYw)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r)r;r;sK =rrrr@rrAr*c_bufferrDrHrJrrKrPrQrRreplacerSrTrUrVrWrXrYrZr[rdrfrqrwrzr}rrrrrrrr __ctype_le__ __ctype_be__rr rrc_voidprrrrrrrrrrobjectrrrrrrrcdllpydll dllhandle pythonapi version_infowindlloledllkernel32rrrrc_size_t c_ssize_tr r!r"r#memmovememsetr'r)r+r-r0r1r3r4r<r;rBctypes._endianrCrDrErFc_int8c_uint8kindc_int16c_int32c_int64c_uint16c_uint32c_uint64c_time_tr_rtr+r)rps82 ++)2+!!(/! -{O LL88t# 88w4==H4  9399;   $ $S )! ,-1" 77* "H88t.=*'//77 ]S XX)??(  36 6 Isl G| H\ Fl G S>Ys^# E F l G| H< ,6(++L S>Ys^#JK\ l  l.55w+ G\,22f) F\,22f) FV|V Hc|  H\:9V V l )<) N6N`9D988t))5 (, (!!9F9,Te88tlD$..9I ]]h*T->->r-BBCId I88t 6 "F 6 "F??//L60 &>VH%%HI G_x((HI KF8,,HIML <)Hh( ;M J 88Xuh 7 E > 9h 9=jI 4Z 8U 3O D ! &(9*Y%89IJK&88t=&E<   eVZ 0D d|qD'  dG  dG 1vw 4D d|qT(  tH  tH 5 AHaH BM3CD EE e  sV''V/.V/PK!q/ / )__pycache__/_endian.cpython-312.opt-1.pycnu[ ֦i VddlZddleeZdZGddZGddeeeZGdd eee Z ejd k(r!d Z eZ Gd d eeZe ZGdde e Zyejdk(r!dZ eZGddeeZ e ZGdde e Zyed)N)*ct|trt|tSt|tr"t |j |jzSt|ttfr|Std|z)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclass StructureUnion TypeError)typs '/usr/lib64/python3.12/ctypes/_endian.pyr r sbsM"sM**#{#SZZ(3<<77# 5)* ACG HHceZdZfdZxZS) _swapped_metac|dk(r9g}|D]0}|d}|d}|dd}|j|t|f|z2|}t| ||y)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rrz_swapped_meta.__setattr__sh z !FAw1gABx t]3%784?@  E He,r)__name__ __module__ __qualname__r __classcell__)r$s@rrrs  - -rrc eZdZy)_swapped_struct_metaNr%r&r'rrr*r*"rr*c eZdZy)_swapped_union_metaNr+r,rrr/r/#r-rr/little __ctype_be__ceZdZdZdZdZy)BigEndianStructurez$Structure with big endian byte orderr,Nr%r&r'__doc__ __slots___swappedbytes_r,rrr3r30s2 rr3) metaclassceZdZdZdZdZy)BigEndianUnionz Union with big endian byte orderr,Nr4r,rrr:r:7s. rr:big __ctype_le__ceZdZdZdZdZy)LittleEndianStructurez'Structure with little endian byte orderr,Nr4r,rrr>r>As5 rr>ceZdZdZdZdZy)LittleEndianUnionz#Union with little endian byte orderr,Nr4r,rrr@r@Hs1 rr@zInvalid byteorder)sysctypestypeArrayr r rrr*rr/ byteorderrr>r3r@r: RuntimeErrorr,rrrGs 5k I" - -A=$y/@;-e;==H"M%Y2F *=  ]]e"M" 5I NE-@ * ++rPK!q/ / #__pycache__/_endian.cpython-312.pycnu[ ֦i VddlZddleeZdZGddZGddeeeZGdd eee Z ejd k(r!d Z eZ Gd d eeZe ZGdde e Zyejdk(r!dZ eZGddeeZ e ZGdde e Zyed)N)*ct|trt|tSt|tr"t |j |jzSt|ttfr|Std|z)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclass StructureUnion TypeError)typs '/usr/lib64/python3.12/ctypes/_endian.pyr r sbsM"sM**#{#SZZ(3<<77# 5)* ACG HHceZdZfdZxZS) _swapped_metac|dk(r9g}|D]0}|d}|d}|dd}|j|t|f|z2|}t| ||y)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rrz_swapped_meta.__setattr__sh z !FAw1gABx t]3%784?@  E He,r)__name__ __module__ __qualname__r __classcell__)r$s@rrrs  - -rrc eZdZy)_swapped_struct_metaNr%r&r'rrr*r*"rr*c eZdZy)_swapped_union_metaNr+r,rrr/r/#r-rr/little __ctype_be__ceZdZdZdZdZy)BigEndianStructurez$Structure with big endian byte orderr,Nr%r&r'__doc__ __slots___swappedbytes_r,rrr3r30s2 rr3) metaclassceZdZdZdZdZy)BigEndianUnionz Union with big endian byte orderr,Nr4r,rrr:r:7s. rr:big __ctype_le__ceZdZdZdZdZy)LittleEndianStructurez'Structure with little endian byte orderr,Nr4r,rrr>r>As5 rr>ceZdZdZdZdZy)LittleEndianUnionz#Union with little endian byte orderr,Nr4r,rrr@r@Hs1 rr@zInvalid byteorder)sysctypestypeArrayr r rrr*rr/ byteorderrr>r3r@r: RuntimeErrorr,rrrGs 5k I" - -A=$y/@;-e;==H"M%Y2F *=  ]]e"M" 5I NE-@ * ++rPK!Ņ1!1!$__pycache__/wintypes.cpython-312.pycnu[ ֦i ddlZejZejZej ZejZejZ ejZ ejZejZej"ZeZej(ZGddej,Zej Zej(ZejZej6Zej:xZZej@xZ!Z"ejFxZ$xZ%Z&ejFxZ'Z(ejRxZ*Z+ejXxZ-Z.ej^ej(ej^ejXk(rej Z0ej(Z1nQej^ej:ej^ejXk(rej@Z0ej:Z1eZ2eZ3eZ4eZ5eZ6eZ7ejXZ8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGddejZYeYxZZxZ[Z\GddejZ]e]Z^Gdd ejZ_Gd d ejZ`e`xZaxZbZcGd d ejZdedxZeZfdZgGddejZhehZiGddejZjejZkdZlGddejZmGddejZnejexZpZqejeZrejexZsZtejeZueje4ZvejexZwZxejehxZyZzejeZ{eje8xZ|Z}ejeGZ~ejeHZejexZZejeZeje7ZejexZZejejxZZeje`xZZejecZejeYxZZeje\xZZejeVZejeZejedxZZejefxZZeje^Zeje xZZeje"ZejeZejeZeje ZejemxZZejenxZZejexZZy)NceZdZdZdZy) VARIANT_BOOLvcN|jjd|jdS)N()) __class____name__value)selfs (/usr/lib64/python3.12/ctypes/wintypes.py__repr__zVARIANT_BOOL.__repr__s>>22DJJ??N)r __module__ __qualname___type_rrr rrs F@rrc(eZdZdefdefdefdefgZy)RECTlefttoprightbottomNr rrLONG_fields_rrr rras& $4 "Hrrc(eZdZdefdefdefdefgZy) _SMALL_RECTLeftTopRightBottomNr rrSHORTrrrr rrhs'% 5!#HrrceZdZdefdefgZy)_COORDXYNr#rrr r&r&ose e Hrr&ceZdZdefdefgZy)POINTxyNrrrr r*r*ssd d Hrr*ceZdZdefdefgZy)SIZEcxcyNrrrr r.r.xst t Hrr.c||dzz|dzzS)Nr)redgreenblues r RGBr7}s %1*  ,,rceZdZdefdefgZy)FILETIME dwLowDateTimedwHighDateTimeN)r rrDWORDrrrr r9r9s %(!5)+Hrr9c4eZdZdefdefdefdefdefdefgZ y)MSGhWndmessagewParamlParamtimeptN) r rrHWNDUINTWPARAMLPARAMr<r*rrrr r>r>s6D!6"6"u Hrr>ic XeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zy ) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)r rrr<r9CHARMAX_PATHrrrr rJrJsa#U+!8,#X."H- %('&&dXo.%tby1 3HrrJc XeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zy ) WIN32_FIND_DATAWrKrLrMrNrOrPrQrRrSrTrUN)r rrr<r9WCHARrWrrrr rYrYsb#U+!8,#X."H- %('&&eh./%urz2 4HrrY)ctypesc_ubyteBYTEc_ushortWORDc_ulongr<c_charrVc_wcharrZc_uintrFc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGrUSHORTc_shortr$ c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrGrHATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArE SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr SMALL_RECTr&r*tagPOINT_POINTLPOINTLr.tagSIZESIZELr7r9 _FILETIMEr>tagMSGrWrJrYPOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrr rs  ~~ }} }} ll   }}@6&&@  }} "(!2!22#)#5#55. & 0 00 0Hv###& ??"&6===6==#AA ^^F ]]FV]]6$$%v)GG   F   F                                 "6  "  &5#&""#  V  F  $##7V6  %-+v+  &     3v'' 3 4v'' 4 %% 6>>' "%%t V^^H % !6>>%((&'11 Y  #V^^F++7tsv~~c"" .t%%v~~c""!6>>%((& &.. %%!6>>%((&fnnY'  %%!6>>%((&fnnZ( %% &..0   &..   )78H)II&)78H)II&%%rPK!.-SS*__pycache__/__init__.cpython-312.opt-2.pycnu[ ֦i"Gb ddlZddlZddlZdZddlmZm Z m Z ddlm Z ddlm Z ddlmZddlmZmZddlmZdd lmZdd lmZeek7r ed eeej.d k(rdd lmZeZej.dk(rGej4dk(r8eej8j:j=dddkreZddlmZ m!Z"m#Z$m%Z&dodZ'e'Z(iZ)dZ*ej.d k(r?ddlm+Z,ddlm-Z.iZ/dZ0e0jbr7e*jbjedde0_1nej.dk(rddlm3Z,ddlm4Z4m5Z5m6Z6m7Z7m8Z8ddlm9Z9m:Z:ddlm;Z;dodZ<Gdd e;Z=eeGd$d%e;Z?ee;ZLeLxeL_JeL_KeeBe@eGfD],Ze4ed`k(reZe4edmk(reZe4edk(s+eZ.e?eCeAeHfD],Ze4ed`k(reZe4edmk(reZe4edk(s+eZ.[edk(reZnedmk(reZn edneeWy#e$rYwxYw)rNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError) SIZEOF_TIME_TcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORc, t|tr@|t|dz}tjd||t |z}|}||_|St|tr)tjdd|t |z}|}|St|)Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs (/usr/lib64/python3.12/ctypes/__init__.pycreate_string_bufferr*1s$ <t9Q;D 0$=4-i  D#  0$=4-i D/c8 t|jddr tz|jddr tz|rt d|j z t fS#t$rYnwxYwGfddt}|t f<|S)N use_errnoFuse_last_error!unexpected keyword argument(s) %sc eZdZWZWZWZy) CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_argtypesflagsrestypesr) CFunctionTyper1fs  r+r=) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r<r:kwr=r;s`` @r) CFUNCTYPErHIs E vvk5! $$ vv& (( .WinFunctionTypeNr2r9sr)WinFunctionTyperMs!JIGr+rN) _FUNCFLAG_STDCALLr?r@rArBrC_win_functype_cacherErF)r<r:rGrNr;s`` @r) WINFUNCTYPErQrs! 66+u % ( (E 66"E * , ,E @2779LM M &5'AB B     i ;JWh67s A++ A76A7rHrQ)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatac~ddlm}| |j}t|||}}||k7rt d|||fzy)Nrr z"sizeof(%s) wrong: %d instead of %d)structr_type_rS SystemError)typtypecoderactualrequireds r) _check_sizercsT ::c{HX$6HF >123 3r+c"eZdZdZfdZxZS) py_objectOcp t|S#t$rdt|jzcYSwxYw)Nz %s())super__repr__rBtyper3)self __class__s r)rizpy_object.__repr__s: 67#% % 6$t*"5"55 5 6s !55)r3r4r5r]ri __classcell__)rls@r)reres F66r+rePceZdZdZy)c_shorthNr3r4r5r]r+r)rprp Fr+rpceZdZdZy)c_ushortHNrrrsr+r)rvrvrtr+rvceZdZdZy)c_longlNrrrsr+r)ryryrtr+ryceZdZdZy)c_ulongLNrrrsr+r)r|r|rtr+r|irzceZdZdZy)c_intr~Nrrrsr+r)rrr+rceZdZdZy)c_uintINrrrsr+r)rrrr+rceZdZdZy)c_floatfNrrrsr+r)rrrtr+rceZdZdZy)c_doubledNrrrsr+r)rrrtr+rceZdZdZy) c_longdoublegNrrrsr+r)rrrtr+rqceZdZdZy) c_longlongrNrrrsr+r)rrrr+rceZdZdZy) c_ulonglongQNrrrsr+r)rrrr+rceZdZdZy)c_ubyteBNrrrsr+r)rrrtr+rceZdZdZy)c_bytebNrrrsr+r)rrrtr+rceZdZdZy)r cNrrrsr+r)r r rtr+r ceZdZdZdZy)c_char_pzct|jjdtj|jdSN()rlr3c_void_p from_bufferr!rks r)rizc_char_p.__repr__(>>22H4H4H4N4T4TUUr+Nr3r4r5r]rirsr+r)rr FVr+rceZdZdZy)rrnNrrrsr+r)rrrtr+rceZdZdZy)c_bool?Nrrrsr+r)rrrtr+r)POINTERpointer_pointer_type_cacheceZdZdZdZy) c_wchar_pZct|jjdtj|jdSrrrs r)rizc_wchar_p.__repr__rr+Nrrsr+r)rrrr+rceZdZdZy)c_wcharuNrrrsr+r)rrrtr+rcDtjtjtjdk(rt jt jtt_tjtt_ttd<y)Nr) rclearrD_osnamerPr from_paramrrrr rrsr+r) _reset_cacher sb xx4!!#"+"6"6GG!)!4!4GFO (r+c| t|trh|6ttdk(rt d|Ddz}nt |dz}t jd||t|z}|}||_|St|tr)t jdd|t|z}|}|St|)Nc3@K|]}t|dkDrdndyw)irrN)ord).0rs r) z(create_unicode_buffer..s E1A1Q6srzctypes.create_unicode_buffer) rstrrSrsumrrrr!r"r#r$s r)create_unicode_bufferrs$ <g!#EEEI4y1} 14>D.i  D#  14>D.i D/r+ctj|d tdt|tvr td|j||t|<tt|=y)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridset_type)rclss r)SetPointerTyper2sasD)5BCC '{--+,,GS&BwK(r+c ||zSNrs)r_rs r)ARRAYr<s 9r+cFeZdZ eZeZdZdZdZ e ddddfdZ dZ dZ dZy) CDLLzrNFcx |rtj|}|_j |r tz |r t z t jjdr< |r9|jdr(d|vr$|tjtjzz}tjdk(rL||}nGddl }|j}d|vsd|vr/|jj_||j z}G fdd t"}|_|t'j|_y|_y) Naixrz.a(rr/\c.eZdZWZWjZy)CDLL.__init__.._FuncPtrN)r3r4r5r8_func_restype_r7)r;rksr)_FuncPtrrusG++Ir+r)rfspath_name _func_flags_r@rArplatform startswithendswith RTLD_MEMBERRTLD_NOWrr!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRrFr_dlopen_handle) rkrmodehandler-r.winmoderrr;s ` @r)__init__z CDLL.__init__Ws ::d#D !!  ( (E  , ,E == # #E *   c*u}#//CLL8: 88t ";;$;$$,!#!4!4TZZ!@DJB@@@D ,y ,! >"4::t4DL!DLr+cd|jj|j|jtj dzdzzt |tj dzdzzfzS)Nz<%s '%s', handle %x at %#x>rr)rlr3rrrmaxsizerrs r)riz CDLL.__repr__sY,''a!!344DLLNQ./11 1r+c|jdr|jdr t||j|}t ||||S)N__)rrAttributeError __getitem__setattr)rkrfuncs r) __getattr__zCDLL.__getattr__sE ??4 T]]4%8 & &%dD! r+cZ|j||f}t|ts||_|Sr)rrr"r3)rkname_or_ordinalrs r)rzCDLL.__getitem__s+}}ot45/3/+DM r+)r3r4r5r>rrrrrr DEFAULT_MODErrirrrsr+r)rrBsE #LN EGH".t %&"P1 r+rceZdZ eezZy)PyDLLN)r3r4r5r>_FUNCFLAG_PYTHONAPIrrsr+r)rrs#%88Lr+rceZdZ eZy)WinDLLN)r3r4r5rOrrsr+r)rrs ) r+r)_check_HRESULTrZceZdZdZeZy)HRESULTrzN)r3r4r5r]r_check_retval_rsr+r)rrs(r+rceZdZ eZeZy)OleDLLN)r3r4r5rOrrrrsr+r)rrs )  r+rcHeZdZdZdZdZdZeejZ y) LibraryLoaderc||_yr_dlltype)rkdlltypes r)rzLibraryLoader.__init__s  r+c|ddk(r t| |j|}t||||S#t$r t|wxYw)Nr_)rrOSErrorr)rkrdlls r)rzLibraryLoader.__getattr__sZ 7c> & & '--%C dC   ' & & 's 5A ct||Sr)getattrrkrs r)rzLibraryLoader.__getitem__stT""r+c$|j|Srrrs r)rIzLibraryLoader.LoadLibrarys}}T""r+N) r3r4r5rrrrI classmethod_types GenericAlias__class_getitem__rsr+r)rrs) ##$F$7$78r+rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcl| t}|t|j}td|d|Sr) GetLastErrorrstripr )codedescrs r)WinErrorrs7 <>D =%++-EtUD$//r+) _memmove_addr _memset_addr_string_at_addr _cast_addrc.Gfddt}|S)Nc$eZdZWZWZeezZy)!PYFUNCTYPE..CFunctionTypeN)r3r4r5r6r7r>rr8)r:r<sr)r=r$s  !$77r+r=)rF)r<r:r=s`` r) PYFUNCTYPEr%s8 8 r+ct|||Sr)_cast)objr_s r)castr)s c3 r+c t||Sr) _string_atptrr&s r) string_atr. s, c4  r+)_wstring_at_addrc t||Sr) _wstring_atr,s r) wstring_atr2s :3%%r+c tdttdg}|j|||S#t$rYywxYw)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r)r9r9sK =s r)r@r@%sE rrrr@rrAr*c_bufferrDrHrIrrJrOrPrQ__doc__replacerRrSrTrUrVrWrXrYrZrcrerprvryr|rrrrrrrr __ctype_le__ __ctype_be__rr rrc_voidprrrrrrrrrrobjectrrrrrrrcdllpydll dllhandle pythonapi version_infowindlloledllkernel32rrrrc_size_t c_ssize_trrr r!memmovememsetr%r'r)r+r.r/r1r2r:r9r@ctypes._endianrArBrCrDc_int8c_uint8kindc_int16c_int32c_int64c_uint16c_uint32c_uint64c_time_tr^rsr+r)ros82 ++)2+!!(/! -{O LL88t# 88w4==H4  9399;   $ $S )! ,-1" 77* "H88t.=*'//77 ]S XX)??(  36 6 Isl G| H\ Fl G S>Ys^# E F l G| H< ,6(++L S>Ys^#JK\ l  l.55w+ G\,22f) F\,22f) FV|V Hc|  H\:9V V l )<) N6N`9D988t))5 (, (!!9F9,Te88tlD$..9I ]]h*T->->r-BBCId I88t 6 "F 6 "F??//L60 &>VH%%HI G_x((HI KF8,,HIML <)Hh( ;M J 88Xuh 7 E > 9h 9=jI 4Z 8U 3O D ! &(9*Y%89IJK&88t=&E<   eVZ 0D d|qD'  dG  dG 1vw 4D d|qT(  tH  tH 5 AHaH BM3CD EE e  sV&&V.-V.PK!Ņ1!1!*__pycache__/wintypes.cpython-312.opt-2.pycnu[ ֦i ddlZejZejZej ZejZejZ ejZ ejZejZej"ZeZej(ZGddej,Zej Zej(ZejZej6Zej:xZZej@xZ!Z"ejFxZ$xZ%Z&ejFxZ'Z(ejRxZ*Z+ejXxZ-Z.ej^ej(ej^ejXk(rej Z0ej(Z1nQej^ej:ej^ejXk(rej@Z0ej:Z1eZ2eZ3eZ4eZ5eZ6eZ7ejXZ8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGddejZYeYxZZxZ[Z\GddejZ]e]Z^Gdd ejZ_Gd d ejZ`e`xZaxZbZcGd d ejZdedxZeZfdZgGddejZhehZiGddejZjejZkdZlGddejZmGddejZnejexZpZqejeZrejexZsZtejeZueje4ZvejexZwZxejehxZyZzejeZ{eje8xZ|Z}ejeGZ~ejeHZejexZZejeZeje7ZejexZZejejxZZeje`xZZejecZejeYxZZeje\xZZejeVZejeZejedxZZejefxZZeje^Zeje xZZeje"ZejeZejeZeje ZejemxZZejenxZZejexZZy)NceZdZdZdZy) VARIANT_BOOLvcN|jjd|jdS)N()) __class____name__value)selfs (/usr/lib64/python3.12/ctypes/wintypes.py__repr__zVARIANT_BOOL.__repr__s>>22DJJ??N)r __module__ __qualname___type_rrr rrs F@rrc(eZdZdefdefdefdefgZy)RECTlefttoprightbottomNr rrLONG_fields_rrr rras& $4 "Hrrc(eZdZdefdefdefdefgZy) _SMALL_RECTLeftTopRightBottomNr rrSHORTrrrr rrhs'% 5!#HrrceZdZdefdefgZy)_COORDXYNr#rrr r&r&ose e Hrr&ceZdZdefdefgZy)POINTxyNrrrr r*r*ssd d Hrr*ceZdZdefdefgZy)SIZEcxcyNrrrr r.r.xst t Hrr.c||dzz|dzzS)Nr)redgreenblues r RGBr7}s %1*  ,,rceZdZdefdefgZy)FILETIME dwLowDateTimedwHighDateTimeN)r rrDWORDrrrr r9r9s %(!5)+Hrr9c4eZdZdefdefdefdefdefdefgZ y)MSGhWndmessagewParamlParamtimeptN) r rrHWNDUINTWPARAMLPARAMr<r*rrrr r>r>s6D!6"6"u Hrr>ic XeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zy ) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)r rrr<r9CHARMAX_PATHrrrr rJrJsa#U+!8,#X."H- %('&&dXo.%tby1 3HrrJc XeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zy ) WIN32_FIND_DATAWrKrLrMrNrOrPrQrRrSrTrUN)r rrr<r9WCHARrWrrrr rYrYsb#U+!8,#X."H- %('&&eh./%urz2 4HrrY)ctypesc_ubyteBYTEc_ushortWORDc_ulongr<c_charrVc_wcharrZc_uintrFc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGrUSHORTc_shortr$ c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrGrHATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArE SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr SMALL_RECTr&r*tagPOINT_POINTLPOINTLr.tagSIZESIZELr7r9 _FILETIMEr>tagMSGrWrJrYPOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrr rs  ~~ }} }} ll   }}@6&&@  }} "(!2!22#)#5#55. & 0 00 0Hv###& ??"&6===6==#AA ^^F ]]FV]]6$$%v)GG   F   F                                 "6  "  &5#&""#  V  F  $##7V6  %-+v+  &     3v'' 3 4v'' 4 %% 6>>' "%%t V^^H % !6>>%((&'11 Y  #V^^F++7tsv~~c"" .t%%v~~c""!6>>%((& &.. %%!6>>%((&fnnY'  %%!6>>%((&fnnZ( %% &..0   &..   )78H)II&)78H)II&%%rPK!(*macholib/__pycache__/dylib.cpython-312.pycnu[ ֦i@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!*.macholib/__pycache__/framework.cpython-312.pycnu[ ֦iQ@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!$ibb/macholib/__pycache__/dyld.cpython-312.opt-1.pycnu[ ֦i>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!$ibb)macholib/__pycache__/dyld.cpython-312.pycnu[ ֦i>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!/Yr0macholib/__pycache__/dylib.cpython-312.opt-2.pycnu[ ֦i> 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!pUD#4macholib/__pycache__/framework.cpython-312.opt-2.pycnu[ ֦iQ> 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!(0macholib/__pycache__/dylib.cpython-312.opt-1.pycnu[ ֦i@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!/I>>-macholib/__pycache__/__init__.cpython-312.pycnu[ ֦i 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!Ǎ%%/macholib/__pycache__/dyld.cpython-312.opt-2.pycnu[ ֦i< 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!/I>>3macholib/__pycache__/__init__.cpython-312.opt-1.pycnu[ ֦i 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!*4macholib/__pycache__/framework.cpython-312.opt-1.pycnu[ ֦iQ@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!3macholib/__pycache__/__init__.cpython-312.opt-2.pycnu[ ֦i dZy)z1.0N) __version__1/usr/lib64/python3.12/ctypes/macholib/__init__.pyrs rPK!u0macholib/__pycache__/dylib.cpython-313.opt-1.pycnu[ Ki@SrSSKrS/r\R"S5rSrg)z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) c\[RU5nU(dgUR5$)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_REmatch groupdict)filenameis_dylibs rs. . ::  r PK!w$/macholib/__pycache__/dyld.cpython-313.opt-1.pycnu[ KiVSrSSKrSSKJr SSKJr SSK7 SSKJr /SQr \RRS 5S S S /r \RRS 5SSS/rSrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrg!\ a SrNf=f)z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathc[eN)NotImplementedError)argss ;/opt/alt/python313/lib64/python3.13/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcvUc[RnURU5nUc/$URS5$)N:)osenvirongetsplit)envvarrvals r dyld_envr$s5 {jj 773For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsc3# UH;nURS5(aUS[S5*U-S-v OX!-v Uv M= g7f)Nz.dylib)endswithlen)iteratorsuffixpaths r _inject)dyld_image_suffix_search.._injectBsHD}}X&&?S]N+f4x??m#J sAA)r)r.rr/r1s r dyld_image_suffix_searchr3=s( s #F ~! 9r c#6# [U5nUb6[U5H'n[RR X2S5v M) [ U5HBn[RR U[RR U55v MD g7fNname)rr rr0joinr#basename)r6r frameworkr0s r dyld_override_searchr:Kss t$I',D'',,tv%67 7- "#&ggll4!1!1$!788'sBBc## URS5(a2Ub.[RRX[ S5S5v ggg7f)Nz@executable_path/) startswithrr0r7r-)r6executable_paths r dyld_executable_path_searchr>\sF *++0Kggll?5H1I1J,KLL1L+sA A c#d# Uv [U5nUb8[U5nUH'n[RR XBS5v M) [ U5nUHBn[RR U[RR U55v MD Ub8W(d1[H'n[RR XBS5v M) U(dM[HBn[RR U[RR U55v MD gg7fr5) rr&rr0r7r)r8DEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)r6rr9fallback_framework_pathr0fallback_library_paths r dyld_default_searchrDcs Jt$I">s"C+D'',,tv%67 7,7s;%ggll4!1!1$!788&%<.D'',,tv%67 7/ !,D'',,tRWW%5%5d%;< <- !sD.D0c 0[[[X5[X5[ X55U5H@n[ R RU5(aUs $[U5(aUs $MB [SU<S35e![a Maf=f)z2 Find a library or framework using dyld semantics zdylib z could not be found) r3chainr:r>rDrr0isfilerr ValueError)r6r=rr0s r r r ys)$T/+DB#D.*  77>>$  K /55 6 d< ==#   sB BBcdSn[XUS9$![a nUnSnAOSnAff=fURS5nUS:Xa[U5nUS- n[R R U[R RUSU55n[XUS9Sn$![a Uef=f!Snf=f)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 rHrfindr-rr0r7r8)fnr=rerrore fmwk_indexs r rrs E#FF ,'JRW  l b"''**2kz?; rDr rr r rYs 4,"8  GG-.! GGw  ( 0.97 9"M=,>(E"""sB B('B(PK!YY.macholib/__pycache__/framework.cpython-313.pycnu[ KiQ@SrSSKrS/r\R"S5rSrg)z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ c\[RU5nU(dgUR5$)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 @/opt/alt/python313/lib64/python3.13/ctypes/macholib/framework.pyrrs)(',,X6L   ! ! ##)__doc__re__all__compilerrr r rs0  jj"$r PK!&6LL-macholib/__pycache__/__init__.cpython-313.pycnu[ Ki SrSrg)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__?/opt/alt/python313/lib64/python3.13/ctypes/macholib/__init__.pyrs rPK!&6LL3macholib/__pycache__/__init__.cpython-313.opt-1.pycnu[ Ki SrSrg)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__?/opt/alt/python313/lib64/python3.13/ctypes/macholib/__init__.pyrs rPK!YY4macholib/__pycache__/framework.cpython-313.opt-1.pycnu[ KiQ@SrSSKrS/r\R"S5rSrg)z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ c\[RU5nU(dgUR5$)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 @/opt/alt/python313/lib64/python3.13/ctypes/macholib/framework.pyrrs)(',,X6L   ! ! ##)__doc__re__all__compilerrr r rs0  jj"$r PK!w$)macholib/__pycache__/dyld.cpython-313.pycnu[ KiVSrSSKrSSKJr SSKJr SSK7 SSKJr /SQr \RRS 5S S S /r \RRS 5SSS/rSrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrg!\ a SrNf=f)z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathc[eN)NotImplementedError)argss ;/opt/alt/python313/lib64/python3.13/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcvUc[RnURU5nUc/$URS5$)N:)osenvirongetsplit)envvarrvals r dyld_envr$s5 {jj 773For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsc3# UH;nURS5(aUS[S5*U-S-v OX!-v Uv M= g7f)Nz.dylib)endswithlen)iteratorsuffixpaths r _inject)dyld_image_suffix_search.._injectBsHD}}X&&?S]N+f4x??m#J sAA)r)r.rr/r1s r dyld_image_suffix_searchr3=s( s #F ~! 9r c#6# [U5nUb6[U5H'n[RR X2S5v M) [ U5HBn[RR U[RR U55v MD g7fNname)rr rr0joinr#basename)r6r frameworkr0s r dyld_override_searchr:Kss t$I',D'',,tv%67 7- "#&ggll4!1!1$!788'sBBc## URS5(a2Ub.[RRX[ S5S5v ggg7f)Nz@executable_path/) startswithrr0r7r-)r6executable_paths r dyld_executable_path_searchr>\sF *++0Kggll?5H1I1J,KLL1L+sA A c#d# Uv [U5nUb8[U5nUH'n[RR XBS5v M) [ U5nUHBn[RR U[RR U55v MD Ub8W(d1[H'n[RR XBS5v M) U(dM[HBn[RR U[RR U55v MD gg7fr5) rr&rr0r7r)r8DEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)r6rr9fallback_framework_pathr0fallback_library_paths r dyld_default_searchrDcs Jt$I">s"C+D'',,tv%67 7,7s;%ggll4!1!1$!788&%<.D'',,tv%67 7/ !,D'',,tRWW%5%5d%;< <- !sD.D0c 0[[[X5[X5[ X55U5H@n[ R RU5(aUs $[U5(aUs $MB [SU<S35e![a Maf=f)z2 Find a library or framework using dyld semantics zdylib z could not be found) r3chainr:r>rDrr0isfilerr ValueError)r6r=rr0s r r r ys)$T/+DB#D.*  77>>$  K /55 6 d< ==#   sB BBcdSn[XUS9$![a nUnSnAOSnAff=fURS5nUS:Xa[U5nUS- n[R R U[R RUSU55n[XUS9Sn$![a Uef=f!Snf=f)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 rHrfindr-rr0r7r8)fnr=rerrore fmwk_indexs r rrs E#FF ,'JRW  l b"''**2kz?; rDr rr r rYs 4,"8  GG-.! GGw  ( 0.97 9"M=,>(E"""sB B('B(PK!u*macholib/__pycache__/dylib.cpython-313.pycnu[ Ki@SrSSKrS/r\R"S5rSrg)z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) c\[RU5nU(dgUR5$)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_REmatch groupdict)filenameis_dylibs rs. . ::  r PK!ҝ[}}/macholib/__pycache__/dyld.cpython-313.opt-2.pycnu[ KiRSSKrSSKJr SSKJr SSK7 SSKJr /SQr \RRS5S S S /r \RRS 5S SS/r SrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrSSjrg!\a SrNf=f)N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathc[eN)NotImplementedError)argss ;/opt/alt/python313/lib64/python3.13/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcvUc[RnURU5nUc/$URS5$)N:)osenvirongetsplit)envvarrvals r dyld_envr$s5 {jj 773._injectBsHD}}X&&?S]N+f4x??m#J sAA)r)r.rr/r1s r dyld_image_suffix_searchr3=s( s #F ~! 9r c#6# [U5nUb6[U5H'n[RR X2S5v M) [ U5HBn[RR U[RR U55v MD g7fNname)rr rr0joinr#basename)r6r frameworkr0s r dyld_override_searchr:Kss t$I',D'',,tv%67 7- "#&ggll4!1!1$!788'sBBc## URS5(a2Ub.[RRX[ S5S5v ggg7f)Nz@executable_path/) startswithrr0r7r-)r6executable_paths r dyld_executable_path_searchr>\sF *++0Kggll?5H1I1J,KLL1L+sA A c#d# Uv [U5nUb8[U5nUH'n[RR XBS5v M) [ U5nUHBn[RR U[RR U55v MD Ub8W(d1[H'n[RR XBS5v M) U(dM[HBn[RR U[RR U55v MD gg7fr5) rr&rr0r7r)r8DEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)r6rr9fallback_framework_pathr0fallback_library_paths r dyld_default_searchrDcs Jt$I">s"C+D'',,tv%67 7,7s;%ggll4!1!1$!788&%<.D'',,tv%67 7/ !,D'',,tRWW%5%5d%;< <- !sD.D0c 0[[[X5[X5[ X55U5H@n[ R RU5(aUs $[U5(aUs $MB [SU<S35e![a Maf=f)Nzdylib z could not be found) r3chainr:r>rDrr0isfilerr ValueError)r6r=rr0s r r r ys)$T/+DB#D.*  77>>$  K /55 6 d< ==#   sB BBcdSn[XUS9$![a nUnSnAOSnAff=fURS5nUS:Xa[U5nUS- n[R R U[R RUSU55n[XUS9Sn$![a Uef=f!Snf=f)N)r=rz .framework)r rHrfindr-rr0r7r8)fnr=rerrore fmwk_indexs r rrs E#FF ,'JRW  l b"''**2kz?; rDr rr r rXs  4,"8  GG-.! GGw  ( 0.97 9"M=,>(E"""sB B&%B&PK!4macholib/__pycache__/framework.cpython-313.opt-2.pycnu[ KiQ<SSKrS/r\R"S5rSrg)Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ c\[RU5nU(dgUR5$)N)STRICT_FRAMEWORK_REmatch groupdict)filename is_frameworks @/opt/alt/python313/lib64/python3.13/ctypes/macholib/framework.pyrrs)(',,X6L   ! ! ##)re__all__compilerrr r rs+   jj"$r PK! L0macholib/__pycache__/dylib.cpython-313.opt-2.pycnu[ Ki<SSKrS/r\R"S5rSrg)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) c\[RU5nU(dgUR5$)N)DYLIB_REmatch groupdict)filenameis_dylibs rs)  . ::  r PK!hR3macholib/__pycache__/__init__.cpython-313.opt-2.pycnu[ KiSrg)z1.0N) __version__?/opt/alt/python313/lib64/python3.13/ctypes/macholib/__init__.pyrs  rPK!f""$__pycache__/wintypes.cpython-313.pycnu[ Ki SSKr\Rr\Rr\R r\Rr\Rr \Rr \Rr\Rr\R"r\r\R(r"SS\R,5r\R r\R(r\Rr\R6r\R:=rr\R@=r!r"\RF=r$=r%r&\RF=r'r(\RR=r*r+\RX=r-r.\R^"\R(5\R^"\RX5:Xa\R r0\R(r1OR\R^"\R:5\R^"\RX5:Xa\R@r0\R:r1\r2\r3\r4\r5\r6\r7\RXr8\8r9\8r:\8r;\8r<\8r=\8r>\8r?\8r@\8rA\8rB\8rC\8rD\8rE\8rF\8rG\8rH\8rI\8rJ\8rK\8rL\8rM\8rN\8rO\8rP\8rQ\8rR\8rS\8rT\8rU\8rV\8rW"SS\R5rY\Y=rZ=r[r\"SS\R5r]\]r^"SS \R5r_"S S \R5r`\`=ra=rbrc"S S \R5rd\d=rerfSrg"SS\R5rh\hri"SS\R5rj\jrkSrl"SS\R5rm"SS\R5rn\R"\5=rprq\R"\5rr\R"\5=rsrt\R"\5ru\R"\45rv\R"\5=rwrx\R"\h5=ryrz\R"\5r{\R"\85=r|r}\R"\G5r~\R"\H5r\R"\5=rr\R"\5r\R"\75r\R"\5=rr\R"\j5=rr\R"\`5=rr\R"\c5r\R"\Y5=rr\R"\\5=rr\R"\V5r\R"\5r\R"\d5=rr\R"\f5=rr\R"\^5r\R"\ 5=rr\R"\"5r\R"\5r\R"\5r\R"\ 5r\R"\m5=rr\R"\n5=rr\R"\5=rrg)Nc\rSrSrSrSrSrg) VARIANT_BOOLvcRURR<SUR<S3$)N()) __class____name__value)selfs 6/opt/alt/python313/lib64/python3.13/ctypes/wintypes.py__repr__VARIANT_BOOL.__repr__s>>22DJJ??N)r __module__ __qualname____firstlineno___type_r__static_attributes__rrrrrs F@rrc0\rSrSrS\4S\4S\4S\4/rSrg)RECTalefttoprightbottomrNr rrrLONG_fields_rrrrrras& $4 "Hrrc0\rSrSrS\4S\4S\4S\4/rSrg) _SMALL_RECThLeftTopRightBottomrNr rrrSHORTr!rrrrr#r#hs'% 5!#Hrr#c$\rSrSrS\4S\4/rSrg)_COORDoXYrNr)rrrr,r,ose e Hrr,c$\rSrSrS\4S\4/rSrg)POINTsxyrNrrrrr1r1ssd d Hrr1c$\rSrSrS\4S\4/rSrg)SIZExcxcyrNrrrrr6r6xst t Hrr6cXS--US--$)Nr)redgreenblues rRGBr@}s 1*  ,,rc$\rSrSrS\4S\4/rSrg)FILETIME dwLowDateTimedwHighDateTimerN)r rrrDWORDr!rrrrrBrBs %(!5)+HrrBc<\rSrSrS\4S\4S\4S\4S\4S\ 4/r Sr g ) MSGhWndmessagewParamlParamtimeptrN) r rrrHWNDUINTWPARAMLPARAMrFr1r!rrrrrHrHs6D!6"6"u HrrHic `\rSrSrS\4S\4S\4S\4S\4S\4S\4S \4S \\-4S \S -4/ rS r g)WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNamerN) r rrrrFrBCHARMAX_PATHr!rrrrrUrUsa#U+!8,#X."H- %('&&dXo.%tby1 3HrrUc `\rSrSrS\4S\4S\4S\4S\4S\4S\4S \4S \\-4S \S -4/ rS r g)WIN32_FIND_DATAWrWrXrYrZr[r\r]r^r_r`rarN) r rrrrFrBWCHARrcr!rrrrreresb#U+!8,#X."H- %('&&eh./%urz2 4Hrre)ctypesc_ubyteBYTEc_ushortWORDc_ulongrFc_charrbc_wcharrgc_uintrQc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGr USHORTc_shortr* c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrRrSATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArP SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr# SMALL_RECTr,r1tagPOINT_POINTLPOINTLr6tagSIZESIZELr@rB _FILETIMErHtagMSGrcrUrePOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrrrsU  ~~ }} }} ll   }}@6&&@  }} "(!2!22#)#5#55. & 0 00 0Hv###& ??"& ==6==#AA ^^F ]]F ]]6$$%v)GG   F   F                                 "6  "  &5#&""#  V  F  $##7V6  %-+v+  &     3v'' 3 4v'' 4%% >>' "%%t ^^H % >>%((&11 Y  ^^F++7ts~~c"" .t%%~~c"">>%((& .. %%>>%((&nnY'  %%>>%((&nnZ( %%..0   ..   )/8H)II&)/8H)II&%%rPK!NzlClC&__pycache__/util.cpython-313.opt-1.pycnu[ Ki7@SSKrSSKrSSKrSSKr\RS:Xa SrSrSrO\RS:Xa\RS;a SSK J r S rO\RRS 5(aSS K Jr O\RS :XaS rO~\RS:XanSSKrSSKrSrSr\RS:XaSrOSr\RRS5(aSrSrO"\RS:Xa SrSSjrO SrSrSrSr\S:Xa\"5 gg)Nntc8Sn[RRU5nUS:XagU[U5-n[RUSR SS5up#[ USS5S- nUS:aUS- n[ US S 5S - nUS:XaS nUS:aXE-$g) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions 2/opt/alt/python313/lib64/python3.13/ctypes/util.py_get_build_versionr s KK  V $ 7 F O++ab/''Q/1Sb6{Q 2  A L1Qq6{T) 1 L 1 . .c[5nUcgUS::aSnOUS::a SUS--nOgSSKnSURR;aUS - nUS -$) z%Return the name of the VC runtime dllNrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sd$& ? a<H ] GbL1H # y**== = OHrcUS;a [5$[RSR[R5Hn[R R X5n[R RU5(aUs $UR5RS5(aMpUS-n[R RU5(dMUs $ g)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswithname directoryfnames r find_libraryr77s : = F+11"**=IGGLL1Eww~~e$$ {{}%%f--FNEww~~e$$ >rposix>iostvosdarwinwatchos) dyld_findctSU-SU-U<SU<3/nUHn[U5s $ g![a M!f=f)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r4possibles rr7r7HsV!D(%)-t46D !$''   s ) 77aix)r7androidcSnS[R"5R;aUS- nUSUS3n[RR U5(aU$S$)Nz /system/lib64z/libz.so)r+unamemachiner.r0r3s rr7r7]sT! 288:%% %  I+T$s+u--u747rcSn[US5nURS5U:HsSSS5 $!,(df  g=f![a gf=f)z,Return True if the given file is an ELF filesELFbrNF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrQisE  h%||A*4&%%   s# ?. ? <?? A  A c[R"S[R"U5-5n[R "S5nU(d[R "S5nU(dg[ R"5nUSSURSU-/n[[R5nSUS'SUS '[R"U[R[RUS 9nU UR$R'5nSSS5 UR!5 [R("UW5nU(dgUH+n [+U 5(dM[R,"U 5s $ g![a$ UR!5 g!["a gf=ff=f!,(df  N=f!["a Nf=f!UR!5 f!["a ff=f=f) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler4dictr, subprocessPopenPIPESTDOUTOSErrorcloserMr[rLfindallrQfsdecode) r4expr c_compilertempargsr]proctraceresfiles r _findLib_gccrvrs {{9BIIdOKL\\%( d+J**, $ 4$;GDrzz"CCMCK !''/9/9/@/@,/1  ((*  jju%D4==;;t$ $    $    %    $  s?7G73E1*G,F"GF31 F;G=F FFFG" F0,G3 G?GG&GG& G# G&"G##G&sunos5cU(dg[R"SSU4[R[RS9nU UR R 5nSSS5 [R"SW5nU(dg[R"URS55$![a gf=f!,(df  Nb=f)Nz/usr/ccs/bin/dumpz-Lpvr[r\s\[.*\]\sSONAME\s+([^\s]+)r) rfrgrhDEVNULLrjr[rLr_searchr+rmgroup)frrdatarts r _get_sonamers !'') \S*/(libz\.\S+))/sbin/ldconfigz-rryr)keyr)r_r`r+r^rfrgrhrzr[rLrjrlrrvsortrrm)r4enamernrrr~rts rr7r7sIIdOE8=uED;;t$D .!''(@/9/9/A/AC ;;++-D**T4(C"<#566 HHH &;;s2w' 'T  s2C?-C.. C<? D Dc[RRS5(dg[[R5nSUS'U(aSnOSnSn[ R "U[ R[ RUS9nU URHRnUR5nURS5(dM+[R"U5R5SnMT SSS5 U(dgURS 5HNn[RRUS U-5n[RRU5(dMLUs $ g![a gf=f!,(df  N=f) N /usr/bin/crlerWrX)r-64)rrZsDefault Library Path (ELF):rJ:zlib%s.so)r+r.existsrer,rfrgrhrzrjr[strip startswithrmrr/) r4is64r]rqpathsrrlinedirlibfiles r _findLib_crlers%77>>/22rzz"CCM/)E !''/9/9/A/A,/1  KKD::77>>'**"N( !  s$3E4E/+E/ E,+E,/ E=cN[[X5=(d [U55$N)rrrv)r4rs rr7r7s}T8NL,6,>,>-7-?-?-7__58#*F HLM))E88==?;C!{{399Q<8HH  HHH  s8+AE12AE  E1E1 E.*E1.E11 E>=E>cS[R"U5-nSS/n[RR S5nU(a+UR S5HnUR SU/5 M UR S[RSU-/5 Sn[R"U[R[RS S 9nUR5upx[R"U[R"U55n U H+n [U 5(dM[R"U 5s $ U$![a U$f=f) NrSldz-tLD_LIBRARY_PATHrz-LrVz-l%sT)r[r\universal_newlines)r_r`r+r,rrextenddevnullrfrgrh communicaterlrmrQ Exception) r4rncmdlibpathrresultrout_rtrus r _findLib_ldr8s 1BIIdOCD,Cjjnn%67G s+AJJay), JJbjj&4-8 9F $$S,6OO8<>jjr{{3'78D#4== ;;t,,  M M sBD:6D:: EEc[U5=(d/ [[U55=(d [[U55$r)rrrvr)r4s rr7r7Ss6'-U|D12U6A+dBS6T UrcSSKJn [RS:XaC[ UR 5 [ UR S55 [ [S55 [RS:XGak[ [S55 [ [S55 [ [S55 [RS :Xai[ URS 55 [ URS 55 [ URS 55 [ URS 55 g[RRS5(GaDSSKJ n [RS:ao[ SU"S[R535 [ SURS535 [ [S55 [ URS55 O@[ SU"S[R535 [ SURS535 [ S[S535 [ SUR[S5535 [ S[S535 [ SUR[S5535 g[ URS55 [ URS55 [ [S55 gg)Nr)cdllrrr8r)r(bz2r;z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/SystemrB)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r4printrloadr7r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestr[s( ww$ dkk dii!" l8$% ww' l3  l3  l5!" <<8 # $""<0 1 $""#45 6 $""#45 6 $""#<= > \\ $ $U + + #{{U":4QSQ_Q_;`:abc243C3CO3T2UVWl5)*d&&{34:4@RTVTbTb;c:def243C3CDV3W2XYZ J|G456 7 Jt// W0EFGH I K X 678 9 K 0 0h1G HIJ K $""9- . $""=1 2 ,w' (?r__main__)F)r+rarfr r4rr&r7rctypes.macholib.dyldr=r?r ctypes._aixr_rcrQrvrrrrrr__name__rrrs  77d?2* WWCLL,PP<  \\U##)\\Y8WW/%d ||x -" -, ||BCC ) (*  !" H P  < 6 U&)P zFrPK!M  #__pycache__/_endian.cpython-313.pycnu[ Ki LSSKrSSKJrJrJr \"\5rSr"SS5r"SS\\"\55r "SS \\"\55r \RS :XaS r \r "S S \\ S9r\r"SS\\ S9rg\RS:XaSr \r"SS\\ S9r \r"SS\\ S9rg\"S5e)N)Array StructureUnionc[U[5(a[U[5$[U[5(a"[ UR 5UR-$[U[[45(aU$[SU-5e)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclassrr TypeError)typs 5/opt/alt/python313/lib64/python3.13/ctypes/_endian.pyr r sksM""sM**#{##SZZ(3<<77# 5)** ACG HHc(^\rSrSrU4SjrSrU=r$) _swapped_metac>US:Xa;/nUH1nUSnUSnUSSnURU[U54U-5 M3 Un[TU] X5 g)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rr_swapped_meta.__setattr__sf z !FAw1gABx t]3%784?@  E H,r)__name__ __module__ __qualname____firstlineno__r__static_attributes__ __classcell__)r%s@rrrs  - -rrc\rSrSrSrg)_swapped_struct_meta"r'Nr(r)r*r+r,r'rrr/r/"sDrr/c\rSrSrSrg)_swapped_union_meta#r'Nr1r'rrr3r3#strr3little __ctype_be__c \rSrSrSrSrSrSrg)BigEndianStructure0z$Structure with big endian byte orderr'Nr(r)r*r+__doc__ __slots___swappedbytes_r,r'rrr8r80s2 rr8) metaclassc \rSrSrSrSrSrSrg)BigEndianUnion7z Union with big endian byte orderr'Nr:r'rrr@r@7s. rr@big __ctype_le__c \rSrSrSrSrSrSrg)LittleEndianStructureAz'Structure with little endian byte orderr'Nr:r'rrrErEAs5 rrEc \rSrSrSrSrSrSrg)LittleEndianUnionHz#Union with little endian byte orderr'Nr:r'rrrHrHHs1 rrHzInvalid byteorder)sysctypesrrrtyper r rr/r3 byteorderrrEr8rHr@ RuntimeErrorr'rrrOs **5k I" - -A=$y/@;-e;==H"M%Y2F *=  ]]e"M" 5I NE-@ * ++rPK!IA^B^B&__pycache__/util.cpython-313.opt-2.pycnu[ Ki7@SSKrSSKrSSKrSSKr\RS:Xa SrSrSrO\RS:Xa\RS;a SSK J r S rO\RRS 5(aSS K Jr O\RS :XaS rO~\RS:XanSSKrSSKrSrSr\RS:XaSrOSr\RRS5(aSrSrO"\RS:Xa SrSSjrO SrSrSrSr\S:Xa\"5 gg)Nntc8Sn[RRU5nUS:XagU[U5-n[RUSR SS5up#[ USS5S- nUS:aUS- n[ USS 5S - nUS:XaS nUS:aXE-$g) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions 2/opt/alt/python313/lib64/python3.13/ctypes/util.py_get_build_versionr s KK  V $ 7 F O++ab/''Q/1Sb6{Q 2  A L1Qq6{T) 1 L 1 . .c[5nUcgUS::aSnOUS::a SUS--nOgSSKnSURR;aUS- nUS -$) Nrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sd$& ? a<H ] GbL1H # y**== = OHrcUS;a [5$[RSR[R5Hn[R R X5n[R RU5(aUs $UR5RS5(aMpUS-n[R RU5(dMUs $ g)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswithname directoryfnames r find_libraryr77s : = F+11"**=IGGLL1Eww~~e$$ {{}%%f--FNEww~~e$$ >rposix>iostvosdarwinwatchos) dyld_findctSU-SU-U<SU<3/nUHn[U5s $ g![a M!f=f)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r4possibles rr7r7HsV!D(%)-t46D !$''   s ) 77aix)r7androidcSnS[R"5R;aUS- nUSUS3n[RR U5(aU$S$)Nz /system/lib64z/libz.so)r+unamemachiner.r0r3s rr7r7]sT! 288:%% %  I+T$s+u--u747rcSn[US5nURS5U:HsSSS5 $!,(df  g=f![a gf=f)NsELFbrF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrQisE  h%||A*4&%%   s# ?. ? <?? A  A c[R"S[R"U5-5n[R "S5nU(d[R "S5nU(dg[ R"5nUSSURSU-/n[[R5nSUS'SUS '[R"U[R[RUS 9nU UR$R'5nSSS5 UR!5 [R("UW5nU(dgUH+n [+U 5(dM[R,"U 5s $ g![a$ UR!5 g!["a gf=ff=f!,(df  N=f!["a Nf=f!UR!5 f!["a ff=f=f) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler4dictr, subprocessPopenPIPESTDOUTOSErrorcloserMr[rLfindallrQfsdecode) r4expr c_compilertempargsr]proctraceresfiles r _findLib_gccrvrs {{9BIIdOKL\\%( d+J**, $ 4$;GDrzz"CCMCK !''/9/9/@/@,/1  ((*  jju%D4==;;t$ $    $    %    $  s?7G73E1*G,F"GF31 F;G=F FFFG" F0,G3 G?GG&GG& G# G&"G##G&sunos5cU(dg[R"SSU4[R[RS9nU UR R 5nSSS5 [R"SW5nU(dg[R"URS55$![a gf=f!,(df  Nb=f)Nz/usr/ccs/bin/dumpz-Lpvr[r\s\[.*\]\sSONAME\s+([^\s]+)r) rfrgrhDEVNULLrjr[rLr_searchr+rmgroup)frrdatarts r _get_sonamers !'') \S*/(libz\.\S+))/sbin/ldconfigz-rryr)keyr)r_r`r+r^rfrgrhrzr[rLrjrlrrvsortrrm)r4enamernrrr~rts rr7r7sIIdOE8=uED;;t$D .!''(@/9/9/A/AC ;;++-D**T4(C"<#566 HHH &;;s2w' 'T  s2C?-C.. C<? D Dc[RRS5(dg[[R5nSUS'U(aSnOSnSn[ R "U[ R[ RUS9nU URHRnUR5nURS5(dM+[R"U5R5SnMT SSS5 U(dgURS 5HNn[RRUS U-5n[RRU5(dMLUs $ g![a gf=f!,(df  N=f) N /usr/bin/crlerWrX)r-64)rrZsDefault Library Path (ELF):rJ:zlib%s.so)r+r.existsrer,rfrgrhrzrjr[strip startswithrmrr/) r4is64r]rqpathsrrlinedirlibfiles r _findLib_crlers%77>>/22rzz"CCM/)E !''/9/9/A/A,/1  KKD::77>>'**"N( !  s$3E4E/+E/ E,+E,/ E=cN[[X5=(d [U55$N)rrrv)r4rs rr7r7s}T8NL,6,>,>-7-?-?-7__58#*F HLM))E88==?;C!{{399Q<8HH  HHH  s8+AE12AE  E1E1 E.*E1.E11 E>=E>cS[R"U5-nSS/n[RR S5nU(a+UR S5HnUR SU/5 M UR S[RSU-/5 Sn[R"U[R[RS S 9nUR5upx[R"U[R"U55n U H+n [U 5(dM[R"U 5s $ U$![a U$f=f) NrSldz-tLD_LIBRARY_PATHrz-LrVz-l%sT)r[r\universal_newlines)r_r`r+r,rrextenddevnullrfrgrh communicaterlrmrQ Exception) r4rncmdlibpathrresultrout_rtrus r _findLib_ldr8s 1BIIdOCD,Cjjnn%67G s+AJJay), JJbjj&4-8 9F $$S,6OO8<>jjr{{3'78D#4== ;;t,,  M M sBD:6D:: EEc[U5=(d/ [[U55=(d [[U55$r)rrrvr)r4s rr7r7Ss6'-U|D12U6A+dBS6T UrcSSKJn [RS:XaC[ UR 5 [ UR S55 [ [S55 [RS:XGak[ [S55 [ [S55 [ [S55 [RS :Xai[ URS 55 [ URS 55 [ URS 55 [ URS 55 g[RRS5(GaDSSKJ n [RS:ao[ SU"S[R535 [ SURS535 [ [S55 [ URS55 O@[ SU"S[R535 [ SURS535 [ S[S535 [ SUR[S5535 [ S[S535 [ SUR[S5535 g[ URS55 [ URS55 [ [S55 gg)Nr)cdllrrr8r)r(bz2r;z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/SystemrB)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r4printrloadr7r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestr[s( ww$ dkk dii!" l8$% ww' l3  l3  l5!" <<8 # $""<0 1 $""#45 6 $""#45 6 $""#<= > \\ $ $U + + #{{U":4QSQ_Q_;`:abc243C3CO3T2UVWl5)*d&&{34:4@RTVTbTb;c:def243C3CDV3W2XYZ J|G456 7 Jt// W0EFGH I K X 678 9 K 0 0h1G HIJ K $""9- . $""=1 2 ,w' (?r__main__)F)r+rarfr r4rr&r7rctypes.macholib.dyldr=r?r ctypes._aixr_rcrQrvrrrrrr__name__rrrs  77d?2* WWCLL,PP<  \\U##)\\Y8WW/%d ||x -" -, ||BCC ) (*  !" H P  < 6 U&)P zFrPK!7$I5c5c$__pycache__/__init__.cpython-313.pycnu[ Ki1L SrSSKrSSKrSSKrSSKrSr SSK J r J r J r SSK Jr SSK Jr SSK J r SSK JrJr SS K Jr SS K Jr SS KJr \ \:wa \"S \ \5e\R4S :XaSSK Jr \r\R4S:XaI\R:S:Xa9\"\R>"5R@RCS5S5S:a\rSSK J"r#J$r%J&r'J(r) SpSjr*\*r+0r,Sr-\R4S :XaDSSK J.r/ SSK J0r1 0r2Sr3\3R(a!\-RRiSS5\3lO\R4S:XaSSK J5r6 SSK J7r7J8r8J9r9J:r:J;r; SSK Jr> SpSjr?"S S!\>5r@\?"\@S"5 "S#S$\>5rA\?"\A5 "S%S&\>5rB\?"\B5 "S'S(\>5rC\?"\C5 "S)S*\>5rD\?"\D5 \"S+5\"S,5:Xa\CrE\DrFO&"S-S.\>5rE\?"\E5 "S/S0\>5rF\?"\F5 "S1S2\>5rG\?"\G5 "S3S4\>5rH\?"\H5 "S5S6\>5rI\7"\I5\7"\H5:Xa\HrI\"S,5\"S75:Xa\CrJ\DrKO&"S8S9\>5rJ\?"\J5 "S:S;\>5rK\?"\K5 "S<S=\>5rL\L=\LlM\LlN\?"\L5 "S>S?\>5rO\O=\OlM\OlN\?"\O5 "S@SA\>5rP\P=\PlM\PlN\?"\P5 "SBSC\>5rQ\?"\QS"5 "SDSE\>5rR\RrS\?"\R5 "SFSG\>5rTSSHK JUrUJVrVJWrW "SISJ\>5rX"SKSL\>5rYSMrZSpSNjr[SOr\SPr]"SQSR\^5r_"SSST\_5r`\R4S :Xa)"SUSV\_5raSSWK JbrbJ>r> "SXSY\>5rc"SZS[\_5rd"S\S]\^5re\e"\_5rf\e"\`5rg\R4S :Xa\`"S^S\R5riO1\R:S_;a\`"\R"S`55riO\`"S5ri\R4S :Xa3\e"\a5rk\e"\d5rl\kRRrnSSaK JoroJprp SqSbjrq\7"\F5\7"\R5:Xa\Frr\ErsO-\7"\D5\7"\R5:Xa\Drr\CrsO\7"\K5\7"\R5:Xa\Krr\JrsSScK JtrtJuruJvrvJwrw \-"\R\R\R\r5"\t5rx\-"\R\R\E\r5"\u5rySdrz\z"\@\R\@\@5"\w5r{Ser|\z"\@\R\E5"\v5r}SrSfjr~SSgK Jr \z"\@\R\E5"\5rSrShjr\R4S :XaSirSjrSSkKJrJr SSlKJrJr \Or\Lr\A\E\C\J4H3r\7"\5Sm:Xa\rM\7"\5Sn:Xa\rM#\7"\5S:XdM1\rM5 \B\F\D\K4H3r\7"\5Sm:Xa\rM\7"\5Sn:Xa\rM#\7"\5S:XdM1\rM5 C\S:Xa\rO\Sn:Xa\rO \"So\<35e\Z"5 g!\a Nf=f)sz,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError) SIZEOF_TIME_TcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORc@[U[5(a@Uc[U5S-n[R"SX5 [ U-nU"5nXlU$[U[5(a*[R"SSU5 [ U-nU"5nU$[U5e)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs 6/opt/alt/python313/lib64/python3.13/ctypes/__init__.pycreate_string_bufferr*3s $ <t9Q;D 0$=4-i  D#   0$=4-i D/cX^^^[mURSS5(a T[-mURSS5(a T[-mU(a[ SUR 5-5e[ TTT4$![a Of=f"UUU4SjS[5nU[ TTT4'U$)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %sc(>\rSrSrYrYrYrSrg) CFUNCTYPE..CFunctionTypehN__name__ __module__ __qualname____firstlineno__ _argtypes_ _restype__flags___static_attributes__argtypesflagsrestypesr) CFunctionTyper1hs  r+rA) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r@r>kwrAr?s`` @r) CFUNCTYPErLKs E vvk5!! $$ vv&& (( \rSrSrYrYrYrSrg)$WINFUNCTYPE..WinFunctionTyper3Nr4r=sr)WinFunctionTyperRs!JIGr+rT) _FUNCFLAG_STDCALLrCrDrErFrG_win_functype_cacherIrJ)r@r>rKrTr?s`` @r) WINFUNCTYPErWts! 66+u % % ( (E 66"E * * , ,E @2779LM M &5'AB B     i ;JWh67rMrLrW)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatac|SSKJn Uc URn[U5U"U5pCX4:wa[ SXU4-5eg)Nrr z"sizeof(%s) wrong: %d instead of %d)structr_type_rY SystemError)typtypecoderactualrequireds r) _check_sizerisN ::c{HX$6H >123 3r+c,^\rSrSrSrU4SjrSrU=r$) py_objectOcr>[TU]5$![a S[U5R-s$f=f)Nz %s())super__repr__rFtyper5)self __class__s r)rppy_object.__repr__s: 67#% % 6$t*"5"55 5 6s "66r3)r5r6r7r8rcrpr< __classcell__)rss@r)rkrks F66r+rkPc\rSrSrSrSrg)c_shorthr3Nr5r6r7r8rcr<r3r+r)rxrx Fr+rxc\rSrSrSrSrg)c_ushortHr3Nr{r3r+r)r~r~r|r+r~c\rSrSrSrSrg)c_longlr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_ulongLr3Nr{r3r+r)rrr|r+rirc\rSrSrSrSrg)c_intrr3Nr{r3r+r)rrr+rc\rSrSrSrSrg)c_uintIr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg)c_floatfr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_doubledr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg) c_longdoublegr3Nr{r3r+r)rrr|r+rqc\rSrSrSrSrg) c_longlongrr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg) c_ulonglongQr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg)c_ubyteBr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_bytebr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)r cr3Nr{r3r+r)r r r|r+r c\rSrSrSrSrSrg)c_char_pzcxURR<S[RU5R<S3$N()rsr5c_void_p from_bufferr!rrs r)rpc_char_p.__repr__(>>22H4H4H4N4T4TUUr+r3Nr5r6r7r8rcrpr<r3r+r)rr FVr+rc\rSrSrSrSrg)rrvr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_bool?r3Nr{r3r+r)rrr|r+r)POINTERpointer_pointer_type_cachec\rSrSrSrSrSrg) c_wchar_piZcxURR<S[RU5R<S3$rrrs r)rpc_wchar_p.__repr__rr+r3Nrr3r+r)rrrr+rc\rSrSrSrSrg)c_wchariur3Nr{r3r+r)rrr|r+rcH[R"5 [R5 [RS:Xa[ R5 [ R[[5l[R[[5l[[S'g)Nr) rclearrH_osnamerVr from_paramrrrr rr3r+r) _reset_cacher sb xx4!!#"+"6"6GG!)!4!4GFO (r+c[U[5(aiUc7[[5S:Xa[ SU55S-nO[ U5S-n[ R"SX5 [U-nU"5nXlU$[U[5(a*[ R"SSU5 [U-nU"5nU$[U5e)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nc3H# UHn[U5S:aSOSv M g7f)irrN)ord).0rs r) (create_unicode_buffer..!sE1A1Q6s "rzctypes.create_unicode_buffer) rstrrYrsumrrrr!r"r#r$s r)create_unicode_bufferrs $ <g!#EEEI4y1} 14>D.i  D#   14>D.i D/r+cSSKnURSSS9 [R"US5b [ S5e[ U5[;a [ S5eUR "U5 U[U'[[ U5 g)Nrzctypes.SetPointerType))removez%This type already exists in the cachezWhat's this???)warnings _deprecatedrget RuntimeErroridset_type)rclsrs r)SetPointerTyper3sv 0AsD)5BCC '{--+,, S&BwK(r+c X-$Nr3)rers r)ARRAYr>s 9r+c\rSrSrSr\r\rSr Sr Sr \ SSSS4Sjr \RS:XaS rOS rS rS rS rSrg)CDLLiDaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFc^^^"UUU4SjS[5nUTlU(a[R"U5nTR XX65Tlg)Nc>\rSrSrYRrYR rY(a\\-rY(a\\ -rSr gSr g)CDLL.__init__.._FuncPtri]r3N) r5r6r7r8 _func_flags_r;_func_restype_r:rDrEr<)rrr-r.sr)_FuncPtrr]s:''G++I..22r+r)rJrrfspath _load_library_handle)rrrmodehandler-r.winmoders` `` r)__init__ CDLL.__init__YsB 3 3y 3! ::d#D))$fF r+rcUc>SSKnURnUb+SU;dSU;aURU5nXER-nXlUbU$[ URU5$)Nr/\)r!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR_name _LoadLibrary)rrrrrr_nts r)rCDLL._load_librarylsh ?? # //5DDDDGJ!  G4 4r+cXU(aURS5(a{[U5n[RR [RR [ R5UR5R55nSSS5 [ RRS5(aHU(a@URS5(a*SU;a$U[R[R--nXlUbU$[X5$!,(df  N=f)Nz.fworkaixrz.a()endswithopenrpathjoindirnamer executablereadstripplatform startswith RTLD_MEMBERRTLD_NOWr_dlopen)rrrrrrrs r)rr ~s h//$Z188==((9(D }}''.. DMM#..5D=COOcll::DJ! 4& &! Zs A(D D)cSURRURUR[R S-S--[ U5[R S-S--4-$)Nz<%s '%s', handle %x at %#x>rr)rsr5rrrmaxsizerrs r)rp CDLL.__repr__sY,''a!!344DLLNQ./11 1r+cURS5(a!URS5(a [U5eURU5n[ XU5 U$)N__)rr AttributeError __getitem__setattr)rrrfuncs r) __getattr__CDLL.__getattr__sI ??4 T]]4%8%8 & &%D! r+c`URX45n[U[5(dXlU$r)rrr"r5)rrname_or_ordinalr"s r)r CDLL.__getitem__s*}}o45/3//+M r+)rrr)r5r6r7r8__doc__rBrrrrrr DEFAULT_MODErrrrrpr#r r<r3r+r)rrDs] #LN EGH".t %G$ xx4 5$ '.1 r+rc"\rSrSrSr\\-rSrg)PyDLLizThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. r3N) r5r6r7r8r(rB_FUNCFLAG_PYTHONAPIrr<r3r+r)r+r+s#%88Lr+r+c\rSrSrSr\rSrg)WinDLLiz^This class represents a dll exporting functions using the Windows stdcall calling convention. r3N)r5r6r7r8r(rUrr<r3r+r)r.r.s ) r+r.)_check_HRESULTr`c\rSrSrSr\rSrg)HRESULTirr3N)r5r6r7r8rcr/_check_retval_r<r3r+r)r1r1s(r+r1c \rSrSrSr\r\rSr g)OleDLLizThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. r3N) r5r6r7r8r(rUrr1rr<r3r+r)r4r4s )  r+r4cP\rSrSrSrSrSrSr\"\ R5r Sr g) LibraryLoadericXlgr_dlltype)rrdlltypes r)rLibraryLoader.__init__s r+cUSS:Xa [U5eURU5n[XU5 U$![a [U5ef=f)Nr_)rr9OSErrorr!)rrrdlls r)r#LibraryLoader.__getattr__sX 7c> & & '--%C C   ' & & 's 5A c[X5$r)getattrrrrs r)r LibraryLoader.__getitem__s t""r+c$URU5$rr8rCs r)rNLibraryLoader.LoadLibrarys}}T""r+r8N) r5r6r7r8rr#r rN classmethod_types GenericAlias__class_getitem__r<r3r+r)r6r6s) ##$F$7$78r+r6z python dll)androidcygwin LDLIBRARY)get_last_errorset_last_errorcpUc [5nUc[U5R5n[SUSU5$r) GetLastErrorrrr>)codedescrs r)WinErrorrTs7 <>D =%++-EtUD$//r+) _memmove_addr _memset_addr_string_at_addr _cast_addrc0^^"UU4SjS[5nU$)Nc,>\rSrSrYrYr\\-rSr g)!PYFUNCTYPE..CFunctionTypeir3N) r5r6r7r8r9r:rBr,r;r<)r>r@sr)rAr[s  !$77r+rA)rJ)r@r>rAs`` r) PYFUNCTYPEr\s88 8 r+c[XU5$r)_cast)objres r)castr`s 3 r+c[X5$)zFstring_at(ptr[, size]) -> string Return the byte string at void *ptr.) _string_atptrr&s r) string_atre s c  r+)_wstring_at_addrc[X5$)zQwstring_at(ptr[, size]) -> string Return the wide-character string at void *ptr.) _wstring_atrcs r) wstring_atri,s3%%r+c[S[5[5S/5nURXU5$![a gf=f)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r)rprp4sI =>)BigEndianStructureLittleEndianStructure)BigEndianUnionLittleEndianUnionrz)Unexpected sizeof(time_t): SIZEOF_TIME_T=r)NN))r(osrsysr sysconfig _sysconfigtypesrHr_ctypesrrrrrrJ_ctypes_versionr r r r rbr _calcsize Exceptionrrr)rr"unamereleasesplitrrBrr,rrDrrEr*c_bufferrHrLrNrrOrUrVrWreplacerXrrYrZr[r\r]r^r_r`rirkrxr~rrrrrrrrrr __ctype_le__ __ctype_be__rr rrc_voidprrrrrrrrrrobjectrr+r.r/r1r4r6cdllpydll dllhandle pythonapiget_config_varwindlloledllkernel32rQrNrOrTc_size_t c_ssize_trUrVrWrXmemmovememsetr\r^r`rbrerfrhrirqrprwctypes._endianrxryrzr{c_int8c_uint8kindc_int16c_int32c_int64c_uint16c_uint32c_uint64c_time_trdr3r+r)rs,2 ++)2+!!(/! -{O LL88t# 88w4==H4  399;   $ $S )! ,-1" 77* "H88t3=*'//77 ]S XX)??(  36 6 Isl G| H\ Fl G S>Ys^# E F l G| H< ,6(++L S>Ys^#JK\ l  l.55w+ G\,22f) F\,22f) FV|V Hc|  H\:9V V l ): ) b6bH9D988t))5 (, (!!9F9,Te88tlD$..9I ]]++j// <=Id I88t 6 "F 6 "F??//L60 &>VH%%HI G_x((HI KF8,,HIML Hh( ;M J 8Xuh 7 E 9h 9=jI  8U 3O D ! &(Y%89IJK&88t=&E<   eVZ 0D d|qD'  dG  dG 1vw 4D d|qT(  tH  tH 5 AHaH BM3CD EE e  s5WW$#W$PK!7$I5c5c*__pycache__/__init__.cpython-313.opt-1.pycnu[ Ki1L SrSSKrSSKrSSKrSSKrSr SSK J r J r J r SSK Jr SSK Jr SSK J r SSK JrJr SS K Jr SS K Jr SS KJr \ \:wa \"S \ \5e\R4S :XaSSK Jr \r\R4S:XaI\R:S:Xa9\"\R>"5R@RCS5S5S:a\rSSK J"r#J$r%J&r'J(r) SpSjr*\*r+0r,Sr-\R4S :XaDSSK J.r/ SSK J0r1 0r2Sr3\3R(a!\-RRiSS5\3lO\R4S:XaSSK J5r6 SSK J7r7J8r8J9r9J:r:J;r; SSK Jr> SpSjr?"S S!\>5r@\?"\@S"5 "S#S$\>5rA\?"\A5 "S%S&\>5rB\?"\B5 "S'S(\>5rC\?"\C5 "S)S*\>5rD\?"\D5 \"S+5\"S,5:Xa\CrE\DrFO&"S-S.\>5rE\?"\E5 "S/S0\>5rF\?"\F5 "S1S2\>5rG\?"\G5 "S3S4\>5rH\?"\H5 "S5S6\>5rI\7"\I5\7"\H5:Xa\HrI\"S,5\"S75:Xa\CrJ\DrKO&"S8S9\>5rJ\?"\J5 "S:S;\>5rK\?"\K5 "S<S=\>5rL\L=\LlM\LlN\?"\L5 "S>S?\>5rO\O=\OlM\OlN\?"\O5 "S@SA\>5rP\P=\PlM\PlN\?"\P5 "SBSC\>5rQ\?"\QS"5 "SDSE\>5rR\RrS\?"\R5 "SFSG\>5rTSSHK JUrUJVrVJWrW "SISJ\>5rX"SKSL\>5rYSMrZSpSNjr[SOr\SPr]"SQSR\^5r_"SSST\_5r`\R4S :Xa)"SUSV\_5raSSWK JbrbJ>r> "SXSY\>5rc"SZS[\_5rd"S\S]\^5re\e"\_5rf\e"\`5rg\R4S :Xa\`"S^S\R5riO1\R:S_;a\`"\R"S`55riO\`"S5ri\R4S :Xa3\e"\a5rk\e"\d5rl\kRRrnSSaK JoroJprp SqSbjrq\7"\F5\7"\R5:Xa\Frr\ErsO-\7"\D5\7"\R5:Xa\Drr\CrsO\7"\K5\7"\R5:Xa\Krr\JrsSScK JtrtJuruJvrvJwrw \-"\R\R\R\r5"\t5rx\-"\R\R\E\r5"\u5rySdrz\z"\@\R\@\@5"\w5r{Ser|\z"\@\R\E5"\v5r}SrSfjr~SSgK Jr \z"\@\R\E5"\5rSrShjr\R4S :XaSirSjrSSkKJrJr SSlKJrJr \Or\Lr\A\E\C\J4H3r\7"\5Sm:Xa\rM\7"\5Sn:Xa\rM#\7"\5S:XdM1\rM5 \B\F\D\K4H3r\7"\5Sm:Xa\rM\7"\5Sn:Xa\rM#\7"\5S:XdM1\rM5 C\S:Xa\rO\Sn:Xa\rO \"So\<35e\Z"5 g!\a Nf=f)sz,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError) SIZEOF_TIME_TcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORc@[U[5(a@Uc[U5S-n[R"SX5 [ U-nU"5nXlU$[U[5(a*[R"SSU5 [ U-nU"5nU$[U5e)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs 6/opt/alt/python313/lib64/python3.13/ctypes/__init__.pycreate_string_bufferr*3s $ <t9Q;D 0$=4-i  D#   0$=4-i D/cX^^^[mURSS5(a T[-mURSS5(a T[-mU(a[ SUR 5-5e[ TTT4$![a Of=f"UUU4SjS[5nU[ TTT4'U$)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %sc(>\rSrSrYrYrYrSrg) CFUNCTYPE..CFunctionTypehN__name__ __module__ __qualname____firstlineno__ _argtypes_ _restype__flags___static_attributes__argtypesflagsrestypesr) CFunctionTyper1hs  r+rA) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r@r>kwrAr?s`` @r) CFUNCTYPErLKs E vvk5!! $$ vv&& (( \rSrSrYrYrYrSrg)$WINFUNCTYPE..WinFunctionTyper3Nr4r=sr)WinFunctionTyperRs!JIGr+rT) _FUNCFLAG_STDCALLrCrDrErFrG_win_functype_cacherIrJ)r@r>rKrTr?s`` @r) WINFUNCTYPErWts! 66+u % % ( (E 66"E * * , ,E @2779LM M &5'AB B     i ;JWh67rMrLrW)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatac|SSKJn Uc URn[U5U"U5pCX4:wa[ SXU4-5eg)Nrr z"sizeof(%s) wrong: %d instead of %d)structr_type_rY SystemError)typtypecoderactualrequireds r) _check_sizerisN ::c{HX$6H >123 3r+c,^\rSrSrSrU4SjrSrU=r$) py_objectOcr>[TU]5$![a S[U5R-s$f=f)Nz %s())super__repr__rFtyper5)self __class__s r)rppy_object.__repr__s: 67#% % 6$t*"5"55 5 6s "66r3)r5r6r7r8rcrpr< __classcell__)rss@r)rkrks F66r+rkPc\rSrSrSrSrg)c_shorthr3Nr5r6r7r8rcr<r3r+r)rxrx Fr+rxc\rSrSrSrSrg)c_ushortHr3Nr{r3r+r)r~r~r|r+r~c\rSrSrSrSrg)c_longlr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_ulongLr3Nr{r3r+r)rrr|r+rirc\rSrSrSrSrg)c_intrr3Nr{r3r+r)rrr+rc\rSrSrSrSrg)c_uintIr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg)c_floatfr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_doubledr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg) c_longdoublegr3Nr{r3r+r)rrr|r+rqc\rSrSrSrSrg) c_longlongrr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg) c_ulonglongQr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg)c_ubyteBr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_bytebr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)r cr3Nr{r3r+r)r r r|r+r c\rSrSrSrSrSrg)c_char_pzcxURR<S[RU5R<S3$N()rsr5c_void_p from_bufferr!rrs r)rpc_char_p.__repr__(>>22H4H4H4N4T4TUUr+r3Nr5r6r7r8rcrpr<r3r+r)rr FVr+rc\rSrSrSrSrg)rrvr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_bool?r3Nr{r3r+r)rrr|r+r)POINTERpointer_pointer_type_cachec\rSrSrSrSrSrg) c_wchar_piZcxURR<S[RU5R<S3$rrrs r)rpc_wchar_p.__repr__rr+r3Nrr3r+r)rrrr+rc\rSrSrSrSrg)c_wchariur3Nr{r3r+r)rrr|r+rcH[R"5 [R5 [RS:Xa[ R5 [ R[[5l[R[[5l[[S'g)Nr) rclearrH_osnamerVr from_paramrrrr rr3r+r) _reset_cacher sb xx4!!#"+"6"6GG!)!4!4GFO (r+c[U[5(aiUc7[[5S:Xa[ SU55S-nO[ U5S-n[ R"SX5 [U-nU"5nXlU$[U[5(a*[ R"SSU5 [U-nU"5nU$[U5e)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nc3H# UHn[U5S:aSOSv M g7f)irrN)ord).0rs r) (create_unicode_buffer..!sE1A1Q6s "rzctypes.create_unicode_buffer) rstrrYrsumrrrr!r"r#r$s r)create_unicode_bufferrs $ <g!#EEEI4y1} 14>D.i  D#   14>D.i D/r+cSSKnURSSS9 [R"US5b [ S5e[ U5[;a [ S5eUR "U5 U[U'[[ U5 g)Nrzctypes.SetPointerType))removez%This type already exists in the cachezWhat's this???)warnings _deprecatedrget RuntimeErroridset_type)rclsrs r)SetPointerTyper3sv 0AsD)5BCC '{--+,, S&BwK(r+c X-$Nr3)rers r)ARRAYr>s 9r+c\rSrSrSr\r\rSr Sr Sr \ SSSS4Sjr \RS:XaS rOS rS rS rS rSrg)CDLLiDaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFc^^^"UUU4SjS[5nUTlU(a[R"U5nTR XX65Tlg)Nc>\rSrSrYRrYR rY(a\\-rY(a\\ -rSr gSr g)CDLL.__init__.._FuncPtri]r3N) r5r6r7r8 _func_flags_r;_func_restype_r:rDrEr<)rrr-r.sr)_FuncPtrr]s:''G++I..22r+r)rJrrfspath _load_library_handle)rrrmodehandler-r.winmoders` `` r)__init__ CDLL.__init__YsB 3 3y 3! ::d#D))$fF r+rcUc>SSKnURnUb+SU;dSU;aURU5nXER-nXlUbU$[ URU5$)Nr/\)r!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR_name _LoadLibrary)rrrrrr_nts r)rCDLL._load_librarylsh ?? # //5DDDDGJ!  G4 4r+cXU(aURS5(a{[U5n[RR [RR [ R5UR5R55nSSS5 [ RRS5(aHU(a@URS5(a*SU;a$U[R[R--nXlUbU$[X5$!,(df  N=f)Nz.fworkaixrz.a()endswithopenrpathjoindirnamer executablereadstripplatform startswith RTLD_MEMBERRTLD_NOWr_dlopen)rrrrrrrs r)rr ~s h//$Z188==((9(D }}''.. DMM#..5D=COOcll::DJ! 4& &! Zs A(D D)cSURRURUR[R S-S--[ U5[R S-S--4-$)Nz<%s '%s', handle %x at %#x>rr)rsr5rrrmaxsizerrs r)rp CDLL.__repr__sY,''a!!344DLLNQ./11 1r+cURS5(a!URS5(a [U5eURU5n[ XU5 U$)N__)rr AttributeError __getitem__setattr)rrrfuncs r) __getattr__CDLL.__getattr__sI ??4 T]]4%8%8 & &%D! r+c`URX45n[U[5(dXlU$r)rrr"r5)rrname_or_ordinalr"s r)r CDLL.__getitem__s*}}o45/3//+M r+)rrr)r5r6r7r8__doc__rBrrrrrr DEFAULT_MODErrrrrpr#r r<r3r+r)rrDs] #LN EGH".t %G$ xx4 5$ '.1 r+rc"\rSrSrSr\\-rSrg)PyDLLizThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. r3N) r5r6r7r8r(rB_FUNCFLAG_PYTHONAPIrr<r3r+r)r+r+s#%88Lr+r+c\rSrSrSr\rSrg)WinDLLiz^This class represents a dll exporting functions using the Windows stdcall calling convention. r3N)r5r6r7r8r(rUrr<r3r+r)r.r.s ) r+r.)_check_HRESULTr`c\rSrSrSr\rSrg)HRESULTirr3N)r5r6r7r8rcr/_check_retval_r<r3r+r)r1r1s(r+r1c \rSrSrSr\r\rSr g)OleDLLizThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. r3N) r5r6r7r8r(rUrr1rr<r3r+r)r4r4s )  r+r4cP\rSrSrSrSrSrSr\"\ R5r Sr g) LibraryLoadericXlgr_dlltype)rrdlltypes r)rLibraryLoader.__init__s r+cUSS:Xa [U5eURU5n[XU5 U$![a [U5ef=f)Nr_)rr9OSErrorr!)rrrdlls r)r#LibraryLoader.__getattr__sX 7c> & & '--%C C   ' & & 's 5A c[X5$r)getattrrrrs r)r LibraryLoader.__getitem__s t""r+c$URU5$rr8rCs r)rNLibraryLoader.LoadLibrarys}}T""r+r8N) r5r6r7r8rr#r rN classmethod_types GenericAlias__class_getitem__r<r3r+r)r6r6s) ##$F$7$78r+r6z python dll)androidcygwin LDLIBRARY)get_last_errorset_last_errorcpUc [5nUc[U5R5n[SUSU5$r) GetLastErrorrrr>)codedescrs r)WinErrorrTs7 <>D =%++-EtUD$//r+) _memmove_addr _memset_addr_string_at_addr _cast_addrc0^^"UU4SjS[5nU$)Nc,>\rSrSrYrYr\\-rSr g)!PYFUNCTYPE..CFunctionTypeir3N) r5r6r7r8r9r:rBr,r;r<)r>r@sr)rAr[s  !$77r+rA)rJ)r@r>rAs`` r) PYFUNCTYPEr\s88 8 r+c[XU5$r)_cast)objres r)castr`s 3 r+c[X5$)zFstring_at(ptr[, size]) -> string Return the byte string at void *ptr.) _string_atptrr&s r) string_atre s c  r+)_wstring_at_addrc[X5$)zQwstring_at(ptr[, size]) -> string Return the wide-character string at void *ptr.) _wstring_atrcs r) wstring_atri,s3%%r+c[S[5[5S/5nURXU5$![a gf=f)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r)rprp4sI =>)BigEndianStructureLittleEndianStructure)BigEndianUnionLittleEndianUnionrz)Unexpected sizeof(time_t): SIZEOF_TIME_T=r)NN))r(osrsysr sysconfig _sysconfigtypesrHr_ctypesrrrrrrJ_ctypes_versionr r r r rbr _calcsize Exceptionrrr)rr"unamereleasesplitrrBrr,rrDrrEr*c_bufferrHrLrNrrOrUrVrWreplacerXrrYrZr[r\r]r^r_r`rirkrxr~rrrrrrrrrr __ctype_le__ __ctype_be__rr rrc_voidprrrrrrrrrrobjectrr+r.r/r1r4r6cdllpydll dllhandle pythonapiget_config_varwindlloledllkernel32rQrNrOrTc_size_t c_ssize_trUrVrWrXmemmovememsetr\r^r`rbrerfrhrirqrprwctypes._endianrxryrzr{c_int8c_uint8kindc_int16c_int32c_int64c_uint16c_uint32c_uint64c_time_trdr3r+r)rs,2 ++)2+!!(/! -{O LL88t# 88w4==H4  399;   $ $S )! ,-1" 77* "H88t3=*'//77 ]S XX)??(  36 6 Isl G| H\ Fl G S>Ys^# E F l G| H< ,6(++L S>Ys^#JK\ l  l.55w+ G\,22f) F\,22f) FV|V Hc|  H\:9V V l ): ) b6bH9D988t))5 (, (!!9F9,Te88tlD$..9I ]]++j// <=Id I88t 6 "F 6 "F??//L60 &>VH%%HI G_x((HI KF8,,HIML Hh( ;M J 8Xuh 7 E 9h 9=jI  8U 3O D ! &(Y%89IJK&88t=&E<   eVZ 0D d|qD'  dG  dG 1vw 4D d|qT(  tH  tH 5 AHaH BM3CD EE e  s5WW$#W$PK! :ih**&__pycache__/_aix.cpython-313.opt-2.pycnu[ Ki0SrSSKrSSKJrJr SSKJr SSKJrJ r SSK J r J r J r \ "\5S-rSSKJr S rS rS rS rS rSrSrSrSrSrSrSrg)z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizec6^U4Sjn[[U5US9$)Nc>URT5n/nU(a2URS[UR555 U(aM2U=(d [ /$![a Nf=f)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps 2/opt/alt/python313/lib64/python3.13/ctypes/_aix.py _num_version#_last_version.._num_version>sa c"  As599;/0% y    s7A A,+A,)key)maxreversed)libnamesrrs ` r _last_versionr=s ! x!| 44cSnURH6nURS5(aUnMSU;dM%URS5s $ g)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr+JsGI ??- . .I _##D) )  r c/nURH3n[R"SU5(aURU5 M2 U$ U$)Nz[0-9])r%rematchappend)r(infor*s rget_ld_header_infor1TsE D 88GT " " KK   K  Kr c /n[SS[3SU/S[[S9n[ U5=n(a0UR U[ U545 [ U5=n(aM0URR5 UR5 U$)Nz /usr/bin/dumpz-Xz-HT)universal_newlinesr%stderr) rAIX_ABIr r r+r/r1r%closewait)file ldr_headersr(r)s rget_ld_headersr:asK "WId;W >A%Q' ') 'I'9!'<=>%Q' ') 'HHNNFFH r ct/nUH/up#SU;dM URX"RS5S5 M1 U$)N[)r/index) ld_headerssharedr*_s r get_sharedrBus>F  $; MM$zz#r2 3  Mr c^STS3m[[SU4SjU555n[U5S:XaUSRS5$g)Nz\[(z)\]c3R># UHn[R"TU5v M g7f)N)r-search).0r*exprs r get_one_match..s I544!6!65s$'r)listfilterlengroup)rGlinesmatchess` r get_one_matchrQsN $s D6$ I5 IJKG 7|qqz""r c[S:XaSn[X5nU(aU$gSH.n[[R"U5U5nU(dM,Us $ g)N@z shr4?_?64\.o)zshr.ozshr4.o)r5rQr-escape)membersrGmembernames r get_legacyrXs["}t- M   (D"299T?G>#&Z(G D::<?Dd{ 30  Or cUHnUS:XaM SUS3n[R"X#5n[R"U5(dMD[[ U55n[ [ R"U5U5nUbX64s $ g g)N/librZz.a)NN)rjoinexistsrBr:rar-rT)pathsrWdirbasearchiverUrVs r find_sharedrss} &= TF"~))C& ;;w   !89G $9F!~%# r c[5n[X5up#UbUSUS3$SUS3nUH@nUS:XaM [R"XT5n[R"U5(dM>Us $ g)N()rZz.sorl)rjrsrrmrn)rWrhrqrVsonamerpshlibs r find_libraryrysz"~H 0NT q""4&_F &=  #& ;;u  M  r ) __author__r-osrrsysrctypesrr subprocessrr r r5r rr+r1r:rBrQrXr_rarjrsryr rrsr^5 #++  Q  5 ( .$L#842(r PK!,:00 __pycache__/_aix.cpython-313.pycnu[ Ki0SrSrSSKrSSKJrJr SSKJr SSKJ r J r SSK J r J r Jr \ "\ 5S-rSS KJr S rS rS rS rSrSrSrSrSrSrSrSrg)a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizec6^U4Sjn[[U5US9$)Nc>URT5n/nU(a2URS[UR555 U(aM2U=(d [ /$![a Nf=f)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps 2/opt/alt/python313/lib64/python3.13/ctypes/_aix.py _num_version#_last_version.._num_version>sa c"  As599;/0% y    s7A A,+A,)key)maxreversed)libnamesrrs ` r _last_versionr=s ! x!| 44cSnURH6nURS5(aUnMSU;dM%URS5s $ g)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr+JsGI ??- . .I _##D) )  r c/nURH3n[R"SU5(aURU5 M2 U$ U$)Nz[0-9])r%rematchappend)r(infor*s rget_ld_header_infor1TsE D 88GT " " KK   K  Kr c /n[SS[3SU/S[[S9n[ U5=n(a0UR U[ U545 [ U5=n(aM0URR5 UR5 U$)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)universal_newlinesr%stderr) rAIX_ABIr r r+r/r1r%closewait)file ldr_headersr(r)s rget_ld_headersr:asK "WId;W >A%Q' ') 'I'9!'<=>%Q' ') 'HHNNFFH r ct/nUH/up#SU;dM URX"RS5S5 M1 U$)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r/index) ld_headerssharedr*_s r get_sharedrBus>F  $; MM$zz#r2 3  Mr c^STS3m[[SU4SjU555n[U5S:XaUSRS5$g)zm Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3R># UHn[R"TU5v M g7f)N)r-search).0r*exprs r get_one_match..s I544!6!65s$'r)listfilterlengroup)rGlinesmatchess` r get_one_matchrQsN $s D6$ I5 IJKG 7|qqz""r c[S:XaSn[X5nU(aU$gSH.n[[R"U5U5nU(dM,Us $ g)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r5rQr-escape)membersrGmembernames r get_legacyrXs["}t- M   (D"299T?G>#&Z(G D::<?Dd{ 30  Or cUHnUS:XaM SUS3n[R"X#5n[R"U5(dMD[[ U55n[ [ R"U5U5nUbX64s $ g g)z paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librZz.a)NN)rjoinexistsrBr:rar-rT)pathsrWdirbasearchiverUrVs r find_sharedrss} &= TF"~))C& ;;w   !89G $9F!~%# r c[5n[X5up#UbUSUS3$SUS3nUH@nUS:XaM [R"XT5n[R"U5(dM>Us $ g)aAIX implementation of ctypes.util.find_library() Find an archive member that will dlopen(). If not available, also search for a file (or link) with a .so suffix. AIX supports two types of schemes that can be used with dlopen(). The so-called SystemV Release4 (svr4) format is commonly suffixed with .so while the (default) AIX scheme has the library (archive) ending with the suffix .a As an archive has multiple members (e.g., 32-bit and 64-bit) in one file the argument passed to dlopen must include both the library and the member names in a single string. find_library() looks first for an archive (.a) with a suitable member. If no archive+member pair is found, look for a .so file. N()rZz.sorl)rjrsrrmrn)rWrhrqrVsonamerpshlibs r find_libraryrysz"~H 0NT q""4&_F &=  #& ;;u  M  r )__doc__ __author__r-osrrsysrctypesrr subprocessrr r r5r rr+r1r:rBrQrXr_rarjrsryr rrsw-\5 #++  Q  5 ( .$L#842(r PK!,:00&__pycache__/_aix.cpython-313.opt-1.pycnu[ Ki0SrSrSSKrSSKJrJr SSKJr SSKJ r J r SSK J r J r Jr \ "\ 5S-rSS KJr S rS rS rS rSrSrSrSrSrSrSrSrg)a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizec6^U4Sjn[[U5US9$)Nc>URT5n/nU(a2URS[UR555 U(aM2U=(d [ /$![a Nf=f)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps 2/opt/alt/python313/lib64/python3.13/ctypes/_aix.py _num_version#_last_version.._num_version>sa c"  As599;/0% y    s7A A,+A,)key)maxreversed)libnamesrrs ` r _last_versionr=s ! x!| 44cSnURH6nURS5(aUnMSU;dM%URS5s $ g)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr+JsGI ??- . .I _##D) )  r c/nURH3n[R"SU5(aURU5 M2 U$ U$)Nz[0-9])r%rematchappend)r(infor*s rget_ld_header_infor1TsE D 88GT " " KK   K  Kr c /n[SS[3SU/S[[S9n[ U5=n(a0UR U[ U545 [ U5=n(aM0URR5 UR5 U$)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)universal_newlinesr%stderr) rAIX_ABIr r r+r/r1r%closewait)file ldr_headersr(r)s rget_ld_headersr:asK "WId;W >A%Q' ') 'I'9!'<=>%Q' ') 'HHNNFFH r ct/nUH/up#SU;dM URX"RS5S5 M1 U$)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r/index) ld_headerssharedr*_s r get_sharedrBus>F  $; MM$zz#r2 3  Mr c^STS3m[[SU4SjU555n[U5S:XaUSRS5$g)zm Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3R># UHn[R"TU5v M g7f)N)r-search).0r*exprs r get_one_match..s I544!6!65s$'r)listfilterlengroup)rGlinesmatchess` r get_one_matchrQsN $s D6$ I5 IJKG 7|qqz""r c[S:XaSn[X5nU(aU$gSH.n[[R"U5U5nU(dM,Us $ g)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r5rQr-escape)membersrGmembernames r get_legacyrXs["}t- M   (D"299T?G>#&Z(G D::<?Dd{ 30  Or cUHnUS:XaM SUS3n[R"X#5n[R"U5(dMD[[ U55n[ [ R"U5U5nUbX64s $ g g)z paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librZz.a)NN)rjoinexistsrBr:rar-rT)pathsrWdirbasearchiverUrVs r find_sharedrss} &= TF"~))C& ;;w   !89G $9F!~%# r c[5n[X5up#UbUSUS3$SUS3nUH@nUS:XaM [R"XT5n[R"U5(dM>Us $ g)aAIX implementation of ctypes.util.find_library() Find an archive member that will dlopen(). If not available, also search for a file (or link) with a .so suffix. AIX supports two types of schemes that can be used with dlopen(). The so-called SystemV Release4 (svr4) format is commonly suffixed with .so while the (default) AIX scheme has the library (archive) ending with the suffix .a As an archive has multiple members (e.g., 32-bit and 64-bit) in one file the argument passed to dlopen must include both the library and the member names in a single string. find_library() looks first for an archive (.a) with a suitable member. If no archive+member pair is found, look for a .so file. N()rZz.sorl)rjrsrrmrn)rWrhrqrVsonamerpshlibs r find_libraryrysz"~H 0NT q""4&_F &=  #& ;;u  M  r )__doc__ __author__r-osrrsysrctypesrr subprocessrr r r5r rr+r1r:rBrQrXr_rarjrsryr rrsw-\5 #++  Q  5 ( .$L#842(r PK!^J J )__pycache__/_endian.cpython-313.opt-2.pycnu[ Ki LSSKrSSKJrJrJr \"\5rSr"SS5r"SS\\"\55r "SS \\"\55r \RS :XaS r \r "S S \\ S9r\r"SS\\ S9rg\RS:XaSr \r"SS\\ S9r \r"SS\\ S9rg\"S5e)N)Array StructureUnionc[U[5(a[U[5$[U[5(a"[ UR 5UR-$[U[[45(aU$[SU-5e)Nz+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclassrr TypeError)typs 5/opt/alt/python313/lib64/python3.13/ctypes/_endian.pyr r sksM""sM**#{##SZZ(3<<77# 5)** ACG HHc(^\rSrSrU4SjrSrU=r$) _swapped_metac>US:Xa;/nUH1nUSnUSnUSSnURU[U54U-5 M3 Un[TU] X5 g)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rr_swapped_meta.__setattr__sf z !FAw1gABx t]3%784?@  E H,r)__name__ __module__ __qualname____firstlineno__r__static_attributes__ __classcell__)r%s@rrrs  - -rrc\rSrSrSrg)_swapped_struct_meta"r'Nr(r)r*r+r,r'rrr/r/"sDrr/c\rSrSrSrg)_swapped_union_meta#r'Nr1r'rrr3r3#strr3little __ctype_be__c\rSrSrSrSrSrg)BigEndianStructure0r'Nr(r)r*r+ __slots___swappedbytes_r,r'rrr8r80  rr8) metaclassc\rSrSrSrSrSrg)BigEndianUnion7r'Nr:r'rrr@r@7r=rr@big __ctype_le__c\rSrSrSrSrSrg)LittleEndianStructureAr'Nr:r'rrrErEAr=rrEc\rSrSrSrSrSrg)LittleEndianUnionHr'Nr:r'rrrHrHHr=rrHzInvalid byteorder)sysctypesrrrtyper r rr/r3 byteorderrrEr8rHr@ RuntimeErrorr'rrrOs **5k I" - -A=$y/@;-e;==H"M%Y2F *=  ]]e"M" 5I NE-@ * ++rPK!f""*__pycache__/wintypes.cpython-313.opt-1.pycnu[ Ki SSKr\Rr\Rr\R r\Rr\Rr \Rr \Rr\Rr\R"r\r\R(r"SS\R,5r\R r\R(r\Rr\R6r\R:=rr\R@=r!r"\RF=r$=r%r&\RF=r'r(\RR=r*r+\RX=r-r.\R^"\R(5\R^"\RX5:Xa\R r0\R(r1OR\R^"\R:5\R^"\RX5:Xa\R@r0\R:r1\r2\r3\r4\r5\r6\r7\RXr8\8r9\8r:\8r;\8r<\8r=\8r>\8r?\8r@\8rA\8rB\8rC\8rD\8rE\8rF\8rG\8rH\8rI\8rJ\8rK\8rL\8rM\8rN\8rO\8rP\8rQ\8rR\8rS\8rT\8rU\8rV\8rW"SS\R5rY\Y=rZ=r[r\"SS\R5r]\]r^"SS \R5r_"S S \R5r`\`=ra=rbrc"S S \R5rd\d=rerfSrg"SS\R5rh\hri"SS\R5rj\jrkSrl"SS\R5rm"SS\R5rn\R"\5=rprq\R"\5rr\R"\5=rsrt\R"\5ru\R"\45rv\R"\5=rwrx\R"\h5=ryrz\R"\5r{\R"\85=r|r}\R"\G5r~\R"\H5r\R"\5=rr\R"\5r\R"\75r\R"\5=rr\R"\j5=rr\R"\`5=rr\R"\c5r\R"\Y5=rr\R"\\5=rr\R"\V5r\R"\5r\R"\d5=rr\R"\f5=rr\R"\^5r\R"\ 5=rr\R"\"5r\R"\5r\R"\5r\R"\ 5r\R"\m5=rr\R"\n5=rr\R"\5=rrg)Nc\rSrSrSrSrSrg) VARIANT_BOOLvcRURR<SUR<S3$)N()) __class____name__value)selfs 6/opt/alt/python313/lib64/python3.13/ctypes/wintypes.py__repr__VARIANT_BOOL.__repr__s>>22DJJ??N)r __module__ __qualname____firstlineno___type_r__static_attributes__rrrrrs F@rrc0\rSrSrS\4S\4S\4S\4/rSrg)RECTalefttoprightbottomrNr rrrLONG_fields_rrrrrras& $4 "Hrrc0\rSrSrS\4S\4S\4S\4/rSrg) _SMALL_RECThLeftTopRightBottomrNr rrrSHORTr!rrrrr#r#hs'% 5!#Hrr#c$\rSrSrS\4S\4/rSrg)_COORDoXYrNr)rrrr,r,ose e Hrr,c$\rSrSrS\4S\4/rSrg)POINTsxyrNrrrrr1r1ssd d Hrr1c$\rSrSrS\4S\4/rSrg)SIZExcxcyrNrrrrr6r6xst t Hrr6cXS--US--$)Nr)redgreenblues rRGBr@}s 1*  ,,rc$\rSrSrS\4S\4/rSrg)FILETIME dwLowDateTimedwHighDateTimerN)r rrrDWORDr!rrrrrBrBs %(!5)+HrrBc<\rSrSrS\4S\4S\4S\4S\4S\ 4/r Sr g ) MSGhWndmessagewParamlParamtimeptrN) r rrrHWNDUINTWPARAMLPARAMrFr1r!rrrrrHrHs6D!6"6"u HrrHic `\rSrSrS\4S\4S\4S\4S\4S\4S\4S \4S \\-4S \S -4/ rS r g)WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNamerN) r rrrrFrBCHARMAX_PATHr!rrrrrUrUsa#U+!8,#X."H- %('&&dXo.%tby1 3HrrUc `\rSrSrS\4S\4S\4S\4S\4S\4S\4S \4S \\-4S \S -4/ rS r g)WIN32_FIND_DATAWrWrXrYrZr[r\r]r^r_r`rarN) r rrrrFrBWCHARrcr!rrrrreresb#U+!8,#X."H- %('&&eh./%urz2 4Hrre)ctypesc_ubyteBYTEc_ushortWORDc_ulongrFc_charrbc_wcharrgc_uintrQc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGr USHORTc_shortr* c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrRrSATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArP SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr# SMALL_RECTr,r1tagPOINT_POINTLPOINTLr6tagSIZESIZELr@rB _FILETIMErHtagMSGrcrUrePOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrrrsU  ~~ }} }} ll   }}@6&&@  }} "(!2!22#)#5#55. & 0 00 0Hv###& ??"& ==6==#AA ^^F ]]F ]]6$$%v)GG   F   F                                 "6  "  &5#&""#  V  F  $##7V6  %-+v+  &     3v'' 3 4v'' 4%% >>' "%%t ^^H % >>%((&11 Y  ^^F++7ts~~c"" .t%%~~c"">>%((& .. %%>>%((&nnY'  %%>>%((&nnZ( %%..0   ..   )/8H)II&)/8H)II&%%rPK!NzlClC __pycache__/util.cpython-313.pycnu[ Ki7@SSKrSSKrSSKrSSKr\RS:Xa SrSrSrO\RS:Xa\RS;a SSK J r S rO\RRS 5(aSS K Jr O\RS :XaS rO~\RS:XanSSKrSSKrSrSr\RS:XaSrOSr\RRS5(aSrSrO"\RS:Xa SrSSjrO SrSrSrSr\S:Xa\"5 gg)Nntc8Sn[RRU5nUS:XagU[U5-n[RUSR SS5up#[ USS5S- nUS:aUS- n[ US S 5S - nUS:XaS nUS:aXE-$g) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions 2/opt/alt/python313/lib64/python3.13/ctypes/util.py_get_build_versionr s KK  V $ 7 F O++ab/''Q/1Sb6{Q 2  A L1Qq6{T) 1 L 1 . .c[5nUcgUS::aSnOUS::a SUS--nOgSSKnSURR;aUS - nUS -$) z%Return the name of the VC runtime dllNrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sd$& ? a<H ] GbL1H # y**== = OHrcUS;a [5$[RSR[R5Hn[R R X5n[R RU5(aUs $UR5RS5(aMpUS-n[R RU5(dMUs $ g)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswithname directoryfnames r find_libraryr77s : = F+11"**=IGGLL1Eww~~e$$ {{}%%f--FNEww~~e$$ >rposix>iostvosdarwinwatchos) dyld_findctSU-SU-U<SU<3/nUHn[U5s $ g![a M!f=f)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r4possibles rr7r7HsV!D(%)-t46D !$''   s ) 77aix)r7androidcSnS[R"5R;aUS- nUSUS3n[RR U5(aU$S$)Nz /system/lib64z/libz.so)r+unamemachiner.r0r3s rr7r7]sT! 288:%% %  I+T$s+u--u747rcSn[US5nURS5U:HsSSS5 $!,(df  g=f![a gf=f)z,Return True if the given file is an ELF filesELFbrNF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrQisE  h%||A*4&%%   s# ?. ? <?? A  A c[R"S[R"U5-5n[R "S5nU(d[R "S5nU(dg[ R"5nUSSURSU-/n[[R5nSUS'SUS '[R"U[R[RUS 9nU UR$R'5nSSS5 UR!5 [R("UW5nU(dgUH+n [+U 5(dM[R,"U 5s $ g![a$ UR!5 g!["a gf=ff=f!,(df  N=f!["a Nf=f!UR!5 f!["a ff=f=f) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler4dictr, subprocessPopenPIPESTDOUTOSErrorcloserMr[rLfindallrQfsdecode) r4expr c_compilertempargsr]proctraceresfiles r _findLib_gccrvrs {{9BIIdOKL\\%( d+J**, $ 4$;GDrzz"CCMCK !''/9/9/@/@,/1  ((*  jju%D4==;;t$ $    $    %    $  s?7G73E1*G,F"GF31 F;G=F FFFG" F0,G3 G?GG&GG& G# G&"G##G&sunos5cU(dg[R"SSU4[R[RS9nU UR R 5nSSS5 [R"SW5nU(dg[R"URS55$![a gf=f!,(df  Nb=f)Nz/usr/ccs/bin/dumpz-Lpvr[r\s\[.*\]\sSONAME\s+([^\s]+)r) rfrgrhDEVNULLrjr[rLr_searchr+rmgroup)frrdatarts r _get_sonamers !'') \S*/(libz\.\S+))/sbin/ldconfigz-rryr)keyr)r_r`r+r^rfrgrhrzr[rLrjrlrrvsortrrm)r4enamernrrr~rts rr7r7sIIdOE8=uED;;t$D .!''(@/9/9/A/AC ;;++-D**T4(C"<#566 HHH &;;s2w' 'T  s2C?-C.. C<? D Dc[RRS5(dg[[R5nSUS'U(aSnOSnSn[ R "U[ R[ RUS9nU URHRnUR5nURS5(dM+[R"U5R5SnMT SSS5 U(dgURS 5HNn[RRUS U-5n[RRU5(dMLUs $ g![a gf=f!,(df  N=f) N /usr/bin/crlerWrX)r-64)rrZsDefault Library Path (ELF):rJ:zlib%s.so)r+r.existsrer,rfrgrhrzrjr[strip startswithrmrr/) r4is64r]rqpathsrrlinedirlibfiles r _findLib_crlers%77>>/22rzz"CCM/)E !''/9/9/A/A,/1  KKD::77>>'**"N( !  s$3E4E/+E/ E,+E,/ E=cN[[X5=(d [U55$N)rrrv)r4rs rr7r7s}T8NL,6,>,>-7-?-?-7__58#*F HLM))E88==?;C!{{399Q<8HH  HHH  s8+AE12AE  E1E1 E.*E1.E11 E>=E>cS[R"U5-nSS/n[RR S5nU(a+UR S5HnUR SU/5 M UR S[RSU-/5 Sn[R"U[R[RS S 9nUR5upx[R"U[R"U55n U H+n [U 5(dM[R"U 5s $ U$![a U$f=f) NrSldz-tLD_LIBRARY_PATHrz-LrVz-l%sT)r[r\universal_newlines)r_r`r+r,rrextenddevnullrfrgrh communicaterlrmrQ Exception) r4rncmdlibpathrresultrout_rtrus r _findLib_ldr8s 1BIIdOCD,Cjjnn%67G s+AJJay), JJbjj&4-8 9F $$S,6OO8<>jjr{{3'78D#4== ;;t,,  M M sBD:6D:: EEc[U5=(d/ [[U55=(d [[U55$r)rrrvr)r4s rr7r7Ss6'-U|D12U6A+dBS6T UrcSSKJn [RS:XaC[ UR 5 [ UR S55 [ [S55 [RS:XGak[ [S55 [ [S55 [ [S55 [RS :Xai[ URS 55 [ URS 55 [ URS 55 [ URS 55 g[RRS5(GaDSSKJ n [RS:ao[ SU"S[R535 [ SURS535 [ [S55 [ URS55 O@[ SU"S[R535 [ SURS535 [ S[S535 [ SUR[S5535 [ S[S535 [ SUR[S5535 g[ URS55 [ URS55 [ [S55 gg)Nr)cdllrrr8r)r(bz2r;z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/SystemrB)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r4printrloadr7r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestr[s( ww$ dkk dii!" l8$% ww' l3  l3  l5!" <<8 # $""<0 1 $""#45 6 $""#45 6 $""#<= > \\ $ $U + + #{{U":4QSQ_Q_;`:abc243C3CO3T2UVWl5)*d&&{34:4@RTVTbTb;c:def243C3CDV3W2XYZ J|G456 7 Jt// W0EFGH I K X 678 9 K 0 0h1G HIJ K $""9- . $""=1 2 ,w' (?r__main__)F)r+rarfr r4rr&r7rctypes.macholib.dyldr=r?r ctypes._aixr_rcrQrvrrrrrr__name__rrrs  77d?2* WWCLL,PP<  \\U##)\\Y8WW/%d ||x -" -, ||BCC ) (*  !" H P  < 6 U&)P zFrPK!f""*__pycache__/wintypes.cpython-313.opt-2.pycnu[ Ki SSKr\Rr\Rr\R r\Rr\Rr \Rr \Rr\Rr\R"r\r\R(r"SS\R,5r\R r\R(r\Rr\R6r\R:=rr\R@=r!r"\RF=r$=r%r&\RF=r'r(\RR=r*r+\RX=r-r.\R^"\R(5\R^"\RX5:Xa\R r0\R(r1OR\R^"\R:5\R^"\RX5:Xa\R@r0\R:r1\r2\r3\r4\r5\r6\r7\RXr8\8r9\8r:\8r;\8r<\8r=\8r>\8r?\8r@\8rA\8rB\8rC\8rD\8rE\8rF\8rG\8rH\8rI\8rJ\8rK\8rL\8rM\8rN\8rO\8rP\8rQ\8rR\8rS\8rT\8rU\8rV\8rW"SS\R5rY\Y=rZ=r[r\"SS\R5r]\]r^"SS \R5r_"S S \R5r`\`=ra=rbrc"S S \R5rd\d=rerfSrg"SS\R5rh\hri"SS\R5rj\jrkSrl"SS\R5rm"SS\R5rn\R"\5=rprq\R"\5rr\R"\5=rsrt\R"\5ru\R"\45rv\R"\5=rwrx\R"\h5=ryrz\R"\5r{\R"\85=r|r}\R"\G5r~\R"\H5r\R"\5=rr\R"\5r\R"\75r\R"\5=rr\R"\j5=rr\R"\`5=rr\R"\c5r\R"\Y5=rr\R"\\5=rr\R"\V5r\R"\5r\R"\d5=rr\R"\f5=rr\R"\^5r\R"\ 5=rr\R"\"5r\R"\5r\R"\5r\R"\ 5r\R"\m5=rr\R"\n5=rr\R"\5=rrg)Nc\rSrSrSrSrSrg) VARIANT_BOOLvcRURR<SUR<S3$)N()) __class____name__value)selfs 6/opt/alt/python313/lib64/python3.13/ctypes/wintypes.py__repr__VARIANT_BOOL.__repr__s>>22DJJ??N)r __module__ __qualname____firstlineno___type_r__static_attributes__rrrrrs F@rrc0\rSrSrS\4S\4S\4S\4/rSrg)RECTalefttoprightbottomrNr rrrLONG_fields_rrrrrras& $4 "Hrrc0\rSrSrS\4S\4S\4S\4/rSrg) _SMALL_RECThLeftTopRightBottomrNr rrrSHORTr!rrrrr#r#hs'% 5!#Hrr#c$\rSrSrS\4S\4/rSrg)_COORDoXYrNr)rrrr,r,ose e Hrr,c$\rSrSrS\4S\4/rSrg)POINTsxyrNrrrrr1r1ssd d Hrr1c$\rSrSrS\4S\4/rSrg)SIZExcxcyrNrrrrr6r6xst t Hrr6cXS--US--$)Nr)redgreenblues rRGBr@}s 1*  ,,rc$\rSrSrS\4S\4/rSrg)FILETIME dwLowDateTimedwHighDateTimerN)r rrrDWORDr!rrrrrBrBs %(!5)+HrrBc<\rSrSrS\4S\4S\4S\4S\4S\ 4/r Sr g ) MSGhWndmessagewParamlParamtimeptrN) r rrrHWNDUINTWPARAMLPARAMrFr1r!rrrrrHrHs6D!6"6"u HrrHic `\rSrSrS\4S\4S\4S\4S\4S\4S\4S \4S \\-4S \S -4/ rS r g)WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNamerN) r rrrrFrBCHARMAX_PATHr!rrrrrUrUsa#U+!8,#X."H- %('&&dXo.%tby1 3HrrUc `\rSrSrS\4S\4S\4S\4S\4S\4S\4S \4S \\-4S \S -4/ rS r g)WIN32_FIND_DATAWrWrXrYrZr[r\r]r^r_r`rarN) r rrrrFrBWCHARrcr!rrrrreresb#U+!8,#X."H- %('&&eh./%urz2 4Hrre)ctypesc_ubyteBYTEc_ushortWORDc_ulongrFc_charrbc_wcharrgc_uintrQc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGr USHORTc_shortr* c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrRrSATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArP SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr# SMALL_RECTr,r1tagPOINT_POINTLPOINTLr6tagSIZESIZELr@rB _FILETIMErHtagMSGrcrUrePOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrrrsU  ~~ }} }} ll   }}@6&&@  }} "(!2!22#)#5#55. & 0 00 0Hv###& ??"& ==6==#AA ^^F ]]F ]]6$$%v)GG   F   F                                 "6  "  &5#&""#  V  F  $##7V6  %-+v+  &     3v'' 3 4v'' 4%% >>' "%%t ^^H % >>%((&11 Y  ^^F++7ts~~c"" .t%%~~c"">>%((& .. %%>>%((&nnY'  %%>>%((&nnZ( %%..0   ..   )/8H)II&)/8H)II&%%rPK!M  )__pycache__/_endian.cpython-313.opt-1.pycnu[ Ki LSSKrSSKJrJrJr \"\5rSr"SS5r"SS\\"\55r "SS \\"\55r \RS :XaS r \r "S S \\ S9r\r"SS\\ S9rg\RS:XaSr \r"SS\\ S9r \r"SS\\ S9rg\"S5e)N)Array StructureUnionc[U[5(a[U[5$[U[5(a"[ UR 5UR-$[U[[45(aU$[SU-5e)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclassrr TypeError)typs 5/opt/alt/python313/lib64/python3.13/ctypes/_endian.pyr r sksM""sM**#{##SZZ(3<<77# 5)** ACG HHc(^\rSrSrU4SjrSrU=r$) _swapped_metac>US:Xa;/nUH1nUSnUSnUSSnURU[U54U-5 M3 Un[TU] X5 g)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rr_swapped_meta.__setattr__sf z !FAw1gABx t]3%784?@  E H,r)__name__ __module__ __qualname____firstlineno__r__static_attributes__ __classcell__)r%s@rrrs  - -rrc\rSrSrSrg)_swapped_struct_meta"r'Nr(r)r*r+r,r'rrr/r/"sDrr/c\rSrSrSrg)_swapped_union_meta#r'Nr1r'rrr3r3#strr3little __ctype_be__c \rSrSrSrSrSrSrg)BigEndianStructure0z$Structure with big endian byte orderr'Nr(r)r*r+__doc__ __slots___swappedbytes_r,r'rrr8r80s2 rr8) metaclassc \rSrSrSrSrSrSrg)BigEndianUnion7z Union with big endian byte orderr'Nr:r'rrr@r@7s. rr@big __ctype_le__c \rSrSrSrSrSrSrg)LittleEndianStructureAz'Structure with little endian byte orderr'Nr:r'rrrErEAs5 rrEc \rSrSrSrSrSrSrg)LittleEndianUnionHz#Union with little endian byte orderr'Nr:r'rrrHrHHs1 rrHzInvalid byteorder)sysctypesrrrtyper r rr/r3 byteorderrrEr8rHr@ RuntimeErrorr'rrrOs **5k I" - -A=$y/@;-e;==H"M%Y2F *=  ]]e"M" 5I NE-@ * ++rPK!~RJZZ*__pycache__/__init__.cpython-313.opt-2.pycnu[ Ki1L SSKrSSKrSSKrSSKrSrSSK J r J r J r SSK J r SSK Jr SSK Jr SSK JrJr SSK Jr SS K Jr SS KJr \\:wa \"S \\5e\R2S :XaSS K Jr \r\R2S:XaI\R8S:Xa9\"\R<"5R>RAS5S5S:a\rSSK J!r"J#r$J%r&J'r( SoSjr)\)r*0r+Sr,\R2S :XaDSSK J-r. SSK J/r0 0r1Sr2\2Rf(a!\,RfRiSS5\2l3O\R2S:XaSSK J5r6 SSK J7r7J8r8J9r9J:r:J;r; SSK Jr> SoSjr?"SS \>5r@\?"\@S!5 "S"S#\>5rA\?"\A5 "S$S%\>5rB\?"\B5 "S&S'\>5rC\?"\C5 "S(S)\>5rD\?"\D5 \"S*5\"S+5:Xa\CrE\DrFO&"S,S-\>5rE\?"\E5 "S.S/\>5rF\?"\F5 "S0S1\>5rG\?"\G5 "S2S3\>5rH\?"\H5 "S4S5\>5rI\7"\I5\7"\H5:Xa\HrI\"S+5\"S65:Xa\CrJ\DrKO&"S7S8\>5rJ\?"\J5 "S9S:\>5rK\?"\K5 "S;S<\>5rL\L=\LlM\LlN\?"\L5 "S=S>\>5rO\O=\OlM\OlN\?"\O5 "S?S@\>5rP\P=\PlM\PlN\?"\P5 "SASB\>5rQ\?"\QS!5 "SCSD\>5rR\RrS\?"\R5 "SESF\>5rTSSGK JUrUJVrVJWrW "SHSI\>5rX"SJSK\>5rYSLrZSoSMjr[SNr\SOr]"SPSQ\^5r_"SRSS\_5r`\R2S :Xa)"STSU\_5raSSVK JbrbJ>r> "SWSX\>5rc"SYSZ\_5rd"S[S\\^5re\e"\_5rf\e"\`5rg\R2S :Xa\`"S]S\R5riO1\R8S^;a\`"\R"S_55riO\`"S5ri\R2S :Xa3\e"\a5rk\e"\d5rl\kRRrnSS`K JoroJprp SpSajrq\7"\F5\7"\R5:Xa\Frr\ErsO-\7"\D5\7"\R5:Xa\Drr\CrsO\7"\K5\7"\R5:Xa\Krr\JrsSSbK JtrtJuruJvrvJwrw \,"\R\R\R\r5"\t5rx\,"\R\R\E\r5"\u5ryScrz\z"\@\R\@\@5"\w5r{Sdr|\z"\@\R\E5"\v5r}SqSejr~SSfK Jr \z"\@\R\E5"\5rSqSgjr\R2S :XaShrSirSSjKJrJr SSkKJrJr \Or\Lr\A\E\C\J4H3r\7"\5Sl:Xa\rM\7"\5Sm:Xa\rM#\7"\5S:XdM1\rM5 \B\F\D\K4H3r\7"\5Sl:Xa\rM\7"\5Sm:Xa\rM#\7"\5S:XdM1\rM5 C\S:Xa\rO\Sm:Xa\rO \"Sn\<35e\Z"5 g!\a Nf=f)rNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError) SIZEOF_TIME_TcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORc@[U[5(a@Uc[U5S-n[R"SX5 [ U-nU"5nXlU$[U[5(a*[R"SSU5 [ U-nU"5nU$[U5e)Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs 6/opt/alt/python313/lib64/python3.13/ctypes/__init__.pycreate_string_bufferr*3s $ <t9Q;D 0$=4-i  D#   0$=4-i D/cX^^^[mURSS5(a T[-mURSS5(a T[-mU(a[ SUR 5-5e[ TTT4$![a Of=f"UUU4SjS[5nU[ TTT4'U$)N use_errnoFuse_last_error!unexpected keyword argument(s) %sc(>\rSrSrYrYrYrSrg) CFUNCTYPE..CFunctionTypehN__name__ __module__ __qualname____firstlineno__ _argtypes_ _restype__flags___static_attributes__argtypesflagsrestypesr) CFunctionTyper1hs  r+rA) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r@r>kwrAr?s`` @r) CFUNCTYPErLKs E vvk5!! $$ vv&& (( \rSrSrYrYrYrSrg)$WINFUNCTYPE..WinFunctionTyper3Nr4r=sr)WinFunctionTyperRs!JIGr+rT) _FUNCFLAG_STDCALLrCrDrErFrG_win_functype_cacherIrJ)r@r>rKrTr?s`` @r) WINFUNCTYPErWts! 66+u % % ( (E 66"E * * , ,E @2779LM M &5'AB B     i ;JWh67rMrLrW)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatac|SSKJn Uc URn[U5U"U5pCX4:wa[ SXU4-5eg)Nrr z"sizeof(%s) wrong: %d instead of %d)structr_type_rY SystemError)typtypecoderactualrequireds r) _check_sizerisN ::c{HX$6H >123 3r+c,^\rSrSrSrU4SjrSrU=r$) py_objectOcr>[TU]5$![a S[U5R-s$f=f)Nz %s())super__repr__rFtyper5)self __class__s r)rppy_object.__repr__s: 67#% % 6$t*"5"55 5 6s "66r3)r5r6r7r8rcrpr< __classcell__)rss@r)rkrks F66r+rkPc\rSrSrSrSrg)c_shorthr3Nr5r6r7r8rcr<r3r+r)rxrx Fr+rxc\rSrSrSrSrg)c_ushortHr3Nr{r3r+r)r~r~r|r+r~c\rSrSrSrSrg)c_longlr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_ulongLr3Nr{r3r+r)rrr|r+rirc\rSrSrSrSrg)c_intrr3Nr{r3r+r)rrr+rc\rSrSrSrSrg)c_uintIr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg)c_floatfr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_doubledr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg) c_longdoublegr3Nr{r3r+r)rrr|r+rqc\rSrSrSrSrg) c_longlongrr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg) c_ulonglongQr3Nr{r3r+r)rrrr+rc\rSrSrSrSrg)c_ubyteBr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_bytebr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)r cr3Nr{r3r+r)r r r|r+r c\rSrSrSrSrSrg)c_char_pzcxURR<S[RU5R<S3$N()rsr5c_void_p from_bufferr!rrs r)rpc_char_p.__repr__(>>22H4H4H4N4T4TUUr+r3Nr5r6r7r8rcrpr<r3r+r)rr FVr+rc\rSrSrSrSrg)rrvr3Nr{r3r+r)rrr|r+rc\rSrSrSrSrg)c_bool?r3Nr{r3r+r)rrr|r+r)POINTERpointer_pointer_type_cachec\rSrSrSrSrSrg) c_wchar_piZcxURR<S[RU5R<S3$rrrs r)rpc_wchar_p.__repr__rr+r3Nrr3r+r)rrrr+rc\rSrSrSrSrg)c_wchariur3Nr{r3r+r)rrr|r+rcH[R"5 [R5 [RS:Xa[ R5 [ R[[5l[R[[5l[[S'g)Nr) rclearrH_osnamerVr from_paramrrrr rr3r+r) _reset_cacher sb xx4!!#"+"6"6GG!)!4!4GFO (r+c[U[5(aiUc7[[5S:Xa[ SU55S-nO[ U5S-n[ R"SX5 [U-nU"5nXlU$[U[5(a*[ R"SSU5 [U-nU"5nU$[U5e)Nc3H# UHn[U5S:aSOSv M g7f)irrN)ord).0rs r) (create_unicode_buffer..!sE1A1Q6s "rzctypes.create_unicode_buffer) rstrrYrsumrrrr!r"r#r$s r)create_unicode_bufferrs $ <g!#EEEI4y1} 14>D.i  D#   14>D.i D/r+cSSKnURSSS9 [R"US5b [ S5e[ U5[;a [ S5eUR "U5 U[U'[[ U5 g)Nrzctypes.SetPointerType))removez%This type already exists in the cachezWhat's this???)warnings _deprecatedrget RuntimeErroridset_type)rclsrs r)SetPointerTyper3sv 0AsD)5BCC '{--+,, S&BwK(r+c X-$Nr3)rers r)ARRAYr>s 9r+c|\rSrSr\r\rSrSr Sr \ SSSS4Sjr \ RS:XaSrOS rS rS rS rS rg)CDLLiDzrNFc^^^"UUU4SjS[5nUTlU(a[R"U5nTR XX65Tlg)Nc>\rSrSrYRrYR rY(a\\-rY(a\\ -rSr gSr g)CDLL.__init__.._FuncPtri]r3N) r5r6r7r8 _func_flags_r;_func_restype_r:rDrEr<)rrr-r.sr)_FuncPtrr]s:''G++I..22r+r)rJrrfspath _load_library_handle)rrrmodehandler-r.winmoders` `` r)__init__ CDLL.__init__YsB 3 3y 3! ::d#D))$fF r+rcUc>SSKnURnUb+SU;dSU;aURU5nXER-nXlUbU$[ URU5$)Nr/\)r!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR_name _LoadLibrary)rrrrrr_nts r)rCDLL._load_librarylsh ?? # //5DDDDGJ!  G4 4r+cXU(aURS5(a{[U5n[RR [RR [ R5UR5R55nSSS5 [ RRS5(aHU(a@URS5(a*SU;a$U[R[R--nXlUbU$[X5$!,(df  N=f)Nz.fworkaixrz.a()endswithopenrpathjoindirnamer executablereadstripplatform startswith RTLD_MEMBERRTLD_NOWr_dlopen)rrrrrrrs r)rr ~s h//$Z188==((9(D }}''.. DMM#..5D=COOcll::DJ! 4& &! Zs A(D D)cSURRURUR[R S-S--[ U5[R S-S--4-$)Nz<%s '%s', handle %x at %#x>rr)rsr5rrrmaxsizerrs r)rp CDLL.__repr__sY,''a!!344DLLNQ./11 1r+cURS5(a!URS5(a [U5eURU5n[ XU5 U$)N__)rr AttributeError __getitem__setattr)rrrfuncs r) __getattr__CDLL.__getattr__sI ??4 T]]4%8%8 & &%D! r+c`URX45n[U[5(dXlU$r)rrr"r5)rrname_or_ordinalr"s r)r CDLL.__getitem__s*}}o45/3//+M r+)rrr)r5r6r7r8rBrrrrrr DEFAULT_MODErrrrrpr#r r<r3r+r)rrDsX#LN EGH".t %G$ xx4 5$ '.1 r+rc\rSrSr\\-rSrg)PyDLLir3N)r5r6r7r8rB_FUNCFLAG_PYTHONAPIrr<r3r+r)r*r*s #%88Lr+r*c\rSrSr\rSrg)WinDLLir3N)r5r6r7r8rUrr<r3r+r)r-r-s ) r+r-)_check_HRESULTr`c\rSrSrSr\rSrg)HRESULTirr3N)r5r6r7r8rcr._check_retval_r<r3r+r)r0r0s(r+r0c\rSrSr\r\rSrg)OleDLLir3N) r5r6r7r8rUrr0rr<r3r+r)r3r3s )  r+r3cP\rSrSrSrSrSrSr\"\ R5r Sr g) LibraryLoadericXlgr_dlltype)rrdlltypes r)rLibraryLoader.__init__s r+cUSS:Xa [U5eURU5n[XU5 U$![a [U5ef=f)Nr_)rr8OSErrorr!)rrrdlls r)r#LibraryLoader.__getattr__sX 7c> & & '--%C C   ' & & 's 5A c[X5$r)getattrrrrs r)r LibraryLoader.__getitem__s t""r+c$URU5$rr7rBs r)rNLibraryLoader.LoadLibrarys}}T""r+r7N) r5r6r7r8rr#r rN classmethod_types GenericAlias__class_getitem__r<r3r+r)r5r5s) ##$F$7$78r+r5z python dll)androidcygwin LDLIBRARY)get_last_errorset_last_errorcpUc [5nUc[U5R5n[SUSU5$r) GetLastErrorrrr=)codedescrs r)WinErrorrSs7 <>D =%++-EtUD$//r+) _memmove_addr _memset_addr_string_at_addr _cast_addrc0^^"UU4SjS[5nU$)Nc,>\rSrSrYrYr\\-rSr g)!PYFUNCTYPE..CFunctionTypeir3N) r5r6r7r8r9r:rBr+r;r<)r>r@sr)rArZs  !$77r+rA)rJ)r@r>rAs`` r) PYFUNCTYPEr[s88 8 r+c[XU5$r)_cast)objres r)castr_s 3 r+c[X5$r) _string_atptrr&s r) string_atrd s c  r+)_wstring_at_addrc[X5$r) _wstring_atrbs r) wstring_atrh,s3%%r+c[S[5[5S/5nURXU5$![a gf=f)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r)roro4sI =>)BigEndianStructureLittleEndianStructure)BigEndianUnionLittleEndianUnionrz)Unexpected sizeof(time_t): SIZEOF_TIME_T=r)NN))osrsysr sysconfig _sysconfigtypesrGr_ctypesrrrrrrJ_ctypes_versionr r r r rbr _calcsize Exceptionrrr(rr"unamereleasesplitrrBrr+rrDrrEr*c_bufferrHrLrNrrOrUrVrW__doc__replacerXrrYrZr[r\r]r^r_r`rirkrxr~rrrrrrrrrr __ctype_le__ __ctype_be__rr rrc_voidprrrrrrrrrrobjectrr*r-r.r0r3r5cdllpydll dllhandle pythonapiget_config_varwindlloledllkernel32rPrMrNrSc_size_t c_ssize_trTrUrVrWmemmovememsetr[r]r_rardrergrhrprorvctypes._endianrwrxryrzc_int8c_uint8kindc_int16c_int32c_int64c_uint16c_uint32c_uint64c_time_trdr3r+r)rs+ ++)2+!!(/! -{O LL88t# 88w4==H4  399;   $ $S )! ,-1" 77* "H88t3=*'//77 ]S XX)??(  36 6 Isl G| H\ Fl G S>Ys^# E F l G| H< ,6(++L S>Ys^#JK\ l  l.55w+ G\,22f) F\,22f) FV|V Hc|  H\:9V V l ): ) b6bH9D988t))5 (, (!!9F9,Te88tlD$..9I ]]++j// <=Id I88t 6 "F 6 "F??//L60 &>VH%%HI G_x((HI KF8,,HIML Hh( ;M J 8Xuh 7 E 9h 9=jI  8U 3O D ! &(Y%89IJK&88t=&E<   eVZ 0D d|qD'  dG  dG 1vw 4D d|qT(  tH  tH 5 AHaH BM3CD EE e  s3WW"!W"PK!Qf3macholib/__pycache__/__init__.cpython-311.opt-2.pycnu[ 0i dZdS)z1.0N) __version__?/opt/alt/python311/lib64/python3.11/ctypes/macholib/__init__.pyrs rPK!;d  /macholib/__pycache__/dyld.cpython-311.opt-1.pycnu[ 0i<dZddlZddlmZddlmZddlT ddlmZn#e $rdZYnwxYwgdZ ej d d d d gZ ej d dddgZdZddZddZddZddZddZddZddZddZddZddZddZdS)z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathctN)NotImplementedError)argss ;/opt/alt/python311/lib64/python3.11/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcz| tj}||}|gS|dS)N:)osenvirongetsplit)envvarrvals r dyld_envr$s7 {j 773<For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNc3K|D]C}|dr!|dtd |zdzVn||zV|VDdS)Nz.dylib)endswithlen)iteratorsuffixpaths r _injectz)dyld_image_suffix_search.._injectBsx  D}}X&& $?S]]N?+f4x?????Vm###JJJJ   r )r)r.rr/r1s r dyld_image_suffix_searchr2=s@ s # #F ~!& 799r c#BKt|}|:t|D]*}tj||dV+t |D]A}tj|tj|VBdSNname)rr rr0joinr#basename)r5r frameworkr0s r dyld_override_searchr9Ks t$$I',, 8 8D',,tYv%677 7 7 7 7"#&&99gll4!1!1$!7!788888899r c#K|dr;|;tj||t ddVdSdSdS)Nz@executable_path/) startswithrr0r6r-)r5executable_paths r dyld_executable_path_searchr=\sk *++M0Kgll?D5H1I1I1J1J,KLLLLLLLMM0K0Kr c#XK|Vt|}|s"C"C+ 8 8D',,tYv%677 7 7 7 76s;;%99gll4!1!1$!7!7888888%<. 8 8D',,tYv%677 7 7 7 7 =, = =D',,tRW%5%5d%;%;<< < < < <== = =r c Nttt||t||t |||D]I}t j|r|cS t|r|cS:#t$rYFwxYwtd|d)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/BB#D#..**    7>>$   KKK /55   "    D  *ddd< = ==s0B BBcd} t|||S#t$r }|}Yd}~nd}~wwxYw|d}|dkrt|}|dz }tj|tj|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_#FFFF ,''JRWW  l b"'**2kzk?;; < rXs 444444,,,,,,"8888888"""""""""   G-..! Gw  (((( 0000....99997777    9999"MMMM====,>>>>(s **PK!TDPP0macholib/__pycache__/dylib.cpython-311.opt-1.pycnu[ 0i>dZddlZdgZejdZdZdS)z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cft|}|sdS|S)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 rsR . 2:       r PK!fAWW-macholib/__pycache__/__init__.cpython-311.pycnu[ 0idZdZdS)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__?/opt/alt/python311/lib64/python3.11/ctypes/macholib/__init__.pyrs rPK!TDPP*macholib/__pycache__/dylib.cpython-311.pycnu[ 0i>dZddlZdgZejdZdZdS)z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cft|}|sdS|S)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 rsR . 2:       r PK!v0macholib/__pycache__/dylib.cpython-311.opt-2.pycnu[ 0i< ddlZdgZejdZdZdS)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) ch t|}|sdS|S)N)DYLIB_REmatch groupdict)filenameis_dylibs rsM . 2:       r PK!;d  )macholib/__pycache__/dyld.cpython-311.pycnu[ 0i<dZddlZddlmZddlmZddlT ddlmZn#e $rdZYnwxYwgdZ ej d d d d gZ ej d dddgZdZddZddZddZddZddZddZddZddZddZddZddZdS)z dyld emulation N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathctN)NotImplementedError)argss ;/opt/alt/python311/lib64/python3.11/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcz| tj}||}|gS|dS)N:)osenvirongetsplit)envvarrvals r dyld_envr$s7 {j 773<For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNc3K|D]C}|dr!|dtd |zdzVn||zV|VDdS)Nz.dylib)endswithlen)iteratorsuffixpaths r _injectz)dyld_image_suffix_search.._injectBsx  D}}X&& $?S]]N?+f4x?????Vm###JJJJ   r )r)r.rr/r1s r dyld_image_suffix_searchr2=s@ s # #F ~!& 799r c#BKt|}|:t|D]*}tj||dV+t |D]A}tj|tj|VBdSNname)rr rr0joinr#basename)r5r frameworkr0s r dyld_override_searchr9Ks t$$I',, 8 8D',,tYv%677 7 7 7 7"#&&99gll4!1!1$!7!788888899r c#K|dr;|;tj||t ddVdSdSdS)Nz@executable_path/) startswithrr0r6r-)r5executable_paths r dyld_executable_path_searchr=\sk *++M0Kgll?D5H1I1I1J1J,KLLLLLLLMM0K0Kr c#XK|Vt|}|s"C"C+ 8 8D',,tYv%677 7 7 7 76s;;%99gll4!1!1$!7!7888888%<. 8 8D',,tYv%677 7 7 7 7 =, = =D',,tRW%5%5d%;%;<< < < < <== = =r c Nttt||t||t |||D]I}t j|r|cS t|r|cS:#t$rYFwxYwtd|d)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/BB#D#..**    7>>$   KKK /55   "    D  *ddd< = ==s0B BBcd} t|||S#t$r }|}Yd}~nd}~wwxYw|d}|dkrt|}|dz }tj|tj|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_#FFFF ,''JRWW  l b"'**2kzk?;; < rXs 444444,,,,,,"8888888"""""""""   G-..! Gw  (((( 0000....99997777    9999"MMMM====,>>>>(s **PK!mI4macholib/__pycache__/framework.cpython-311.opt-1.pycnu[ 0iQ>dZddlZdgZejdZdZdS)z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cft|}|sdS|S)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 @/opt/alt/python311/lib64/python3.11/ctypes/macholib/framework.pyrrs6(',,X66L t  ! ! # ##)__doc__re__all__compilerrr r rsT   bj"$$$$$r PK!mI.macholib/__pycache__/framework.cpython-311.pycnu[ 0iQ>dZddlZdgZejdZdZdS)z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cft|}|sdS|S)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 @/opt/alt/python311/lib64/python3.11/ctypes/macholib/framework.pyrrs6(',,X66L t  ! ! # ##)__doc__re__all__compilerrr r rsT   bj"$$$$$r PK!Q  4macholib/__pycache__/framework.cpython-311.opt-2.pycnu[ 0iQ< ddlZdgZejdZdZdS)Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ ch t|}|sdS|S)N)STRICT_FRAMEWORK_REmatch groupdict)filename is_frameworks @/opt/alt/python311/lib64/python3.11/ctypes/macholib/framework.pyrrs;&',,X66L t  ! ! # ##)re__all__compilerrr r rsO   bj"$$$$$r PK!/macholib/__pycache__/dyld.cpython-311.opt-2.pycnu[ 0i: ddlZddlmZddlmZddlT ddlmZn#e$rdZYnwxYwgdZ ej dd d d gZ ej d d ddgZ dZddZddZddZddZddZddZddZddZddZddZddZdS)N)framework_info) dylib_info)*) _dyld_shared_cache_contains_pathctN)NotImplementedError)argss ;/opt/alt/python311/lib64/python3.11/ctypes/macholib/dyld.pyrr s!!) dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcz| tj}||}|gS|dS)N:)osenvirongetsplit)envvarrvals r dyld_envr$s7 {j 773<._injectBsx  D}}X&& $?S]]N?+f4x?????Vm###JJJJ   r )r)r.rr/r1s r dyld_image_suffix_searchr2=sCH s # #F ~!& 799r c#BKt|}|:t|D]*}tj||dV+t |D]A}tj|tj|VBdSNname)rr rr0joinr#basename)r5r frameworkr0s r dyld_override_searchr9Ks t$$I',, 8 8D',,tYv%677 7 7 7 7"#&&99gll4!1!1$!7!788888899r c#K|dr;|;tj||t ddVdSdSdS)Nz@executable_path/) startswithrr0r6r-)r5executable_paths r dyld_executable_path_searchr=\sk *++M0Kgll?D5H1I1I1J1J,KLLLLLLLMM0K0Kr c#XK|Vt|}|s"C"C+ 8 8D',,tYv%677 7 7 7 76s;;%99gll4!1!1$!7!7888888%<. 8 8D',,tYv%677 7 7 7 7 =, = =D',,tRW%5%5d%;%;<< < < < <== = =r c P ttt||t||t |||D]I}t j|r|cS t|r|cS:#t$rYFwxYwtd|d)Nzdylib z could not be found) r2chainr9r=rCrr0isfilerr ValueError)r5r<rr0s r r r ys)$T3//+D/BB#D#..**    7>>$   KKK /55   "    D  *ddd< = ==s1B BBc d} t|||S#t$r }|}Yd}~nd}~wwxYw|d}|dkrt|}|dz }tj|tj|d|} t|||d}S#t$r|wxYw#d}wxYw)N)r<rz .framework)r rGrfindr-rr0r6r7)fnr<rerrore fmwk_indexs r rrs E_#FFFF ,''JRWW  l b"'**2kzk?;; < rWs 444444,,,,,,"8888888"""""""""   G-..! Gw  (((( 0000....99997777    9999"MMMM====,>>>>(s ))PK!fAWW3macholib/__pycache__/__init__.cpython-311.opt-1.pycnu[ 0idZdZdS)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__?/opt/alt/python311/lib64/python3.11/ctypes/macholib/__init__.pyrs rPK!†)__pycache__/_endian.cpython-311.opt-1.pycnu[ 0i ddlZddlTeeZdZGddZGddeeeZGdd eee Z ej d kr(d Z eZ Gd d eeZe ZGdde e ZdSej dkr(dZ eZGddeeZ e ZGdde e ZdSed)N)*ct|trt|tSt|trt |j|jzSt|ttfr|Std|z)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclass StructureUnion TypeError)typs 5/opt/alt/python311/lib64/python3.11/ctypes/_endian.pyr r ssM""+sM***#{##8SZ((3<77# 5)** ACG H HHceZdZfdZxZS) _swapped_metac|dkrJg}|D]C}|d}|d}|dd}||t|f|zD|}t||dS)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rrz_swapped_meta.__setattr__s z ! !F A AAw1gABBx t]3%7%784?@@@@E He,,,,,r)__name__ __module__ __qualname__r __classcell__)r$s@rrrs8 - - - - - - - - -rrceZdZdS)_swapped_struct_metaNr%r&r'rrr*r*"rr*ceZdZdS)_swapped_union_metaNr+r,rrr/r/#r-rr/little __ctype_be__ceZdZdZdZdZdS)BigEndianStructurez$Structure with big endian byte orderr,Nr%r&r'__doc__ __slots___swappedbytes_r,rrr3r30s22 rr3) metaclassceZdZdZdZdZdS)BigEndianUnionz Union with big endian byte orderr,Nr4r,rrr:r:7s.. rr:big __ctype_le__ceZdZdZdZdZdS)LittleEndianStructurez'Structure with little endian byte orderr,Nr4r,rrr>r>As55 rr>ceZdZdZdZdZdS)LittleEndianUnionz#Union with little endian byte orderr,Nr4r,rrr@r@Hs11 rr@zInvalid byteorder)sysctypestypeArrayr r rrr*rr/ byteorderrr>r3r@r: RuntimeErrorr,rrrGs d5kk III" - - - - - - - -A@@@@=$$y//@@@;;;;;-e;;;=H"M%Y2F *=  ]e"M" 5I NE-@ ,* + ++rPK! ``*__pycache__/__init__.cpython-311.opt-2.pycnu[ 0iE ddlZddlZddlZdZddlmZm Z m Z ddlm Z ddlm Z ddlmZddlmZmZddlmZdd lmZeekr ed eeejd krdd lmZeZejd krGejdkr<eejjdddkreZddlmZm Z!m"Z#m$Z%dndZ&e&Z'iZ(dZ)ejd kr9ddlm*Z+ddlm,Z-iZ.dZ/e/j0r e)j01dde/_0nejd krddlm2Z+ddlm3Z3m4Z4m5Z5m6Z6m7Z7ddlm8Z8m9Z9ddlm:Z:dndZ;Gdde:Z<e;ee;e>Gd%d&e:Z?e;e?Gd'd(e:Z@e;e@ed)ed*kre?ZAe@ZBn2Gd+d,e:ZAe;eAGd-d.e:ZBe;eBGd/d0e:ZCe;eCGd1d2e:ZDe;eDGd3d4e:ZEe3eEe3eDkreDZEed*ed5kre?ZFe@ZGn2Gd6d7e:ZFe;eFGd8d9e:ZGe;eGGd:d;e:ZHeHxeH_IeH_Je;eHGd<d=e:ZKeKxeK_IeK_Je;eKGd>d?e:ZLeLxeL_IeL_Je;eLGd@dAe:ZMe;eMd GdBdCe:ZNeNZOe;eNGdDdEe:ZPddFlmQZQmRZRmSZSGdGdHe:ZTGdIdJe:ZUdKZVdndLZWdMZXdNZYGdOdPeZZ[GdQdRe[Z\ejd kr2GdSdTe[Z]ddUlm^Z^m:Z:GdVdWe:Z_GdXdYe[Z`GdZd[eZZaeae[Zbeae\Zcejd kre\d\dejdZen2ejd]kre\d^ejfdd_zZen e\dZeejd kr.eae]Zgeae`ZhegjijjZjdd`lmkZkmlZldodaZme3eBe3eNkreBZneAZon9e3e@e3eNkre@Zne?Zone3eGe3eNkreGZneFZoddblmpZpmqZqmrZrmsZse)eNeNeNenepZte)eNeNeAeneqZudcZveveeBe@eGfD]7Ze3ed_kreZe3edmkreZ&e3edkreZ8[eVdS)qNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentErrorcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORc\ t|trG|t|dz}tjd||t |z}|}||_|St|tr,tjdd|t |z}|}|St|)Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs 6/opt/alt/python311/lib64/python3.11/ctypes/__init__.pycreate_string_bufferr)0s$  <t99Q;D 0$===4-gii  D#   0$===4-gii D//cr t|ddr tz|ddr tz|r$t d|z t fS#t$rYnwxYwGfddt}|t f<|S)N use_errnoFuse_last_error!unexpected keyword argument(s) %sceZdZZZZdS) CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_argtypesflagsrestypesr( CFunctionTyper0es  r*r<) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r;r9kwr<r:s`` @r( CFUNCTYPErGHs  E vvk5!!% $$ vv&&) (( J.WinFunctionTypeNr1r8sr(WinFunctionTyperLs!JIGGGr*rM) _FUNCFLAG_STDCALLr>r?r@rArB_win_functype_cacherDrE)r;r9rFrMr:s`` @r( WINFUNCTYPErPqs! 66+u % % ) ( (E 66"E * * - , ,E  N@27799LMM M &5'AB B    D          i   ;JWh67s2B BBrGrP)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacddlm}||j}t|||}}||krt d|||fzdS)Nrr z"sizeof(%s) wrong: %d instead of %d)structr _type_rR SystemError)typtypecoder actualrequireds r( _check_sizerbss :c{{HHX$6$6HF >1233 3r*c"eZdZdZfdZxZS) py_objectOc tS#t$rdt|jzcYSwxYw)Nz %s())super__repr__rAtyper2)self __class__s r(rhzpy_object.__repr__sS 677##%% % 6 6 6$t**"55 5 5 5 6s#!AA)r2r3r4r\rh __classcell__)rks@r(rdrds= F666666666r*rdPceZdZdZdS)c_shorthNr2r3r4r\r*r(roro FFFr*roceZdZdZdS)c_ushortHNrqrrr*r(rurursr*ruceZdZdZdS)c_longlNrqrrr*r(rxrxrsr*rxceZdZdZdS)c_ulongLNrqrrr*r(r{r{rsr*r{iryceZdZdZdS)c_intr}Nrqrrr*r(rrr*rceZdZdZdS)c_uintINrqrrr*r(rrrr*rceZdZdZdS)c_floatfNrqrrr*r(rrrsr*rceZdZdZdS)c_doubledNrqrrr*r(rrrsr*rceZdZdZdS) c_longdoublegNrqrrr*r(rrrsr*rqceZdZdZdS) c_longlongrNrqrrr*r(rrrr*rceZdZdZdS) c_ulonglongQNrqrrr*r(rrrr*rceZdZdZdS)c_ubyteBNrqrrr*r(rrrsr*rceZdZdZdS)c_bytebNrqrrr*r(rrrsr*rceZdZdZdS)rcNrqrrr*r(rrrsr*rceZdZdZdZdS)c_char_pzc`|jjdt|jdSN()rkr2c_void_p from_bufferr rjs r(rhzc_char_p.__repr__/>222H4H4H4N4N4T4T4TUUr*Nr2r3r4r\rhrrr*r(rr- FVVVVVr*rceZdZdZdS)rrmNrqrrr*r(rrrsr*rceZdZdZdS)c_bool?Nrqrrr*r(rrrsr*r)POINTERpointer_pointer_type_cacheceZdZdZdZdS) c_wchar_pZc`|jjdt|jdSrrrs r(rhzc_wchar_p.__repr__rr*Nrrrr*r(rrrr*rceZdZdZdS)c_wcharuNrqrrr*r(rrrsr*rcZtjttjdkrt t jtt_tjtt_ttd<dS)Nr) rclearrC_osnamerOr from_paramrrrrrrrr*r( _reset_cachersw x4!!###"+"6GG!)!4GFOO (r*c t|tr||Gttdkrt d|Ddz}nt |dz}t jd||t|z}|}||_|St|tr,t jdd|t|z}|}|St|)Nc3DK|]}t|dkrdndVdS)irrN)ord).0rs r( z(create_unicode_buffer..s4EE1A11QEEEEEEr*rzctypes.create_unicode_buffer) rstrrRrsumrrrr r!r"r#s r(create_unicode_bufferrs$ <g!##EEEEEEEI4yy1} 14>>>D.gii  D#   14>>>D.gii D//r*ctj|dtdt|tvrtd|j||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridset_type)rclss r(SetPointerTyper1swsD))5BCCC '{{---+,,,GS&BwKK(((r*c ||zSNrr)r^rs r(ARRAYr;s 9r*cHeZdZ eZeZdZdZdZ e ddddfdZ dZ dZ dZdS) CDLLzrNFc* |_j |r tz |r tz tjdr8 |r5|dr d|vr|tj tj zz}tj dkrA||}n._FuncPtrN)r2r3r4r7_func_restype_r6)r:rjsr(_FuncPtrrrsG+IIIr*r)_name _func_flags_r?r@rplatform startswithendswithr RTLD_MEMBERRTLD_NOWrr!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRrEr_dlopen_handle) rjrmodehandler,r-winmoderrr:s ` @r(__init__z CDLL.__init__VsY !  ) ( (E  - , ,E = # #E * * ;   ; c** ;u}}#/CL8: 8t  " ;$;;$$,,!#!4!4TZ!@!@DJB@@D , , , , , , , ,y , , ,! >"4:t44DLLL!DLLLr*cd|jj|j|jtjdzdzzt |tjdzdzzfzS)Nz<%s '%s', handle %x at %#x>rr)rkr2rrrmaxsizerrs r(rhz CDLL.__repr__|sN,'a!!344DLNQ./11 1r*c|dr$|drt|||}t ||||S)N__)rrAttributeError __getitem__setattr)rjrfuncs r( __getattr__zCDLL.__getattr__sa ??4  'T]]4%8%8 ' && &%%dD!!! r*cl|||f}t|ts||_|Sr)rrr!r2)rjname_or_ordinalrs r(rzCDLL.__getitem__s6}}ot455/3// ,+DM r*)r2r3r4r=rrrrrr DEFAULT_MODErrhrrrrr*r(rrAs #LN EGH".t %$"$"$"$"L111 r*rceZdZ eezZdS)PyDLLN)r2r3r4r=_FUNCFLAG_PYTHONAPIrrrr*r(rrs #%88LLLr*rceZdZ eZdS)WinDLLN)r2r3r4rNrrrr*r(rrs ) r*r)_check_HRESULTrYceZdZdZeZdS)HRESULTryN)r2r3r4r\r_check_retval_rrr*r(rrs(r*rceZdZ eZeZdS)OleDLLN)r2r3r4rNrrrrrr*r(rrs )  r*rcFeZdZdZdZdZdZeej Z dS) LibraryLoaderc||_dSr_dlltype)rjdlltypes r(rzLibraryLoader.__init__s  r*c|ddkrt|||}t||||S)Nr_)rrr)rjrdlls r(rzLibraryLoader.__getattr__sE 7c>> && &mmD!!dC    r*c"t||Sr)getattrrjrs r(rzLibraryLoader.__getitem__stT"""r*c,||Srrr s r(rHzLibraryLoader.LoadLibrarys}}T"""r*N) r2r3r4rrrrH classmethod_types GenericAlias__class_getitem__rrr*r(rrsa   ######$ F$788r*rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorc|t}|!t|}td|d|Sr) GetLastErrorrstripOSError)codedescrs r(WinErrorrsB <>>D =%%++--EtUD$///r*) _memmove_addr _memset_addr_string_at_addr _cast_addrc6Gfddt}|S)Nc"eZdZZZeezZdS)!PYFUNCTYPE..CFunctionTypeN)r2r3r4r5r6r=rr7)r9r;sr(r<r"s$  !$77r*r<)rE)r;r9r<s`` r( PYFUNCTYPEr#sE88888888 888 r*c$t|||Sr)_cast)objr^s r(castr's c3  r*c$ t||Sr) _string_atptrr%s r( string_atr-s" c4  r*)_wstring_at_addrc$ t||Sr) _wstring_atr+s r( wstring_atr1s &3%%%r*c tdttdg}||||S#t$rYdSwxYw)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r(r8r8se =rlsH 2 ++++++++++))))))222222++++++++!!!!!!((((((/!! )-{O L LL8t###### 8w4=H44  s939;;  $ $S ) )! ,--11" 777777777777* """H8t......======*T'/77 ]SS X))))))??????????????((((((((  3 3 3 366666 666 Isl G| H\ Fl G 9S>>YYs^^## E FF KKl G| H< 6,66(++++L 9S>>YYs^^##JKK\K l K l.55w+ G\,22f) F\,22f) FVVVVV|VVV Hc|  H\:999999999VVVVV VVV l ) ) )<))) LLLLL6LLL\99999D9998t))))))))54444444 ( ( ( ( (, ( ( (!!!!!!!!99999F999&}T e8tlD$.99II ]h*T->rr-BBCCIId I8t ]6 " "F ]6 " "F?/L666666660000 6&>>VVH%%%%HII VG__x((((HII VKFF8,,,,HIMLLLLLLLLLLL <))Hh( ; ;M J J 88Xuh 7 7 E E > 9h 9==jII   4ZZ 8U 3 3O D D !!!! &((((((9**Y%889IJJK&&&&&    D 8t===&&&EDDDDDDD<<<<<<<<   eVZ 0++D vd||qD''   dGG   dG vw 4,,D vd||qT((   tHH   tH s3VVVPK!adhh$__pycache__/__init__.cpython-311.pycnu[ 0iE dZddlZddlZddlZdZddlm Z m Z m Z ddlm Z ddlm ZddlmZddlmZmZdd lmZdd lmZeekr ed eeejd krdd lmZeZejdkrGejdkr<eejjdddkreZddlmZ m!Z"m#Z$m%Z&dodZ'e'Z(iZ)dZ*ejd kr9ddlm+Z,ddlm-Z.iZ/dZ0e0jr e*j1dde0_nejdkrddlm2Z,ddlm3Z3m4Z4m5Z5m6Z6m7Z7ddlm8Z8m9Z9ddlm:Z:dodZ;Gdd e:Z<e;ee;e>Gd&d'e:Z?e;e?Gd(d)e:Z@e;e@ed*ed+kre?ZAe@ZBn2Gd,d-e:ZAe;eAGd.d/e:ZBe;eBGd0d1e:ZCe;eCGd2d3e:ZDe;eDGd4d5e:ZEe3eEe3eDkreDZEed+ed6kre?ZFe@ZGn2Gd7d8e:ZFe;eFGd9d:e:ZGe;eGGd;de:ZKeKxeK_IeK_Je;eKGd?d@e:ZLeLxeL_IeL_Je;eLGdAdBe:ZMe;eMd!GdCdDe:ZNeNZOe;eNGdEdFe:ZPddGlmQZQmRZRmSZSGdHdIe:ZTGdJdKe:ZUdLZVdodMZWdNZXdOZYGdPdQeZZ[GdRdSe[Z\ejd kr2GdTdUe[Z]ddVlm^Z^m:Z:GdWdXe:Z_GdYdZe[Z`Gd[d\eZZaeae[Zbeae\Zcejd kre\d]dejdZen2ejd^kre\d_ejfdd`zZen e\dZeejd kr.eae]Zgeae`ZhegjijjZjddalmkZkmlZldpdbZme3eBe3eNkreBZneAZon9e3e@e3eNkre@Zne?Zone3eGe3eNkreGZneFZoddclmpZpmqZqmrZrmsZse*eNeNeNenepZte*eNeNeAeneqZuddZveveeBe@eGfD]7Ze3ed`kreZe3ednkreZ&e3edkreZ8[eVdS)rz,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentErrorcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcZt|trG|t|dz}tjd||t |z}|}||_|St|tr,tjdd|t |z}|}|St|)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs 6/opt/alt/python311/lib64/python3.11/ctypes/__init__.pycreate_string_bufferr)0s $  <t99Q;D 0$===4-gii  D#   0$===4-gii D//cpt|ddr tz|ddr tz|r$t d|z t fS#t$rYnwxYwGfddt}|t f<|S)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %sceZdZZZZdS) CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_argtypesflagsrestypesr( CFunctionTyper0es  r*r<) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r;r9kwr<r:s`` @r( CFUNCTYPErGHs E vvk5!!% $$ vv&&) (( J.WinFunctionTypeNr1r8sr(WinFunctionTyperMs!JIGGGr*rN) _FUNCFLAG_STDCALLr>r?r@rArB_win_functype_cacherDrE)r;r9rFrNr:s`` @r( WINFUNCTYPErQqs! 66+u % % ) ( (E 66"E * * - , ,E  N@27799LMM M &5'AB B    D          i   ;JWh67rHrGrQ)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacddlm}||j}t|||}}||krt d|||fzdS)Nrr z"sizeof(%s) wrong: %d instead of %d)structr _type_rS SystemError)typtypecoder actualrequireds r( _check_sizercss :c{{HHX$6$6HF >1233 3r*c"eZdZdZfdZxZS) py_objectOc tS#t$rdt|jzcYSwxYw)Nz %s())super__repr__rAtyper2)self __class__s r(rizpy_object.__repr__sS 677##%% % 6 6 6$t**"55 5 5 5 6s#!AA)r2r3r4r]ri __classcell__)rls@r(reres= F666666666r*rePceZdZdZdS)c_shorthNr2r3r4r]r*r(rprp FFFr*rpceZdZdZdS)c_ushortHNrrrsr*r(rvrvrtr*rvceZdZdZdS)c_longlNrrrsr*r(ryryrtr*ryceZdZdZdS)c_ulongLNrrrsr*r(r|r|rtr*r|irzceZdZdZdS)c_intr~Nrrrsr*r(rrr*rceZdZdZdS)c_uintINrrrsr*r(rrrr*rceZdZdZdS)c_floatfNrrrsr*r(rrrtr*rceZdZdZdS)c_doubledNrrrsr*r(rrrtr*rceZdZdZdS) c_longdoublegNrrrsr*r(rrrtr*rqceZdZdZdS) c_longlongrNrrrsr*r(rrrr*rceZdZdZdS) c_ulonglongQNrrrsr*r(rrrr*rceZdZdZdS)c_ubyteBNrrrsr*r(rrrtr*rceZdZdZdS)c_bytebNrrrsr*r(rrrtr*rceZdZdZdS)rcNrrrsr*r(rrrtr*rceZdZdZdZdS)c_char_pzc`|jjdt|jdSN()rlr2c_void_p from_bufferr rks r(rizc_char_p.__repr__/>222H4H4H4N4N4T4T4TUUr*Nr2r3r4r]rirsr*r(rr- FVVVVVr*rceZdZdZdS)rrnNrrrsr*r(rrrtr*rceZdZdZdS)c_bool?Nrrrsr*r(rrrtr*r)POINTERpointer_pointer_type_cacheceZdZdZdZdS) c_wchar_pZc`|jjdt|jdSrrrs r(rizc_wchar_p.__repr__rr*Nrrsr*r(rrrr*rceZdZdZdS)c_wcharuNrrrsr*r(rrrtr*rcZtjttjdkrt t jtt_tjtt_ttd<dS)Nr) rclearrC_osnamerPr from_paramrrrrrrsr*r( _reset_cachersw x4!!###"+"6GG!)!4GFOO (r*ct|tr||Gttdkrt d|Ddz}nt |dz}t jd||t|z}|}||_|St|tr,t jdd|t|z}|}|St|)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nc3DK|]}t|dkrdndVdS)irrN)ord).0rs r( z(create_unicode_buffer..s4EE1A11QEEEEEEr*rzctypes.create_unicode_buffer) rstrrSrsumrrrr r!r"r#s r(create_unicode_bufferrs $ <g!##EEEEEEEI4yy1} 14>>>D.gii  D#   14>>>D.gii D//r*ctj|dtdt|tvrtd|j||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridset_type)rclss r(SetPointerTyper1swsD))5BCCC '{{---+,,,GS&BwKK(((r*c ||zSNrs)r_rs r(ARRAYr;s 9r*cJeZdZdZeZeZdZdZ dZ e ddddfdZ dZ dZd ZdS) CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFc* |_j |r tz |r tz tjdr8 |r5|dr d|vr|tj tj zz}tj dkrA||}n._FuncPtrN)r2r3r4r7_func_restype_r6)r:rksr(_FuncPtrrrsG+IIIr*r)_name _func_flags_r?r@rplatform startswithendswithr RTLD_MEMBERRTLD_NOWrr!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRrEr_dlopen_handle) rkrmodehandler,r-winmoderrr:s ` @r(__init__z CDLL.__init__VsY !  ) ( (E  - , ,E = # #E * * ;   ; c** ;u}}#/CL8: 8t  " ;$;;$$,,!#!4!4TZ!@!@DJB@@D , , , , , , , ,y , , ,! >"4:t44DLLL!DLLLr*cd|jj|j|jtjdzdzzt |tjdzdzzfzS)Nz<%s '%s', handle %x at %#x>rr)rlr2rrrmaxsizerrs r(riz CDLL.__repr__|sN,'a!!344DLNQ./11 1r*c|dr$|drt|||}t ||||S)N__)rrAttributeError __getitem__setattr)rkrfuncs r( __getattr__zCDLL.__getattr__sa ??4  'T]]4%8%8 ' && &%%dD!!! r*cl|||f}t|ts||_|Sr)rrr!r2)rkname_or_ordinalrs r(rzCDLL.__getitem__s6}}ot455/3// ,+DM r*)r2r3r4__doc__r=rrrrrr DEFAULT_MODErrirrrsr*r(rrAs  #LN EGH".t %$"$"$"$"L111 r*rceZdZdZeezZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r2r3r4rr=_FUNCFLAG_PYTHONAPIrrsr*r(rrs%#%88LLLr*rceZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r2r3r4rrOrrsr*r(rrs  ) r*r)_check_HRESULTrZceZdZdZeZdS)HRESULTrzN)r2r3r4r]r_check_retval_rsr*r(rrs(r*rceZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r2r3r4rrOrrrrsr*r(rrs$  )  r*rcFeZdZdZdZdZdZeej Z dS) LibraryLoaderc||_dSr_dlltype)rkdlltypes r(rzLibraryLoader.__init__s  r*c|ddkrt|||}t||||S)Nr_)rrr)rkrdlls r(rzLibraryLoader.__getattr__sE 7c>> && &mmD!!dC    r*c"t||Sr)getattrrkrs r(rzLibraryLoader.__getitem__stT"""r*c,||Srrrs r(rIzLibraryLoader.LoadLibrarys}}T"""r*N) r2r3r4rrrrI classmethod_types GenericAlias__class_getitem__rsr*r(rrsa   ######$ F$788r*rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorc|t}|!t|}td|d|Sr) GetLastErrorrstripOSError)codedescrs r(WinErrorrsB <>>D =%%++--EtUD$///r*) _memmove_addr _memset_addr_string_at_addr _cast_addrc6Gfddt}|S)Nc"eZdZZZeezZdS)!PYFUNCTYPE..CFunctionTypeN)r2r3r4r5r6r=rr7)r9r;sr(r<r$s$  !$77r*r<)rE)r;r9r<s`` r( PYFUNCTYPEr%sE88888888 888 r*c$t|||Sr)_cast)objr_s r(castr)s c3  r*c"t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_atptrr%s r( string_atr/s c4  r*)_wstring_at_addrc"t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_atr-s r( wstring_atr3s3%%%r*c tdttdg}||||S#t$rYdSwxYw)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r(r:r:se =rmsK 22 ++++++++++))))))222222++++++++!!!!!!((((((/!! )-{O L LL8t###### 8w4=H44  s939;;  $ $S ) )! ,--11" 777777777777* """H8t......======*T'/77 ]SS X))))))??????????????((((((((  3 3 3 366666 666 Isl G| H\ Fl G 9S>>YYs^^## E FF KKl G| H< 6,66(++++L 9S>>YYs^^##JKK\K l K l.55w+ G\,22f) F\,22f) FVVVVV|VVV Hc|  H\:999999999VVVVV VVV l ) ) )<))) LLLLL6LLL\99999D9998t))))))))54444444 ( ( ( ( (, ( ( (!!!!!!!!99999F999&}T e8tlD$.99II ]h*T->rr-BBCCIId I8t ]6 " "F ]6 " "F?/L666666660000 6&>>VVH%%%%HII VG__x((((HII VKFF8,,,,HIMLLLLLLLLLLL <))Hh( ; ;M J J 88Xuh 7 7 E E > 9h 9==jII   4ZZ 8U 3 3O D D !!!! &((((((9**Y%889IJJK&&&&&    D 8t===&&&EDDDDDDD<<<<<<<<   eVZ 0++D vd||qD''   dGG   dG vw 4,,D vd||qT((   tHH   tH s4VVVPK!Dΐ)__pycache__/_endian.cpython-311.opt-2.pycnu[ 0i ddlZddlTeeZdZGddZGddeeeZGdd eee Z ej d kr(d Z eZ Gd d eeZe ZGdde e ZdSej dkr(dZ eZGddeeZ e ZGdde e ZdSed)N)*c t|trt|tSt|trt |j|jzSt|ttfr|Std|z)Nz+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclass StructureUnion TypeError)typs 5/opt/alt/python311/lib64/python3.11/ctypes/_endian.pyr r s sM""+sM***#{##8SZ((3<77# 5)** ACG H HHceZdZfdZxZS) _swapped_metac|dkrJg}|D]C}|d}|d}|dd}||t|f|zD|}t||dS)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rrz_swapped_meta.__setattr__s z ! !F A AAw1gABBx t]3%7%784?@@@@E He,,,,,r)__name__ __module__ __qualname__r __classcell__)r$s@rrrs8 - - - - - - - - -rrceZdZdS)_swapped_struct_metaNr%r&r'rrr*r*"rr*ceZdZdS)_swapped_union_metaNr+r,rrr/r/#r-rr/little __ctype_be__ceZdZ dZdZdS)BigEndianStructurer,Nr%r&r' __slots___swappedbytes_r,rrr3r30s2 rr3) metaclassceZdZ dZdZdS)BigEndianUnionr,Nr4r,rrr9r97s. rr9big __ctype_le__ceZdZ dZdZdS)LittleEndianStructurer,Nr4r,rrr=r=As5 rr=ceZdZ dZdZdS)LittleEndianUnionr,Nr4r,rrr?r?Hs1 rr?zInvalid byteorder)sysctypestypeArrayr r rrr*rr/ byteorderrr=r3r?r9 RuntimeErrorr,rrrFs d5kk III" - - - - - - - -A@@@@=$$y//@@@;;;;;-e;;;=H"M%Y2F *=  ]e"M" 5I NE-@ ,* + ++rPK!i *__pycache__/wintypes.cpython-311.opt-2.pycnu[ 0iddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGddejZejZejZejZejZejxZZej xZ!Z"ej#xZ$xZ%Z&ej#xZ'Z(ej)xZ*Z+ej,xZ-Z.ej/ejej/ej,krejZ0ejZ1n:ej/ejej/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGddejXZYeYxZZxZ[Z\GddejXZ]e]Z^Gdd ejXZ_Gd d ejXZ`e`xZaxZbZcGd d ejXZdedxZeZfdZgGddejXZhehZiGddejXZjejZkdZlGddejXZmGddejXZnejoexZpZqejoeZrejoexZsZtejoeZuejoe4ZvejoexZwZxejoehxZyZzejoeZ{ejoe8xZ|Z}ejoeGZ~ejoeHZejoexZZejoeZejoe7ZejoexZZejoejxZZejoe`xZZejoecZejoeYxZZejoe\xZZejoeVZejoeZejoedxZZejoefxZZejoe^Zejoe xZZejoe"ZejoeZejoeZejoe ZejoemxZZejoenxZZejoexZZdS)NceZdZdZdZdS) VARIANT_BOOLvc0|jjd|jdS)N()) __class____name__value)selfs 6/opt/alt/python311/lib64/python3.11/ctypes/wintypes.py__repr__zVARIANT_BOOL.__repr__s>222DJJJ??N)r __module__ __qualname___type_rrr rrs- F@@@@@rrc*eZdZdefdefdefdefgZdS)RECTlefttoprightbottomNr rrLONG_fields_rrr rras2 $4 "HHHrrc*eZdZdefdefdefdefgZdS) _SMALL_RECTLeftTopRightBottomNr rrSHORTrrrr rrhs3% 5!#HHHrrceZdZdefdefgZdS)_COORDXYNr#rrr r&r&os#e e HHHrr&ceZdZdefdefgZdS)POINTxyNrrrr r*r*ss#d d HHHrr*ceZdZdefdefgZdS)SIZEcxcyNrrrr r.r.xs#t t HHHrr.c||dzz|dzzS)Nr)redgreenblues r RGBr7}s %1*  ,,rceZdZdefdefgZdS)FILETIME dwLowDateTimedwHighDateTimeN)r rrDWORDrrrr r9r9s% %(!5)+HHHrr9c6eZdZdefdefdefdefdefdefgZ dS)MSGhWndmessagewParamlParamtimeptN) r rrHWNDUINTWPARAMLPARAMr<r*rrrr r>r>sBD!6"6"u HHHrr>ic ZeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)r rrr<r9CHARMAX_PATHrrrr rJrJsm#U+!8,#X."H- %('&&dXo.%tby1 3HHHrrJc ZeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zd S) WIN32_FIND_DATAWrKrLrMrNrOrPrQrRrSrTrUN)r rrr<r9WCHARrWrrrr rYrYsn#U+!8,#X."H- %('&&eh./%urz2 4HHHrrY)ctypesc_byteBYTEc_ushortWORDc_ulongr<c_charrVc_wcharrZc_uintrFc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGrUSHORTc_shortr$ c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrGrHATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArE SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr SMALL_RECTr&r*tagPOINT_POINTLPOINTLr.tagSIZESIZELr7r9 _FILETIMEr>tagMSGrWrJrYPOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrr rs  } } } l   }@@@@@6&@@@  } "(!22#)#55. & 00 0Hv##& ?"&6==6=#A#AAA ^F ]FFV]6$%%v)G)GGG  F  F                                 """""6 """  &5#####&"###  V F $##7V6 %---+++++v+++  &    3 3 3 3 3v' 3 3 3 4 4 4 4 4v' 4 4 4 %%% 6>' " "%%%t V^H % % !6>%(((&'111 Y   #V^F+++7tsv~c""" ..t%%%v~c"""!6>%(((& &. %%%!6>%(((&fnY''   %%%!6>%(((&fnZ(( %%% &.00    &.    )78H)I)II&)78H)I)II&%%%rPK!oHH __pycache__/util.cpython-311.pycnu[ 0i6ddlZddlZddlZddlZejdkr dZdZdZnejdkrejdkr ddl m Z d Znej d rdd l mZnhejdkr]ddlZddlZd Zd ZejdkrdZndZej drdZdZnejdkrdZddZn dZdZdZdZedkr edSdS)Nntcvd}tj|}|dkrdS|t|z}tj|ddd\}}t |dddz }|dkr|dz }t |d d d z }|dkrd }|dkr||zSdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions 2/opt/alt/python311/lib64/python3.11/ctypes/util.py_get_build_versionr s K  V $ $ 771 F O+abb/''Q//41SbS6{{Q 2   A L1QqS6{{T) 1  L 1  ,. .tct}|dS|dkrd}n|dkr d|dzz}ndSddl}d|jjvr|d z }|d zS) z%Return the name of the VC runtime dllNrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sy$&& ?4 a<<HH ]] GbL1HH4 #""" y*= = = OHrc|dvrtStjdtjD]}tj||}tj|r|cS| drm|dz}tj|r|cSdS)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswith)name directoryfnames r find_libraryr67s :  == F+11"*==  IGLLD11Ew~~e$$  {{}}%%f-- FNEw~~e$$   trposixdarwin) dyld_findcrd|zd|z|d|g}|D]#} t|cS#t$rY wxYwdS)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r3possibles rr6r6Hsv!D(%)-tt46  D !$'''''    ts ' 44aix)r6cd} t|d5}|d|kcdddS#1swxYwYdS#t$rYdSwxYw)z,Return True if the given file is an ELF filesELFbrNF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrH`s  h%% 5||A*4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5    55 s.A: A>A>A AActjdtj|z}t jd}|st jd}|sdSt j} |dd|jd|zg}ttj }d|d<d|d < tj |tj tj| }n7#t$r*Y |dS#t"$rYdSwxYwwxYw|5|j}dddn #1swxYwY |n:#t"$rYn.wxYw# |w#t"$rYwwxYwxYwtj||}|sdS|D]'} t+| stj| cSdS) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler3dictr, subprocessPopenPIPESTDOUTOSErrorcloserDrRrCfindallrHfsdecode) r3expr c_compilertempargsrTproctraceresfiles r _findLib_gccrmisf {9BIdOOKLL\%((  ,d++J 4*,, $ 4$;GDrz""CCMCK !'/9/9/@,/111     $      + + ((** + + + + + + + + + + + + + + +  $      $    ju%% 4 % %D4== ;t$$ $ $ $  % %s,2E,C E DEC.. C<;C<?DED+ E+D//E2D/3E7E EEFE32F3 F=F?FFsunos5cr|sdS tjdd|ftjtj}n#t$rYdSwxYw|5|j}dddn #1swxYwYtjd|}|sdStj | dS)Nz/usr/ccs/bin/dumpz-LpvrRrSs\[.*\]\sSONAME\s+([^\s]+)r) r]r^r_DEVNULLrarRrCrVsearchr+rdgroup)fridatarks r _get_sonamervs t !') \S*/(libz\.\S+))/sbin/ldconfigz-rrpr)keyr)rVrWr+rUr]r^r_rqrRrCrarcrvrmsortrrd)r3enamererirurks rr6r6sOIdOOEE8=uuuED;t$$D .!'(@/9/9/ACCC ..;++--D...............     *T4((C 7"<#5#5666 HHH & & &;s2w'' 's#+B BB  B  B! B!ctjdsdSttj}d|d<|rd}nd}d} t j|t jt j|}n#t$rYdSwxYw|5|j D]W}| }| dr,tj |d}X dddn #1swxYwY|sdS|d D]H}tj|d |z}tj|r|cSIdS) N /usr/bin/crlerNrO)r-64)rrQsDefault Library Path (ELF):rA:zlib%s.so)r+r.existsr\r,r]r^r_rqrarRstrip startswithrdrr/) r3is64rTrhpathsrilinedirlibfiles r _findLib_crlers7>>/22 trz""CCM */)E !'/9/9/A,/111   tt  = = K==D::<>7>>'**#"NNN#4s% ,A77 BB A C77C;>C;FcZtt||pt|SN)rvrrm)r3rs rr6r6 s'}T488NL,6,>-7-?-7_58#*F*F HHH9LM)E18==??;;C9!{399Q<<8899999999 9 999999999999999999    s=!>>Qjr{3'7'788--D#4==! ;t,,,,, -    MsBD)) D65D6ct|p7tt|ptt|Sr)rrvrmr)r3s rr6r6JsE'--U|D1122U6A+dBSBS6T6T Urcddlm}tjdkrRt |jt |dt tdtjdkrt tdt tdt tdtj d krt | d t | d t | d t | d dStj drddlm }tj dkrt d|dtjt d| dt tdt | dnKt d|dtjt d| dt dtdt d| tdt dtdt d| tddSt | dt | dt tddSdS)Nr)cdllrrr7r)r(bz2r8z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr>)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r3printrloadr6r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestrRs6 w$ dk dii!!""" l8$$%%% w' l3    l3    l5!!""" <8 # # $""<00 1 1 1 $""#455 6 6 6 $""#455 6 6 6 $""#<== > > > > > \ $ $U + + ) # # # # # #{U""b44QSQ_;`;`bbcccV43C3CO3T3TVVWWWl5))***d&&{334444e44@RTVTb;c;ceefffY43C3CDV3W3WYYZZZ 6|G4466 7 7 7 Ht// W0E0EFFHH I I I 8 X 6 688 9 9 9 J 0 0h1G1G H HJJ K K K K K $""9-- . . . $""=11 2 2 2 ,w'' ( ( ( ( (?r__main__)F)r+rXr]r r3rr&r6rctypes.macholib.dyldr9r;r ctypes._aixrVrZrHrmrvrrrrr__name__rrrs6  7d??2*    WCLH44<<<<<<     \U##zU)((((((W/%/%/%d |x - - - -" - - -, |BCCIU ) ) ) ( ( ( (*  ! !" " " H P P P P P    <   6 U U U&)&)&)P zDFFFFFrPK!zpGG&__pycache__/util.cpython-311.opt-2.pycnu[ 0i6ddlZddlZddlZddlZejdkr dZdZdZnejdkrejdkr ddl m Z d Znej d rdd l mZnhejdkr]ddlZddlZd Zd ZejdkrdZndZej drdZdZnejdkrdZddZn dZdZdZdZedkr edSdS)Nntcx d}tj|}|dkrdS|t|z}tj|ddd\}}t |dddz }|dkr|dz }t |dd d z }|dkrd }|dkr||zSdS) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions 2/opt/alt/python311/lib64/python3.11/ctypes/util.py_get_build_versionr s  K  V $ $ 771 F O+abb/''Q//41SbS6{{Q 2   A L1QqS6{{T) 1  L 1  ,. .tc t}|dS|dkrd}n|dkr d|dzz}ndSddl}d|jjvr|dz }|d zS) Nrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"s|3$&& ?4 a<<HH ]] GbL1HH4 #""" y*= = = OHrc|dvrtStjdtjD]}tj||}tj|r|cS| drm|dz}tj|r|cSdS)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswith)name directoryfnames r find_libraryr67s :  == F+11"*==  IGLLD11Ew~~e$$  {{}}%%f-- FNEw~~e$$   trposixdarwin) dyld_findcrd|zd|z|d|g}|D]#} t|cS#t$rY wxYwdS)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r3possibles rr6r6Hsv!D(%)-tt46  D !$'''''    ts ' 44aix)r6c d} t|d5}|d|kcdddS#1swxYwYdS#t$rYdSwxYw)NsELFbrF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrH`s6  h%% 5||A*4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5    55 s.A; A?A?A AActjdtj|z}t jd}|st jd}|sdSt j} |dd|jd|zg}ttj }d|d<d|d < tj |tj tj| }n7#t$r*Y |dS#t"$rYdSwxYwwxYw|5|j}dddn #1swxYwY |n:#t"$rYn.wxYw# |w#t"$rYwwxYwxYwtj||}|sdS|D]'} t+| stj| cSdS) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler3dictr, subprocessPopenPIPESTDOUTOSErrorcloserDrRrCfindallrHfsdecode) r3expr c_compilertempargsrTproctraceresfiles r _findLib_gccrmisf {9BIdOOKLL\%((  ,d++J 4*,, $ 4$;GDrz""CCMCK !'/9/9/@,/111     $      + + ((** + + + + + + + + + + + + + + +  $      $    ju%% 4 % %D4== ;t$$ $ $ $  % %s,2E,C E DEC.. C<;C<?DED+ E+D//E2D/3E7E EEFE32F3 F=F?FFsunos5cr|sdS tjdd|ftjtj}n#t$rYdSwxYw|5|j}dddn #1swxYwYtjd|}|sdStj | dS)Nz/usr/ccs/bin/dumpz-LpvrRrSs\[.*\]\sSONAME\s+([^\s]+)r) r]r^r_DEVNULLrarRrCrVsearchr+rdgroup)fridatarks r _get_sonamervs t !') \S*/(libz\.\S+))/sbin/ldconfigz-rrpr)keyr)rVrWr+rUr]r^r_rqrRrCrarcrvrmsortrrd)r3enamererirurks rr6r6sOIdOOEE8=uuuED;t$$D .!'(@/9/9/ACCC ..;++--D...............     *T4((C 7"<#5#5666 HHH & & &;s2w'' 's#+B BB  B  B! B!ctjdsdSttj}d|d<|rd}nd}d} t j|t jt j|}n#t$rYdSwxYw|5|j D]W}| }| dr,tj |d}X dddn #1swxYwY|sdS|d D]H}tj|d |z}tj|r|cSIdS) N /usr/bin/crlerNrO)r-64)rrQsDefault Library Path (ELF):rA:zlib%s.so)r+r.existsr\r,r]r^r_rqrarRstrip startswithrdrr/) r3is64rTrhpathsrilinedirlibfiles r _findLib_crlers7>>/22 trz""CCM */)E !'/9/9/A,/111   tt  = = K==D::<>7>>'**#"NNN#4s% ,A77 BB A C77C;>C;FcZtt||pt|SN)rvrrm)r3rs rr6r6 s'}T488NL,6,>-7-?-7_58#*F*F HHH9LM)E18==??;;C9!{399Q<<8899999999 9 999999999999999999    s=!>>Qjr{3'7'788--D#4==! ;t,,,,, -    MsBD)) D65D6ct|p7tt|ptt|Sr)rrvrmr)r3s rr6r6JsE'--U|D1122U6A+dBSBS6T6T Urcddlm}tjdkrRt |jt |dt tdtjdkrt tdt tdt tdtj d krt | d t | d t | d t | d dStj drddlm }tj dkrt d|dtjt d| dt tdt | dnKt d|dtjt d| dt dtdt d| tdt dtdt d| tddSt | dt | dt tddSdS)Nr)cdllrrr7r)r(bz2r8z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr>)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r3printrloadr6r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestrRs6 w$ dk dii!!""" l8$$%%% w' l3    l3    l5!!""" <8 # # $""<00 1 1 1 $""#455 6 6 6 $""#455 6 6 6 $""#<== > > > > > \ $ $U + + ) # # # # # #{U""b44QSQ_;`;`bbcccV43C3CO3T3TVVWWWl5))***d&&{334444e44@RTVTb;c;ceefffY43C3CDV3W3WYYZZZ 6|G4466 7 7 7 Ht// W0E0EFFHH I I I 8 X 6 688 9 9 9 J 0 0h1G1G H HJJ K K K K K $""9-- . . . $""=11 2 2 2 ,w'' ( ( ( ( (?r__main__)F)r+rXr]r r3rr&r6rctypes.macholib.dyldr9r;r ctypes._aixrVrZrHrmrvrrrrr__name__rrrs6  7d??2*    WCLH44<<<<<<     \U##zU)((((((W/%/%/%d |x - - - -" - - -, |BCCIU ) ) ) ( ( ( (*  ! !" " " H P P P P P    <   6 U U U&)&)&)P zDFFFFFrPK!Q33 __pycache__/_aix.cpython-311.pycnu[ 0i1dZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dzZdd lmZd Zd Zd Zd ZdZdZdZdZdZdZdZdZdS)a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecJfd}tt||S)Nc|}g} |r7|dt||7n#t$rYnwxYw|pt gS)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps 2/opt/alt/python311/lib64/python3.11/ctypes/_aix.py _num_versionz#_last_version.._num_version>s c""  1 As599;;//000 1    D  y s9A A! A!)key)maxreversed)libnamesrrs ` r _last_versionr=s9 ! ! ! ! ! x!!| 4 4 44cd}|jD]5}|dr|}d|vr|dcS6dS)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr*JsaI** ??- . . *II __##D)) ) ) ) 4rctg}|jD]-}tjd|r||-|S)Nz[0-9])r$rematchappend)r'infor)s rget_ld_header_infor0TsM D 8GT " "  KK      Krc(g}tddtd|gdtt} t |}|r%||t |fnn8|j| |S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)universal_newlinesr$stderr) rAIX_ABIr r r*r.r0r$closewait)file ldr_headersr'r(s rget_ld_headersr9asK Wd;W > > >A!!$$      +=a+@+@A B B B B   HNNFFHHH rcg}|D]9\}}d|vr0|||dd:|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r.index) ld_headerssharedr)_s r get_sharedrAysSF44 q $;; MM$tzz#r12 3 3 3 Mrcddttdfd|D}t|dkr|ddSdS)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3BK|]}tj|VdS)N)r,search).0r)exprs r z get_one_match..s/ I I44!6!6 I I I I I Irr)listfilterlengroup)rFlinesmatchess` r get_one_matchrOso $   D6$ I I I I5 I I IJJKKG 7||qqz"""trctdkrd}t||}|r|Sn-dD]*}ttj||}|r|cS+dS)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r4rOr,escape)membersrFmembernames r get_legacyrVsv"}}tW--  M  (  D"29T??G<>#&&Z((G11 E 1 1D::<<?Dd{{  3000  1 Orc|D]}|dkr d|d}tj||}tj|rItt |}t t j||}|||fcSdSdS)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librXz.aN)NN)rjoinexistsrAr9r_r,rR)pathsrUdirbasearchiverSrTs r find_sharedrq s$$ &== T~~~)C&& ;w   $ !8!899G $99F!f~%%%#||  $ rsi--\5 ########++++++++++ &  Q  5 5 5   0   .$$$L###842(((((rPK!-u&__pycache__/_aix.cpython-311.opt-2.pycnu[ 0i1 dZddlZddlmZmZddlmZddlmZm Z ddl m Z m Z m Z e edzZddlmZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdS)z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecJfd}tt||S)Nc|}g} |r7|dt||7n#t$rYnwxYw|pt gS)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps 2/opt/alt/python311/lib64/python3.11/ctypes/_aix.py _num_versionz#_last_version.._num_version>s c""  1 As599;;//000 1    D  y s9A A! A!)key)maxreversed)libnamesrrs ` r _last_versionr=s9 ! ! ! ! ! x!!| 4 4 44cd}|jD]5}|dr|}d|vr|dcS6dS)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr*JsaI** ??- . . *II __##D)) ) ) ) 4rctg}|jD]-}tjd|r||-|S)Nz[0-9])r$rematchappend)r'infor)s rget_ld_header_infor0TsM D 8GT " "  KK      Krc* g}tddtd|gdtt} t |}|r%||t |fnn8|j| |S)Nz /usr/bin/dumpz-Xz-HT)universal_newlinesr$stderr) rAIX_ABIr r r*r.r0r$closewait)file ldr_headersr'r(s rget_ld_headersr9asK Wd;W > > >A!!$$      +=a+@+@A B B B B   HNNFFHHH rc g}|D]9\}}d|vr0|||dd:|S)N[)r.index) ld_headerssharedr)_s r get_sharedrAysX F44 q $;; MM$tzz#r12 3 3 3 Mrc ddttdfd|D}t|dkr|ddSdS)Nz\[(z)\]c3BK|]}tj|VdS)N)r,search).0r)exprs r z get_one_match..s/ I I44!6!6 I I I I I Irr)listfilterlengroup)rFlinesmatchess` r get_one_matchrOst $   D6$ I I I I5 I I IJJKKG 7||qqz"""trc tdkrd}t||}|r|Sn-dD]*}ttj||}|r|cS+dS)N@z shr4?_?64\.o)zshr.ozshr4.o)r4rOr,escape)membersrFmembernames r get_legacyrVs{ "}}tW--  M  (  D"29T??G<>#&&Z((G11 E 1 1D::<<?Dd{{  3000  1 Orc |D]}|dkr d|d}tj||}tj|rItt |}t t j||}|||fcSdSdS)N/librXz.a)NN)rjoinexistsrAr9r_r,rR)pathsrUdirbasearchiverSrTs r find_sharedrq s$$ &== T~~~)C&& ;w   $ !8!899G $99F!f~%%%#||  $ r~sd-\5 ########++++++++++ &  Q  5 5 5   0   .$$$L###842(((((rPK!oHH&__pycache__/util.cpython-311.opt-1.pycnu[ 0i6ddlZddlZddlZddlZejdkr dZdZdZnejdkrejdkr ddl m Z d Znej d rdd l mZnhejdkr]ddlZddlZd Zd ZejdkrdZndZej drdZdZnejdkrdZddZn dZdZdZdZedkr edSdS)Nntcvd}tj|}|dkrdS|t|z}tj|ddd\}}t |dddz }|dkr|dz }t |d d d z }|dkrd }|dkr||zSdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrest majorVersion minorVersions 2/opt/alt/python311/lib64/python3.11/ctypes/util.py_get_build_versionr s K  V $ $ 771 F O+abb/''Q//41SbS6{{Q 2   A L1QqS6{{T) 1  L 1  ,. .tct}|dS|dkrd}n|dkr d|dzz}ndSddl}d|jjvr|d z }|d zS) z%Return the name of the VC runtime dllNrmsvcrtr zmsvcr%d rz_d.pydd.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)rclibname importlibs r find_msvcrtr&"sy$&& ?4 a<<HH ]] GbL1HH4 #""" y*= = = OHrc|dvrtStjdtjD]}tj||}tj|r|cS| drm|dz}tj|r|cSdS)N)cmPATHr ) r&osenvironrpathseppathjoinisfilelowerendswith)name directoryfnames r find_libraryr67s :  == F+11"*==  IGLLD11Ew~~e$$  {{}}%%f-- FNEw~~e$$   trposixdarwin) dyld_findcrd|zd|z|d|g}|D]#} t|cS#t$rY wxYwdS)Nz lib%s.dylibz%s.dylibz .framework/) _dyld_find ValueError)r3possibles rr6r6Hsv!D(%)-tt46  D !$'''''    ts ' 44aix)r6cd} t|d5}|d|kcdddS#1swxYwYdS#t$rYdSwxYw)z,Return True if the given file is an ELF filesELFbrNF)openreadFileNotFoundError)filename elf_headerthefiles r_is_elfrH`s  h%% 5||A*4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5    55 s.A: A>A>A AActjdtj|z}t jd}|st jd}|sdSt j} |dd|jd|zg}ttj }d|d<d|d < tj |tj tj| }n7#t$r*Y |dS#t"$rYdSwxYwwxYw|5|j}dddn #1swxYwY |n:#t"$rYn.wxYw# |w#t"$rYwwxYwxYwtj||}|sdS|D]'} t+| stj| cSdS) N[^\(\)\s]*lib%s\.[^\(\)\s]*gccccz-Wl,-t-oz-lCLC_ALLLANGstdoutstderrenv)r+fsencodereescapeshutilwhichtempfileNamedTemporaryFiler3dictr, subprocessPopenPIPESTDOUTOSErrorcloserDrRrCfindallrHfsdecode) r3expr c_compilertempargsrTproctraceresfiles r _findLib_gccrmisf {9BIdOOKLL\%((  ,d++J 4*,, $ 4$;GDrz""CCMCK !'/9/9/@,/111     $      + + ((** + + + + + + + + + + + + + + +  $      $    ju%% 4 % %D4== ;t$$ $ $ $  % %s,2E,C E DEC.. C<;C<?DED+ E+D//E2D/3E7E EEFE32F3 F=F?FFsunos5cr|sdS tjdd|ftjtj}n#t$rYdSwxYw|5|j}dddn #1swxYwYtjd|}|sdStj | dS)Nz/usr/ccs/bin/dumpz-LpvrRrSs\[.*\]\sSONAME\s+([^\s]+)r) r]r^r_DEVNULLrarRrCrVsearchr+rdgroup)fridatarks r _get_sonamervs t !') \S*/(libz\.\S+))/sbin/ldconfigz-rrpr)keyr)rVrWr+rUr]r^r_rqrRrCrarcrvrmsortrrd)r3enamererirurks rr6r6sOIdOOEE8=uuuED;t$$D .!'(@/9/9/ACCC ..;++--D...............     *T4((C 7"<#5#5666 HHH & & &;s2w'' 's#+B BB  B  B! B!ctjdsdSttj}d|d<|rd}nd}d} t j|t jt j|}n#t$rYdSwxYw|5|j D]W}| }| dr,tj |d}X dddn #1swxYwY|sdS|d D]H}tj|d |z}tj|r|cSIdS) N /usr/bin/crlerNrO)r-64)rrQsDefault Library Path (ELF):rA:zlib%s.so)r+r.existsr\r,r]r^r_rqrarRstrip startswithrdrr/) r3is64rTrhpathsrilinedirlibfiles r _findLib_crlers7>>/22 trz""CCM */)E !'/9/9/A,/111   tt  = = K==D::<>7>>'**#"NNN#4s% ,A77 BB A C77C;>C;FcZtt||pt|SN)rvrrm)r3rs rr6r6 s'}T488NL,6,>-7-?-7_58#*F*F HHH9LM)E18==??;;C9!{399Q<<8899999999 9 999999999999999999    s=!>>Qjr{3'7'788--D#4==! ;t,,,,, -    MsBD)) D65D6ct|p7tt|ptt|Sr)rrvrmr)r3s rr6r6JsE'--U|D1122U6A+dBSBS6T6T Urcddlm}tjdkrRt |jt |dt tdtjdkrt tdt tdt tdtj d krt | d t | d t | d t | d dStj drddlm }tj dkrt d|dtjt d| dt tdt | dnKt d|dtjt d| dt dtdt d| tdt dtdt d| tddSt | dt | dt tddSdS)Nr)cdllrrr7r)r(bz2r8z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr>)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): rpmz librpm.sozlibc.a(shr_64.o)z crypt :: cryptz crypto :: cryptozlibm.soz libcrypt.so)ctypesrr+r3printrloadr6r platform LoadLibraryrrr RTLD_MEMBER)rrs rtestrRs6 w$ dk dii!!""" l8$$%%% w' l3    l3    l5!!""" <8 # # $""<00 1 1 1 $""#455 6 6 6 $""#455 6 6 6 $""#<== > > > > > \ $ $U + + ) # # # # # #{U""b44QSQ_;`;`bbcccV43C3CO3T3TVVWWWl5))***d&&{334444e44@RTVTb;c;ceefffY43C3CDV3W3WYYZZZ 6|G4466 7 7 7 Ht// W0E0EFFHH I I I 8 X 6 688 9 9 9 J 0 0h1G1G H HJJ K K K K K $""9-- . . . $""=11 2 2 2 ,w'' ( ( ( ( (?r__main__)F)r+rXr]r r3rr&r6rctypes.macholib.dyldr9r;r ctypes._aixrVrZrHrmrvrrrrr__name__rrrs6  7d??2*    WCLH44<<<<<<     \U##zU)((((((W/%/%/%d |x - - - -" - - -, |BCCIU ) ) ) ( ( ( (*  ! !" " " H P P P P P    <   6 U U U&)&)&)P zDFFFFFrPK!Q33&__pycache__/_aix.cpython-311.opt-1.pycnu[ 0i1dZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dzZdd lmZd Zd Zd Zd ZdZdZdZdZdZdZdZdZdS)a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecJfd}tt||S)Nc|}g} |r7|dt||7n#t$rYnwxYw|pt gS)Nr)splitinsertintpop ValueErrorr )libnamepartsnumsseps 2/opt/alt/python311/lib64/python3.11/ctypes/_aix.py _num_versionz#_last_version.._num_version>s c""  1 As599;;//000 1    D  y s9A A! A!)key)maxreversed)libnamesrrs ` r _last_versionr=s9 ! ! ! ! ! x!!| 4 4 44cd}|jD]5}|dr|}d|vr|dcS6dS)N)/z./z../INDEX )stdout startswithrstrip)p ld_headerlines r get_ld_headerr*JsaI** ??- . . *II __##D)) ) ) ) 4rctg}|jD]-}tjd|r||-|S)Nz[0-9])r$rematchappend)r'infor)s rget_ld_header_infor0TsM D 8GT " "  KK      Krc(g}tddtd|gdtt} t |}|r%||t |fnn8|j| |S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)universal_newlinesr$stderr) rAIX_ABIr r r*r.r0r$closewait)file ldr_headersr'r(s rget_ld_headersr9asK Wd;W > > >A!!$$      +=a+@+@A B B B B   HNNFFHHH rcg}|D]9\}}d|vr0|||dd:|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r.index) ld_headerssharedr)_s r get_sharedrAysSF44 q $;; MM$tzz#r12 3 3 3 Mrcddttdfd|D}t|dkr|ddSdS)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3BK|]}tj|VdS)N)r,search).0r)exprs r z get_one_match..s/ I I44!6!6 I I I I I Irr)listfilterlengroup)rFlinesmatchess` r get_one_matchrOso $   D6$ I I I I5 I I IJJKKG 7||qqz"""trctdkrd}t||}|r|Sn-dD]*}ttj||}|r|cS+dS)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r4rOr,escape)membersrFmembernames r get_legacyrVsv"}}tW--  M  (  D"29T??G<>#&&Z((G11 E 1 1D::<<?Dd{{  3000  1 Orc|D]}|dkr d|d}tj||}tj|rItt |}t t j||}|||fcSdSdS)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None /librXz.aN)NN)rjoinexistsrAr9r_r,rR)pathsrUdirbasearchiverSrTs r find_sharedrq s$$ &== T~~~)C&& ;w   $ !8!899G $99F!f~%%%#||  $ rsi--\5 ########++++++++++ &  Q  5 5 5   0   .$$$L###842(((((rPK!†#__pycache__/_endian.cpython-311.pycnu[ 0i ddlZddlTeeZdZGddZGddeeeZGdd eee Z ej d kr(d Z eZ Gd d eeZe ZGdde e ZdSej dkr(dZ eZGddeeZ e ZGdde e ZdSed)N)*ct|trt|tSt|trt |j|jzSt|ttfr|Std|z)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endian_type__length_ issubclass StructureUnion TypeError)typs 5/opt/alt/python311/lib64/python3.11/ctypes/_endian.pyr r ssM""+sM***#{##8SZ((3<77# 5)** ACG H HHceZdZfdZxZS) _swapped_metac|dkrJg}|D]C}|d}|d}|dd}||t|f|zD|}t||dS)N_fields_r)appendr super __setattr__) selfattrnamevaluefieldsdescnamerrest __class__s rrz_swapped_meta.__setattr__s z ! !F A AAw1gABBx t]3%7%784?@@@@E He,,,,,r)__name__ __module__ __qualname__r __classcell__)r$s@rrrs8 - - - - - - - - -rrceZdZdS)_swapped_struct_metaNr%r&r'rrr*r*"rr*ceZdZdS)_swapped_union_metaNr+r,rrr/r/#r-rr/little __ctype_be__ceZdZdZdZdZdS)BigEndianStructurez$Structure with big endian byte orderr,Nr%r&r'__doc__ __slots___swappedbytes_r,rrr3r30s22 rr3) metaclassceZdZdZdZdZdS)BigEndianUnionz Union with big endian byte orderr,Nr4r,rrr:r:7s.. rr:big __ctype_le__ceZdZdZdZdZdS)LittleEndianStructurez'Structure with little endian byte orderr,Nr4r,rrr>r>As55 rr>ceZdZdZdZdZdS)LittleEndianUnionz#Union with little endian byte orderr,Nr4r,rrr@r@Hs11 rr@zInvalid byteorder)sysctypestypeArrayr r rrr*rr/ byteorderrr>r3r@r: RuntimeErrorr,rrrGs d5kk III" - - - - - - - -A@@@@=$$y//@@@;;;;;-e;;;=H"M%Y2F *=  ]e"M" 5I NE-@ ,* + ++rPK!i *__pycache__/wintypes.cpython-311.opt-1.pycnu[ 0iddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGddejZejZejZejZejZejxZZej xZ!Z"ej#xZ$xZ%Z&ej#xZ'Z(ej)xZ*Z+ej,xZ-Z.ej/ejej/ej,krejZ0ejZ1n:ej/ejej/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGddejXZYeYxZZxZ[Z\GddejXZ]e]Z^Gdd ejXZ_Gd d ejXZ`e`xZaxZbZcGd d ejXZdedxZeZfdZgGddejXZhehZiGddejXZjejZkdZlGddejXZmGddejXZnejoexZpZqejoeZrejoexZsZtejoeZuejoe4ZvejoexZwZxejoehxZyZzejoeZ{ejoe8xZ|Z}ejoeGZ~ejoeHZejoexZZejoeZejoe7ZejoexZZejoejxZZejoe`xZZejoecZejoeYxZZejoe\xZZejoeVZejoeZejoedxZZejoefxZZejoe^Zejoe xZZejoe"ZejoeZejoeZejoe ZejoemxZZejoenxZZejoexZZdS)NceZdZdZdZdS) VARIANT_BOOLvc0|jjd|jdS)N()) __class____name__value)selfs 6/opt/alt/python311/lib64/python3.11/ctypes/wintypes.py__repr__zVARIANT_BOOL.__repr__s>222DJJJ??N)r __module__ __qualname___type_rrr rrs- F@@@@@rrc*eZdZdefdefdefdefgZdS)RECTlefttoprightbottomNr rrLONG_fields_rrr rras2 $4 "HHHrrc*eZdZdefdefdefdefgZdS) _SMALL_RECTLeftTopRightBottomNr rrSHORTrrrr rrhs3% 5!#HHHrrceZdZdefdefgZdS)_COORDXYNr#rrr r&r&os#e e HHHrr&ceZdZdefdefgZdS)POINTxyNrrrr r*r*ss#d d HHHrr*ceZdZdefdefgZdS)SIZEcxcyNrrrr r.r.xs#t t HHHrr.c||dzz|dzzS)Nr)redgreenblues r RGBr7}s %1*  ,,rceZdZdefdefgZdS)FILETIME dwLowDateTimedwHighDateTimeN)r rrDWORDrrrr r9r9s% %(!5)+HHHrr9c6eZdZdefdefdefdefdefdefgZ dS)MSGhWndmessagewParamlParamtimeptN) r rrHWNDUINTWPARAMLPARAMr<r*rrrr r>r>sBD!6"6"u HHHrr>ic ZeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)r rrr<r9CHARMAX_PATHrrrr rJrJsm#U+!8,#X."H- %('&&dXo.%tby1 3HHHrrJc ZeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zd S) WIN32_FIND_DATAWrKrLrMrNrOrPrQrRrSrTrUN)r rrr<r9WCHARrWrrrr rYrYsn#U+!8,#X."H- %('&&eh./%urz2 4HHHrrY)ctypesc_byteBYTEc_ushortWORDc_ulongr<c_charrVc_wcharrZc_uintrFc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGrUSHORTc_shortr$ c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrGrHATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArE SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr SMALL_RECTr&r*tagPOINT_POINTLPOINTLr.tagSIZESIZELr7r9 _FILETIMEr>tagMSGrWrJrYPOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrr rs  } } } l   }@@@@@6&@@@  } "(!22#)#55. & 00 0Hv##& ?"&6==6=#A#AAA ^F ]FFV]6$%%v)G)GGG  F  F                                 """""6 """  &5#####&"###  V F $##7V6 %---+++++v+++  &    3 3 3 3 3v' 3 3 3 4 4 4 4 4v' 4 4 4 %%% 6>' " "%%%t V^H % % !6>%(((&'111 Y   #V^F+++7tsv~c""" ..t%%%v~c"""!6>%(((& &. %%%!6>%(((&fnY''   %%%!6>%(((&fnZ(( %%% &.00    &.    )78H)I)II&)78H)I)II&%%%rPK!adhh*__pycache__/__init__.cpython-311.opt-1.pycnu[ 0iE dZddlZddlZddlZdZddlm Z m Z m Z ddlm Z ddlm ZddlmZddlmZmZdd lmZdd lmZeekr ed eeejd krdd lmZeZejdkrGejdkr<eejjdddkreZddlmZ m!Z"m#Z$m%Z&dodZ'e'Z(iZ)dZ*ejd kr9ddlm+Z,ddlm-Z.iZ/dZ0e0jr e*j1dde0_nejdkrddlm2Z,ddlm3Z3m4Z4m5Z5m6Z6m7Z7ddlm8Z8m9Z9ddlm:Z:dodZ;Gdd e:Z<e;ee;e>Gd&d'e:Z?e;e?Gd(d)e:Z@e;e@ed*ed+kre?ZAe@ZBn2Gd,d-e:ZAe;eAGd.d/e:ZBe;eBGd0d1e:ZCe;eCGd2d3e:ZDe;eDGd4d5e:ZEe3eEe3eDkreDZEed+ed6kre?ZFe@ZGn2Gd7d8e:ZFe;eFGd9d:e:ZGe;eGGd;de:ZKeKxeK_IeK_Je;eKGd?d@e:ZLeLxeL_IeL_Je;eLGdAdBe:ZMe;eMd!GdCdDe:ZNeNZOe;eNGdEdFe:ZPddGlmQZQmRZRmSZSGdHdIe:ZTGdJdKe:ZUdLZVdodMZWdNZXdOZYGdPdQeZZ[GdRdSe[Z\ejd kr2GdTdUe[Z]ddVlm^Z^m:Z:GdWdXe:Z_GdYdZe[Z`Gd[d\eZZaeae[Zbeae\Zcejd kre\d]dejdZen2ejd^kre\d_ejfdd`zZen e\dZeejd kr.eae]Zgeae`ZhegjijjZjddalmkZkmlZldpdbZme3eBe3eNkreBZneAZon9e3e@e3eNkre@Zne?Zone3eGe3eNkreGZneFZoddclmpZpmqZqmrZrmsZse*eNeNeNenepZte*eNeNeAeneqZuddZveveeBe@eGfD]7Ze3ed`kreZe3ednkreZ&e3edkreZ8[eVdS)rz,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentErrorcalcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcZt|trG|t|dz}tjd||t |z}|}||_|St|tr,tjdd|t |z}|}|St|)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array Nzctypes.create_string_buffer) isinstancebyteslen_sysauditc_charvalueint TypeErrorinitsizebuftypebufs 6/opt/alt/python311/lib64/python3.11/ctypes/__init__.pycreate_string_bufferr)0s $  <t99Q;D 0$===4-gii  D#   0$===4-gii D//cpt|ddr tz|ddr tz|r$t d|z t fS#t$rYnwxYwGfddt}|t f<|S)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_error!unexpected keyword argument(s) %sceZdZZZZdS) CFUNCTYPE..CFunctionTypeN__name__ __module__ __qualname__ _argtypes_ _restype__flags_argtypesflagsrestypesr( CFunctionTyper0es  r*r<) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r;r9kwr<r:s`` @r( CFUNCTYPErGHs E vvk5!!% $$ vv&&) (( J.WinFunctionTypeNr1r8sr(WinFunctionTyperMs!JIGGGr*rN) _FUNCFLAG_STDCALLr>r?r@rArB_win_functype_cacherDrE)r;r9rFrNr:s`` @r( WINFUNCTYPErQqs! 66+u % % ) ( (E 66"E * * - , ,E  N@27799LMM M &5'AB B    D          i   ;JWh67rHrGrQ)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacddlm}||j}t|||}}||krt d|||fzdS)Nrr z"sizeof(%s) wrong: %d instead of %d)structr _type_rS SystemError)typtypecoder actualrequireds r( _check_sizercss :c{{HHX$6$6HF >1233 3r*c"eZdZdZfdZxZS) py_objectOc tS#t$rdt|jzcYSwxYw)Nz %s())super__repr__rAtyper2)self __class__s r(rizpy_object.__repr__sS 677##%% % 6 6 6$t**"55 5 5 5 6s#!AA)r2r3r4r]ri __classcell__)rls@r(reres= F666666666r*rePceZdZdZdS)c_shorthNr2r3r4r]r*r(rprp FFFr*rpceZdZdZdS)c_ushortHNrrrsr*r(rvrvrtr*rvceZdZdZdS)c_longlNrrrsr*r(ryryrtr*ryceZdZdZdS)c_ulongLNrrrsr*r(r|r|rtr*r|irzceZdZdZdS)c_intr~Nrrrsr*r(rrr*rceZdZdZdS)c_uintINrrrsr*r(rrrr*rceZdZdZdS)c_floatfNrrrsr*r(rrrtr*rceZdZdZdS)c_doubledNrrrsr*r(rrrtr*rceZdZdZdS) c_longdoublegNrrrsr*r(rrrtr*rqceZdZdZdS) c_longlongrNrrrsr*r(rrrr*rceZdZdZdS) c_ulonglongQNrrrsr*r(rrrr*rceZdZdZdS)c_ubyteBNrrrsr*r(rrrtr*rceZdZdZdS)c_bytebNrrrsr*r(rrrtr*rceZdZdZdS)rcNrrrsr*r(rrrtr*rceZdZdZdZdS)c_char_pzc`|jjdt|jdSN()rlr2c_void_p from_bufferr rks r(rizc_char_p.__repr__/>222H4H4H4N4N4T4T4TUUr*Nr2r3r4r]rirsr*r(rr- FVVVVVr*rceZdZdZdS)rrnNrrrsr*r(rrrtr*rceZdZdZdS)c_bool?Nrrrsr*r(rrrtr*r)POINTERpointer_pointer_type_cacheceZdZdZdZdS) c_wchar_pZc`|jjdt|jdSrrrs r(rizc_wchar_p.__repr__rr*Nrrsr*r(rrrr*rceZdZdZdS)c_wcharuNrrrsr*r(rrrtr*rcZtjttjdkrt t jtt_tjtt_ttd<dS)Nr) rclearrC_osnamerPr from_paramrrrrrrsr*r( _reset_cachersw x4!!###"+"6GG!)!4GFOO (r*ct|tr||Gttdkrt d|Ddz}nt |dz}t jd||t|z}|}||_|St|tr,t jdd|t|z}|}|St|)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nc3DK|]}t|dkrdndVdS)irrN)ord).0rs r( z(create_unicode_buffer..s4EE1A11QEEEEEEr*rzctypes.create_unicode_buffer) rstrrSrsumrrrr r!r"r#s r(create_unicode_bufferrs $ <g!##EEEEEEEI4yy1} 14>>>D.gii  D#   14>>>D.gii D//r*ctj|dtdt|tvrtd|j||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridset_type)rclss r(SetPointerTyper1swsD))5BCCC '{{---+,,,GS&BwKK(((r*c ||zSNrs)r_rs r(ARRAYr;s 9r*cJeZdZdZeZeZdZdZ dZ e ddddfdZ dZ dZd ZdS) CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFc* |_j |r tz |r tz tjdr8 |r5|dr d|vr|tj tj zz}tj dkrA||}n._FuncPtrN)r2r3r4r7_func_restype_r6)r:rksr(_FuncPtrrrsG+IIIr*r)_name _func_flags_r?r@rplatform startswithendswithr RTLD_MEMBERRTLD_NOWrr!_LOAD_LIBRARY_SEARCH_DEFAULT_DIRS_getfullpathname!_LOAD_LIBRARY_SEARCH_DLL_LOAD_DIRrEr_dlopen_handle) rkrmodehandler,r-winmoderrr:s ` @r(__init__z CDLL.__init__VsY !  ) ( (E  - , ,E = # #E * * ;   ; c** ;u}}#/CL8: 8t  " ;$;;$$,,!#!4!4TZ!@!@DJB@@D , , , , , , , ,y , , ,! >"4:t44DLLL!DLLLr*cd|jj|j|jtjdzdzzt |tjdzdzzfzS)Nz<%s '%s', handle %x at %#x>rr)rlr2rrrmaxsizerrs r(riz CDLL.__repr__|sN,'a!!344DLNQ./11 1r*c|dr$|drt|||}t ||||S)N__)rrAttributeError __getitem__setattr)rkrfuncs r( __getattr__zCDLL.__getattr__sa ??4  'T]]4%8%8 ' && &%%dD!!! r*cl|||f}t|ts||_|Sr)rrr!r2)rkname_or_ordinalrs r(rzCDLL.__getitem__s6}}ot455/3// ,+DM r*)r2r3r4__doc__r=rrrrrr DEFAULT_MODErrirrrsr*r(rrAs  #LN EGH".t %$"$"$"$"L111 r*rceZdZdZeezZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r2r3r4rr=_FUNCFLAG_PYTHONAPIrrsr*r(rrs%#%88LLLr*rceZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r2r3r4rrOrrsr*r(rrs  ) r*r)_check_HRESULTrZceZdZdZeZdS)HRESULTrzN)r2r3r4r]r_check_retval_rsr*r(rrs(r*rceZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r2r3r4rrOrrrrsr*r(rrs$  )  r*rcFeZdZdZdZdZdZeej Z dS) LibraryLoaderc||_dSr_dlltype)rkdlltypes r(rzLibraryLoader.__init__s  r*c|ddkrt|||}t||||S)Nr_)rrr)rkrdlls r(rzLibraryLoader.__getattr__sE 7c>> && &mmD!!dC    r*c"t||Sr)getattrrkrs r(rzLibraryLoader.__getitem__stT"""r*c,||Srrrs r(rIzLibraryLoader.LoadLibrarys}}T"""r*N) r2r3r4rrrrI classmethod_types GenericAlias__class_getitem__rsr*r(rrsa   ######$ F$788r*rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorc|t}|!t|}td|d|Sr) GetLastErrorrstripOSError)codedescrs r(WinErrorrsB <>>D =%%++--EtUD$///r*) _memmove_addr _memset_addr_string_at_addr _cast_addrc6Gfddt}|S)Nc"eZdZZZeezZdS)!PYFUNCTYPE..CFunctionTypeN)r2r3r4r5r6r=rr7)r9r;sr(r<r$s$  !$77r*r<)rE)r;r9r<s`` r( PYFUNCTYPEr%sE88888888 888 r*c$t|||Sr)_cast)objr_s r(castr)s c3  r*c"t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_atptrr%s r( string_atr/s c4  r*)_wstring_at_addrc"t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_atr-s r( wstring_atr3s3%%%r*c tdttdg}||||S#t$rYdSwxYw)Ncomtypes.server.inprocserver*i) __import__globalslocalsDllGetClassObject ImportError)rclsidriidppvccoms r(r:r:se =rmsK 22 ++++++++++))))))222222++++++++!!!!!!((((((/!! )-{O L LL8t###### 8w4=H44  s939;;  $ $S ) )! ,--11" 777777777777* """H8t......======*T'/77 ]SS X))))))??????????????((((((((  3 3 3 366666 666 Isl G| H\ Fl G 9S>>YYs^^## E FF KKl G| H< 6,66(++++L 9S>>YYs^^##JKK\K l K l.55w+ G\,22f) F\,22f) FVVVVV|VVV Hc|  H\:999999999VVVVV VVV l ) ) )<))) LLLLL6LLL\99999D9998t))))))))54444444 ( ( ( ( (, ( ( (!!!!!!!!99999F999&}T e8tlD$.99II ]h*T->rr-BBCCIId I8t ]6 " "F ]6 " "F?/L666666660000 6&>>VVH%%%%HII VG__x((((HII VKFF8,,,,HIMLLLLLLLLLLL <))Hh( ; ;M J J 88Xuh 7 7 E E > 9h 9==jII   4ZZ 8U 3 3O D D !!!! &((((((9**Y%889IJJK&&&&&    D 8t===&&&EDDDDDDD<<<<<<<<   eVZ 0++D vd||qD''   dGG   dG vw 4,,D vd||qT((   tHH   tH s4VVVPK!i $__pycache__/wintypes.cpython-311.pycnu[ 0iddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGddejZejZejZejZejZejxZZej xZ!Z"ej#xZ$xZ%Z&ej#xZ'Z(ej)xZ*Z+ej,xZ-Z.ej/ejej/ej,krejZ0ejZ1n:ej/ejej/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGddejXZYeYxZZxZ[Z\GddejXZ]e]Z^Gdd ejXZ_Gd d ejXZ`e`xZaxZbZcGd d ejXZdedxZeZfdZgGddejXZhehZiGddejXZjejZkdZlGddejXZmGddejXZnejoexZpZqejoeZrejoexZsZtejoeZuejoe4ZvejoexZwZxejoehxZyZzejoeZ{ejoe8xZ|Z}ejoeGZ~ejoeHZejoexZZejoeZejoe7ZejoexZZejoejxZZejoe`xZZejoecZejoeYxZZejoe\xZZejoeVZejoeZejoedxZZejoefxZZejoe^Zejoe xZZejoe"ZejoeZejoeZejoe ZejoemxZZejoenxZZejoexZZdS)NceZdZdZdZdS) VARIANT_BOOLvc0|jjd|jdS)N()) __class____name__value)selfs 6/opt/alt/python311/lib64/python3.11/ctypes/wintypes.py__repr__zVARIANT_BOOL.__repr__s>222DJJJ??N)r __module__ __qualname___type_rrr rrs- F@@@@@rrc*eZdZdefdefdefdefgZdS)RECTlefttoprightbottomNr rrLONG_fields_rrr rras2 $4 "HHHrrc*eZdZdefdefdefdefgZdS) _SMALL_RECTLeftTopRightBottomNr rrSHORTrrrr rrhs3% 5!#HHHrrceZdZdefdefgZdS)_COORDXYNr#rrr r&r&os#e e HHHrr&ceZdZdefdefgZdS)POINTxyNrrrr r*r*ss#d d HHHrr*ceZdZdefdefgZdS)SIZEcxcyNrrrr r.r.xs#t t HHHrr.c||dzz|dzzS)Nr)redgreenblues r RGBr7}s %1*  ,,rceZdZdefdefgZdS)FILETIME dwLowDateTimedwHighDateTimeN)r rrDWORDrrrr r9r9s% %(!5)+HHHrr9c6eZdZdefdefdefdefdefdefgZ dS)MSGhWndmessagewParamlParamtimeptN) r rrHWNDUINTWPARAMLPARAMr<r*rrrr r>r>sBD!6"6"u HHHrr>ic ZeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)r rrr<r9CHARMAX_PATHrrrr rJrJsm#U+!8,#X."H- %('&&dXo.%tby1 3HHHrrJc ZeZdZdefdefdefdefdefdefdefdefd eezfd ed zfg Zd S) WIN32_FIND_DATAWrKrLrMrNrOrPrQrRrSrTrUN)r rrr<r9WCHARrWrrrr rYrYsn#U+!8,#X."H- %('&&eh./%urz2 4HHHrrY)ctypesc_byteBYTEc_ushortWORDc_ulongr<c_charrVc_wcharrZc_uintrFc_intINTc_doubleDOUBLEc_floatFLOATBOOLEANc_longBOOL _SimpleCDatarULONGrUSHORTc_shortr$ c_longlong_LARGE_INTEGER LARGE_INTEGER c_ulonglong_ULARGE_INTEGERULARGE_INTEGER c_wchar_p LPCOLESTRLPOLESTROLESTRLPCWSTRLPWSTRc_char_pLPCSTRLPSTRc_void_pLPCVOIDLPVOIDsizeofrGrHATOMLANGIDCOLORREFLGRPIDLCTYPELCIDHANDLEHACCELHBITMAPHBRUSH HCOLORSPACEHDCHDESKHDWP HENHMETAFILEHFONTHGDIOBJHGLOBALHHOOKHICON HINSTANCEHKEYHKLHLOCALHMENU HMETAFILEHMODULEHMONITORHPALETTEHPENHRGNHRSRCHSTRHTASKHWINSTArE SC_HANDLESERVICE_STATUS_HANDLE StructurertagRECT_RECTLRECTLr SMALL_RECTr&r*tagPOINT_POINTLPOINTLr.tagSIZESIZELr7r9 _FILETIMEr>tagMSGrWrJrYPOINTERLPBOOLPBOOLPBOOLEANLPBYTEPBYTEPCHAR LPCOLORREFLPDWORDPDWORD LPFILETIME PFILETIMEPFLOATLPHANDLEPHANDLEPHKEYLPHKLLPINTPINTPLARGE_INTEGERPLCIDLPLONGPLONGLPMSGPMSGLPPOINTPPOINTPPOINTLLPRECTPRECTLPRECTLPRECTL LPSC_HANDLEPSHORTLPSIZEPSIZELPSIZELPSIZEL PSMALL_RECTLPUINTPUINTPULARGE_INTEGERPULONGPUSHORTPWCHARLPWIN32_FIND_DATAAPWIN32_FIND_DATAALPWIN32_FIND_DATAWPWIN32_FIND_DATAWLPWORDPWORDrrr rs  } } } l   }@@@@@6&@@@  } "(!22#)#55. & 00 0Hv##& ?"&6==6=#A#AAA ^F ]FFV]6$%%v)G)GGG  F  F                                 """""6 """  &5#####&"###  V F $##7V6 %---+++++v+++  &    3 3 3 3 3v' 3 3 3 4 4 4 4 4v' 4 4 4 %%% 6>' " "%%%t V^H % % !6>%(((&'111 Y   #V^F+++7tsv~c""" ..t%%%v~c"""!6>%(((& &. %%%!6>%(((&fnY''   %%%!6>%(((&fnZ(( %%% &.00    &.    )78H)I)II&)78H)I)II&%%%rPK!B662macholib/__pycache__/__init__.cpython-35.opt-1.pycnu[ Yf@sdZdZdS)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__rr=/opt/alt/python35/lib64/python3.5/ctypes/macholib/__init__.pysPK!b\\(macholib/__pycache__/dyld.cpython-35.pycnu[ YfE@sddZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ ddZ dddZ dddZdddZdddZdddZdddZdd d!Zdd"d#Zdd$d%Zddd&dZddd'dZd(d)Zed*kr`edS)+z 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/libcCsA|dkrtj}|j|}|dkr4gS|jdS)N:)osenvirongetsplit)envvarZrvalr9/opt/alt/python35/lib64/python3.5/ctypes/macholib/dyld.pydyld_envs    rcCs"|dkrtj}|jdS)NZDYLD_IMAGE_SUFFIX)rr r )r rrrdyld_image_suffix's  rcCs 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_path5srcCs5t|}|dkr|S||dd}|S)z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNcssSxL|D]D}|jdr=|dtd |dVn ||V|VqWdS)Nz.dylib)endswithlen)iteratorsuffixpathrrr_inject=s  ! z)dyld_image_suffix_search.._inject)r)rr rrrrrdyld_image_suffix_search8s   rccst|}|dk rGx,t|D]}tjj||dVq%Wx4t|D]&}tjj|tjj|VqTWdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs   r!ccsC|jdr?|dk r?tjj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk rRt|}x&|D]}tjj||dVq0Wt|}x.|D]&}tjj|tjj|VqeW|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'cCsnxTttt||t||t|||D]}tjj|r7|Sq7Wtd|fdS)z: Find a library or framework using dyld semantics zdylib %s could not be foundN) rchainr!r$r'rrisfile ValueError)rr#r rrrrrts    cCsd}yt|d|d|SWn+tk rM}z |}WYdd}~XnX|jd}|dkrt|}|d7}tjj|tjj|d|}yt|d|d|SWntk r|YnXdS)z Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current Nr#r z .framework)rr*rfindrrrrr)fnr#r erroreZ fmwk_indexrrrrs    + cCs:i}tddksttddks6tdS)NzlibSystem.dylibz/usr/lib/libSystem.dylibzSystem.framework/Systemz2/System/Library/Frameworks/System.framework/System)rAssertionError)r rrrtest_dyld_findsr2__main__)__doc__rZctypes.macholib.frameworkrZctypes.macholib.dylibr itertools__all__r expanduserr%r&rrrrrrrr!r$r'rrr2__name__rrrrs:         PK!{/G G -macholib/__pycache__/framework.cpython-35.pycnu[ Yf@sYdZddlZdgZejdZddZddZedkrUedS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCs#tj|}|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_frameworkr>/opt/alt/python35/lib64/python3.5/ctypes/macholib/framework.pyrscCsNddddddd}tddks3ttddksKttddkscttddks{ttd|dd d ksttd |dd d d dksttddksttddksttd|ddd dks ttd|ddd ddksJtdS)Nc Ss%td|d|d|d|d|S)Nlocationname 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_debugr debugzP/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)rAssertionError)rrrrtest_framework_info,s$*'r__main__)__doc__re__all__compilerrr__name__rrrrs      PK!1D/macholib/__pycache__/dylib.cpython-35.opt-1.pycnu[ Yf$@sYdZddlZdgZejdZddZddZedkrUedS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCs#tj|}|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:/opt/alt/python35/lib64/python3.5/ctypes/macholib/dylib.pyrscCsddddddd}dS)Nc Ss%td|d|d|d|d|S)Nlocationname shortnameversionsuffix)dict)r r r r r rrrd.s ztest_dylib_info..dr)rrrrtest_dylib_info-sr__main__)__doc__re__all__compilerrr__name__rrrrs      PK!l\)macholib/__pycache__/dylib.cpython-35.pycnu[ Yf$@sYdZddlZdgZejdZddZddZedkrUedS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCs#tj|}|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:/opt/alt/python35/lib64/python3.5/ctypes/macholib/dylib.pyrscCsddddddd}tddks3ttddksKttd|dddksottd |dd dd d ksttd |ddddksttd|ddddksttd|ddddd kstdS)Nc Ss%td|d|d|d|d|S)Nlocationname 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.dylibr debugz P/Foo.A.dylibz Foo.A.dylibAzP/Foo_debug.A.dylibzFoo_debug.A.dylibZ Foo_debugzP/Foo.A_debug.dylibzFoo.A_debug.dylib)rAssertionError)rrrrtest_dylib_info-s$*''r__main__)__doc__re__all__compilerrr__name__rrrrs      PK!U.macholib/__pycache__/dyld.cpython-35.opt-1.pycnu[ YfE@sddZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ ddZ dddZ dddZdddZdddZdddZdddZdd d!Zdd"d#Zdd$d%Zddd&dZddd'dZd(d)Zed*kr`edS)+z 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/libcCsA|dkrtj}|j|}|dkr4gS|jdS)N:)osenvirongetsplit)envvarZrvalr9/opt/alt/python35/lib64/python3.5/ctypes/macholib/dyld.pydyld_envs    rcCs"|dkrtj}|jdS)NZDYLD_IMAGE_SUFFIX)rr r )r rrrdyld_image_suffix's  rcCs 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_path5srcCs5t|}|dkr|S||dd}|S)z>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticsNcssSxL|D]D}|jdr=|dtd |dVn ||V|VqWdS)Nz.dylib)endswithlen)iteratorsuffixpathrrr_inject=s  ! z)dyld_image_suffix_search.._inject)r)rr rrrrrdyld_image_suffix_search8s   rccst|}|dk rGx,t|D]}tjj||dVq%Wx4t|D]&}tjj|tjj|VqTWdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs   r!ccsC|jdr?|dk r?tjj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk rRt|}x&|D]}tjj||dVq0Wt|}x.|D]&}tjj|tjj|VqeW|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'cCsnxTttt||t||t|||D]}tjj|r7|Sq7Wtd|fdS)z: Find a library or framework using dyld semantics zdylib %s could not be foundN) rchainr!r$r'rrisfile ValueError)rr#r rrrrrts    cCsd}yt|d|d|SWn+tk rM}z |}WYdd}~XnX|jd}|dkrt|}|d7}tjj|tjj|d|}yt|d|d|SWntk r|YnXdS)z Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current Nr#r z .framework)rr*rfindrrrrr)fnr#r erroreZ fmwk_indexrrrrs    + cCs i}dS)Nr)r rrrtest_dyld_findsr1__main__)__doc__rZctypes.macholib.frameworkrZctypes.macholib.dylibr itertools__all__r expanduserr%r&rrrrrrrr!r$r'rrr1__name__rrrrs:         PK!B66,macholib/__pycache__/__init__.cpython-35.pycnu[ Yf@sdZdZdS)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__rr=/opt/alt/python35/lib64/python3.5/ctypes/macholib/__init__.pysPK!;88.macholib/__pycache__/dyld.cpython-35.opt-2.pycnu[ ]E@s^ddlZddlmZddlmZddlTddddgZejjd d d d gZ ejjd dddgZ ddZ dddZ dddZ dddZdddZdddZdddZddd Zdd!d"Zdd#d$Zddd%dZddd&dZd'd(Zed)krZedS)*N)framework_info) dylib_info)* dyld_findframework_findrrz~/Library/Frameworksz/Library/Frameworksz/Network/Library/Frameworksz/System/Library/Frameworksz~/libz/usr/local/libz/libz/usr/libcCsA|dkrtj}|j|}|dkr4gS|jdS)N:)osenvirongetsplit)envvarZrvalr)/opt/alt/python35/lib64/python3.5/dyld.pydyld_envs    rcCs"|dkrtj}|jdS)NZDYLD_IMAGE_SUFFIX)rr r )r rrrdyld_image_suffix's  rcCs 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_path5srcCs5t|}|dkr|S||dd}|S)NcssSxL|D]D}|jdr=|dtd |dVn ||V|VqWdS)Nz.dylib)endswithlen)iteratorsuffixpathrrr_inject=s  ! z)dyld_image_suffix_search.._inject)r)rr rrrrrdyld_image_suffix_search8s   rccst|}|dk rGx,t|D]}tjj||dVq%Wx4t|D]&}tjj|tjj|VqTWdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs   r!ccsC|jdr?|dk r?tjj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk rRt|}x&|D]}tjj||dVq0Wt|}x.|D]&}tjj|tjj|VqeW|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'cCsnxTttt||t||t|||D]}tjj|r7|Sq7Wtd|fdS)Nzdylib %s could not be found) rchainr!r$r'rrisfile ValueError)rr#r rrrrrts    cCsd}yt|d|d|SWn+tk rM}z |}WYdd}~XnX|jd}|dkrt|}|d7}tjj|tjj|d|}yt|d|d|SWntk r|YnXdS)Nr#r z .framework)rr*rfindrrrrr)fnr#r erroreZ fmwk_indexrrrrs    + cCs i}dS)Nr)r rrrtest_dyld_findsr1__main__)rZctypes.macholib.frameworkrZctypes.macholib.dylibr itertools__all__r expanduserr%r&rrrrrrrr!r$r'rrr1__name__rrrrs8         PK!2macholib/__pycache__/__init__.cpython-35.opt-2.pycnu[ ]@s dZdS)z1.0N) __version__rr-/opt/alt/python35/lib64/python3.5/__init__.py sPK!ҕ/macholib/__pycache__/dylib.cpython-35.opt-2.pycnu[ ]$@sSddlZdgZejdZddZddZedkrOedS)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCs#tj|}|sdS|jS)N)DYLIB_REmatch groupdict)filenameZis_dylibr*/opt/alt/python35/lib64/python3.5/dylib.pyrscCsddddddd}dS)Nc Ss%td|d|d|d|d|S)Nlocationname shortnameversionsuffix)dict)r r r r r rrrd.s ztest_dylib_info..dr)rrrrtest_dylib_info-sr__main__)re__all__compilerrr__name__rrrrs      PK!L3macholib/__pycache__/framework.cpython-35.opt-2.pycnu[ ]@sSddlZdgZejdZddZddZedkrOedS)Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCs#tj|}|sdS|jS)N)STRICT_FRAMEWORK_REmatch groupdict)filenameZ is_frameworkr./opt/alt/python35/lib64/python3.5/framework.pyrscCsddddddd}dS)Nc Ss%td|d|d|d|d|S)Nlocationname shortnameversionsuffix)dict)r r r r r rrrd-s ztest_framework_info..dr)rrrrtest_framework_info,sr__main__)re__all__compilerrr__name__rrrrs      PK! +3macholib/__pycache__/framework.cpython-35.opt-1.pycnu[ Yf@sYdZddlZdgZejdZddZddZedkrUedS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCs#tj|}|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_frameworkr>/opt/alt/python35/lib64/python3.5/ctypes/macholib/framework.pyrscCsddddddd}dS)Nc Ss%td|d|d|d|d|S)Nlocationname shortnameversionsuffix)dict)r r r r r rrrd-s ztest_framework_info..dr)rrrrtest_framework_info,sr__main__)__doc__re__all__compilerrr__name__rrrrs      PK!jE7!D!D)__pycache__/__init__.cpython-35.opt-1.pycnu[ Yf@ @s dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd~krddlmZeZejdkr5ejdkr5eejjjdddkr5eZddlmZmZ m!Z"m#Z$dddZ%dddZ&iZ'ddZ(ejdkrddlm)Z*ddlm+Z,ejd kreZ,iZ-ddZ.e.jr e(jj/dde._nejdkr ddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5dd lm6Z6m7Z7dd!lm8Z8dd"d#Z9Gd$d%d%e8Z:e9e:d&Gd'd(d(e8Z;e9e;Gd)d*d*e8Z<e9e<Gd+d,d,e8Z=e9e=Gd-d.d.e8Z>e9e>ed/ed0krGe=Z?e>Z@n@Gd1d2d2e8Z?e9e?Gd3d4d4e8Z@e9e@Gd5d6d6e8ZAe9eAGd7d8d8e8ZBe9eBGd9d:d:e8ZCe1eCe1eBkreBZCed0ed;kr"e=ZDe>ZEn@Gd<d=d=e8ZDe9eDGd>d?d?e8ZEe9eEGd@dAdAe8ZFeFeF_GeF_He9eFGdBdCdCe8ZIeIeI_GeI_He9eIGdDdEdEe8ZJeJeJ_GeJ_He9eJGdFdGdGe8ZKe9eKd&GdHdIdIe8ZLeLZMe9eLGdJdKdKe8ZNddLlmOZOmPZPmQZQGdMdNdNe8ZRGdOdPdPe8ZSdQdRZTddSdTZUdUdVZVdWdXZWGdYdZdZeXZYGd[d\d\eYZZejdkr_Gd]d^d^eYZ[dd_lm\Z\m8Z8Gd`dadae8Z]GdbdcdceYZ^GdddedeeXZ_e_eYZ`e_eZZaejdkreZdfdejbZcn;ejdgkreZdhejdddiZcn eZdZcejdkrhe_e[Zee_e^Zfejd kr4eejgjhZhn eejijhZhddjlmjZjmkZkdddkdlZle1e@e1eLkre@Zme?ZnnKe1e>e1eLkre>Zme=Znn$e1eEe1eLkreEZmeDZnddmlmoZompZpmqZqmrZre(eLeLeLemeoZse(eLeLe?emepZtdndoZueue:eLe:e:erZvdpdqZweue:eLe?eqZxddsdtZyyddulmzZzWne{k rYn(Xeue:eLe?ezZ|ddvdwZ}ejdkr dxdyZ~dzd{Zdd|lmZmZeIZeFZxhe;e?e=eDgD]TZe1edikrY eZq8 e1ed}krt eZq8 e1edkr8 eZq8 Wxhe<e@e>eEgD]TZe1edikr eZq e1ed}kr eZq e1edkr eZq W[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchntce) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCst|trK|dkr+t|d}t|}|}||_|St|trqt|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr#4/opt/alt/python35/lib64/python3.5/ctypes/__init__.pycreate_string_buffer/s      r%cCs t||S)N)r%)rr r#r#r$c_bufferAsr&c st|jddr"tO|jddr>tO|rZtd|jytfSWnKtk rGfdddt}|tf<|SYnXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_errorz!unexpected keyword argument(s) %scs"eZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r#)argtypesflagsrestyper#r$ CFunctionTypecs r2N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r1r/kwr2r#)r/r0r1r$ CFUNCTYPEIs   "r=) LoadLibrary)FUNCFLAG_STDCALLc st|jddr"tO|jddr>tO|rZtd|jytfSWnKtk rGfdddt}|tf<|SYnXdS)Nr'Fr(z!unexpected keyword argument(s) %scs"eZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r)r*r+r,r-r.r#)r/r0r1r#r$WinFunctionType~s r@) _FUNCFLAG_STDCALLr4r5r6r7r8_win_functype_cacher:r;)r1r/r<r@r#)r/r0r1r$ WINFUNCTYPErs   "rC)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsgddlm}|dkr%|j}t|||}}||krctd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rE SystemError)typtypecoder ZactualZrequiredr#r#r$ _check_sizes   rRcs(eZdZdZfddZS) py_objectOc s;ytjSWn#tk r6dt|jSYnXdS)Nz %s())super__repr__r7typer))self) __class__r#r$rVs zpy_object.__repr__)r)r*r+rNrVr#r#)rYr$rSs rSPc@seZdZdZdS)c_shorthN)r)r*r+rNr#r#r#r$r[s r[c@seZdZdZdS)c_ushortHN)r)r*r+rNr#r#r#r$r]s r]c@seZdZdZdS)c_longlN)r)r*r+rNr#r#r#r$r_s r_c@seZdZdZdS)c_ulongLN)r)r*r+rNr#r#r#r$ras rair`c@seZdZdZdS)c_intrcN)r)r*r+rNr#r#r#r$rds rdc@seZdZdZdS)c_uintIN)r)r*r+rNr#r#r#r$res rec@seZdZdZdS)c_floatfN)r)r*r+rNr#r#r#r$rgs rgc@seZdZdZdS)c_doubledN)r)r*r+rNr#r#r#r$ris ric@seZdZdZdS) c_longdoublegN)r)r*r+rNr#r#r#r$rks rkqc@seZdZdZdS) c_longlongrmN)r)r*r+rNr#r#r#r$rns rnc@seZdZdZdS) c_ulonglongQN)r)r*r+rNr#r#r#r$ros roc@seZdZdZdS)c_ubyteBN)r)r*r+rNr#r#r#r$rqs rqc@seZdZdZdS)c_bytebN)r)r*r+rNr#r#r#r$rss rsc@seZdZdZdS)rcN)r)r*r+rNr#r#r#r$rs rc@s"eZdZdZddZdS)c_char_pzcCs d|jjtj|jfS)Nz%s(%s))rYr)c_void_p from_bufferr)rXr#r#r$rVszc_char_p.__repr__N)r)r*r+rNrVr#r#r#r$rvs rvc@seZdZdZdS)rxrZN)r)r*r+rNr#r#r#r$rxs rxc@seZdZdZdS)c_bool?N)r)r*r+rNr#r#r#r$rzs rz)POINTERpointer_pointer_type_cachec@s"eZdZdZddZdS) c_wchar_pZcCs d|jjtj|jfS)Nz%s(%s))rYr)rxryr)rXr#r#r$rVszc_wchar_p.__repr__N)r)r*r+rNrVr#r#r#r$rs rc@seZdZdZdS)c_wcharuN)r)r*r+rNr#r#r#r$rs rcCs_tjtjtjdkr-tjtjtt _t jtt _t td character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nr)rstrrrrrr)rr r!r"r#r#r$create_unicode_buffers      rcCsjtj|ddk r$tdt|tkrBtd|j||t|.qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcs|_j|r"tO|r2tOGfdddt}|_|dkr~tj|_n |_dS)NcseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r)r*r+r._func_restype_r-r#)r0rXr#r$_FuncPtrTs r)_name _func_flags_r5r6r;r_dlopen_handle)rXrmodeZhandler'r(rr#)r0rXr$__init__Js      z CDLL.__init__cCsDd|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>r)rYr)rr_sysmaxsizer)rXr#r#r$rV^sz CDLL.__repr__cCsM|jdr*|jdr*t||j|}t||||S)N__) startswithendswithAttributeError __getitem__setattr)rXrfuncr#r#r$ __getattr__ds  zCDLL.__getattr__cCs1|j||f}t|ts-||_|S)N)rrrr))rXZname_or_ordinalrr#r#r$rks zCDLL.__getitem__)r)r*r+__doc__r3rrdrrrr DEFAULT_MODErrVrrr#r#r#r$r5s   rc@s eZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r)r*r+rr3_FUNCFLAG_PYTHONAPIrr#r#r#r$rqs rc@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r)r*r+rrArr#r#r#r$rzs r)_check_HRESULTrLc@seZdZdZeZdS)HRESULTr`N)r)r*r+rNrZ_check_retval_r#r#r#r$rs  rc@s"eZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r)r*r+rrArrrr#r#r#r$rs rc@s@eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rXZdlltyper#r#r$rszLibraryLoader.__init__cCs?|ddkrt||j|}t||||S)Nr_)rrr)rXrZdllr#r#r$rs  zLibraryLoader.__getattr__cCs t||S)N)getattr)rXrr#r#r$rszLibraryLoader.__getitem__cCs |j|S)N)r)rXrr#r#r$r>szLibraryLoader.LoadLibraryN)r)r*r+rrrr>r#r#r#r$rs    rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCsF|dkrt}|dkr3t|j}td|d|S)N) GetLastErrorrstripOSError)codeZdescrr#r#r$WinErrors    r) _memmove_addr _memset_addr_string_at_addr _cast_addrcs#Gfdddt}|S)Ncs&eZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r)r*r+r,r-r3rr.r#)r/r1r#r$r2s r2)r;)r1r/r2r#)r/r1r$ PYFUNCTYPEsrcCst|||S)N)_cast)objrPr#r#r$castsrrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_at)ptrr r#r#r$ string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_at)rr r#r#r$ wstring_atsrc CsRy"tdttdg}Wntk r:dSYnX|j|||SdS)Nzcomtypes.server.inprocserver*ii) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr#r#r$rs "  rc CsEy"tdttdg}Wntk r:dSYnX|jS)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr#r#r$rs "  r)BigEndianStructureLittleEndianStructure)r r )r r )r r )r r )r r r)r r )rosrsysrrZ_ctypesrrrrrr;Z_ctypes_versionrr r rMr Z _calcsize Exceptionrrrplatformrunamereleasesplitrr3rrrr5rr6r%r&r9r=r>rr?rArBrCreplacerDrErFrGrHrIrJrKrLrRrSr[r]r_rardrergrirkrnrorqZ __ctype_le__Z __ctype_be__rsrrvrxZc_voidprzr|r}r~rrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rZcoredllrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r#r#r#r$s< (" !  (                     <           "           PK!jE7!D!D#__pycache__/__init__.cpython-35.pycnu[ Yf@ @s dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd~krddlmZeZejdkr5ejdkr5eejjjdddkr5eZddlmZmZ m!Z"m#Z$dddZ%dddZ&iZ'ddZ(ejdkrddlm)Z*ddlm+Z,ejd kreZ,iZ-ddZ.e.jr e(jj/dde._nejdkr ddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5dd lm6Z6m7Z7dd!lm8Z8dd"d#Z9Gd$d%d%e8Z:e9e:d&Gd'd(d(e8Z;e9e;Gd)d*d*e8Z<e9e<Gd+d,d,e8Z=e9e=Gd-d.d.e8Z>e9e>ed/ed0krGe=Z?e>Z@n@Gd1d2d2e8Z?e9e?Gd3d4d4e8Z@e9e@Gd5d6d6e8ZAe9eAGd7d8d8e8ZBe9eBGd9d:d:e8ZCe1eCe1eBkreBZCed0ed;kr"e=ZDe>ZEn@Gd<d=d=e8ZDe9eDGd>d?d?e8ZEe9eEGd@dAdAe8ZFeFeF_GeF_He9eFGdBdCdCe8ZIeIeI_GeI_He9eIGdDdEdEe8ZJeJeJ_GeJ_He9eJGdFdGdGe8ZKe9eKd&GdHdIdIe8ZLeLZMe9eLGdJdKdKe8ZNddLlmOZOmPZPmQZQGdMdNdNe8ZRGdOdPdPe8ZSdQdRZTddSdTZUdUdVZVdWdXZWGdYdZdZeXZYGd[d\d\eYZZejdkr_Gd]d^d^eYZ[dd_lm\Z\m8Z8Gd`dadae8Z]GdbdcdceYZ^GdddedeeXZ_e_eYZ`e_eZZaejdkreZdfdejbZcn;ejdgkreZdhejdddiZcn eZdZcejdkrhe_e[Zee_e^Zfejd kr4eejgjhZhn eejijhZhddjlmjZjmkZkdddkdlZle1e@e1eLkre@Zme?ZnnKe1e>e1eLkre>Zme=Znn$e1eEe1eLkreEZmeDZnddmlmoZompZpmqZqmrZre(eLeLeLemeoZse(eLeLe?emepZtdndoZueue:eLe:e:erZvdpdqZweue:eLe?eqZxddsdtZyyddulmzZzWne{k rYn(Xeue:eLe?ezZ|ddvdwZ}ejdkr dxdyZ~dzd{Zdd|lmZmZeIZeFZxhe;e?e=eDgD]TZe1edikrY eZq8 e1ed}krt eZq8 e1edkr8 eZq8 Wxhe<e@e>eEgD]TZe1edikr eZq e1ed}kr eZq e1edkr eZq W[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchntce) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCst|trK|dkr+t|d}t|}|}||_|St|trqt|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr#4/opt/alt/python35/lib64/python3.5/ctypes/__init__.pycreate_string_buffer/s      r%cCs t||S)N)r%)rr r#r#r$c_bufferAsr&c st|jddr"tO|jddr>tO|rZtd|jytfSWnKtk rGfdddt}|tf<|SYnXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_errorz!unexpected keyword argument(s) %scs"eZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r#)argtypesflagsrestyper#r$ CFunctionTypecs r2N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r1r/kwr2r#)r/r0r1r$ CFUNCTYPEIs   "r=) LoadLibrary)FUNCFLAG_STDCALLc st|jddr"tO|jddr>tO|rZtd|jytfSWnKtk rGfdddt}|tf<|SYnXdS)Nr'Fr(z!unexpected keyword argument(s) %scs"eZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r)r*r+r,r-r.r#)r/r0r1r#r$WinFunctionType~s r@) _FUNCFLAG_STDCALLr4r5r6r7r8_win_functype_cacher:r;)r1r/r<r@r#)r/r0r1r$ WINFUNCTYPErs   "rC)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsgddlm}|dkr%|j}t|||}}||krctd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rE SystemError)typtypecoder ZactualZrequiredr#r#r$ _check_sizes   rRcs(eZdZdZfddZS) py_objectOc s;ytjSWn#tk r6dt|jSYnXdS)Nz %s())super__repr__r7typer))self) __class__r#r$rVs zpy_object.__repr__)r)r*r+rNrVr#r#)rYr$rSs rSPc@seZdZdZdS)c_shorthN)r)r*r+rNr#r#r#r$r[s r[c@seZdZdZdS)c_ushortHN)r)r*r+rNr#r#r#r$r]s r]c@seZdZdZdS)c_longlN)r)r*r+rNr#r#r#r$r_s r_c@seZdZdZdS)c_ulongLN)r)r*r+rNr#r#r#r$ras rair`c@seZdZdZdS)c_intrcN)r)r*r+rNr#r#r#r$rds rdc@seZdZdZdS)c_uintIN)r)r*r+rNr#r#r#r$res rec@seZdZdZdS)c_floatfN)r)r*r+rNr#r#r#r$rgs rgc@seZdZdZdS)c_doubledN)r)r*r+rNr#r#r#r$ris ric@seZdZdZdS) c_longdoublegN)r)r*r+rNr#r#r#r$rks rkqc@seZdZdZdS) c_longlongrmN)r)r*r+rNr#r#r#r$rns rnc@seZdZdZdS) c_ulonglongQN)r)r*r+rNr#r#r#r$ros roc@seZdZdZdS)c_ubyteBN)r)r*r+rNr#r#r#r$rqs rqc@seZdZdZdS)c_bytebN)r)r*r+rNr#r#r#r$rss rsc@seZdZdZdS)rcN)r)r*r+rNr#r#r#r$rs rc@s"eZdZdZddZdS)c_char_pzcCs d|jjtj|jfS)Nz%s(%s))rYr)c_void_p from_bufferr)rXr#r#r$rVszc_char_p.__repr__N)r)r*r+rNrVr#r#r#r$rvs rvc@seZdZdZdS)rxrZN)r)r*r+rNr#r#r#r$rxs rxc@seZdZdZdS)c_bool?N)r)r*r+rNr#r#r#r$rzs rz)POINTERpointer_pointer_type_cachec@s"eZdZdZddZdS) c_wchar_pZcCs d|jjtj|jfS)Nz%s(%s))rYr)rxryr)rXr#r#r$rVszc_wchar_p.__repr__N)r)r*r+rNrVr#r#r#r$rs rc@seZdZdZdS)c_wcharuN)r)r*r+rNr#r#r#r$rs rcCs_tjtjtjdkr-tjtjtt _t jtt _t td character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Nr)rstrrrrrr)rr r!r"r#r#r$create_unicode_buffers      rcCsjtj|ddk r$tdt|tkrBtd|j||t|.qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcs|_j|r"tO|r2tOGfdddt}|_|dkr~tj|_n |_dS)NcseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r)r*r+r._func_restype_r-r#)r0rXr#r$_FuncPtrTs r)_name _func_flags_r5r6r;r_dlopen_handle)rXrmodeZhandler'r(rr#)r0rXr$__init__Js      z CDLL.__init__cCsDd|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>r)rYr)rr_sysmaxsizer)rXr#r#r$rV^sz CDLL.__repr__cCsM|jdr*|jdr*t||j|}t||||S)N__) startswithendswithAttributeError __getitem__setattr)rXrfuncr#r#r$ __getattr__ds  zCDLL.__getattr__cCs1|j||f}t|ts-||_|S)N)rrrr))rXZname_or_ordinalrr#r#r$rks zCDLL.__getitem__)r)r*r+__doc__r3rrdrrrr DEFAULT_MODErrVrrr#r#r#r$r5s   rc@s eZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r)r*r+rr3_FUNCFLAG_PYTHONAPIrr#r#r#r$rqs rc@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r)r*r+rrArr#r#r#r$rzs r)_check_HRESULTrLc@seZdZdZeZdS)HRESULTr`N)r)r*r+rNrZ_check_retval_r#r#r#r$rs  rc@s"eZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r)r*r+rrArrrr#r#r#r$rs rc@s@eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rXZdlltyper#r#r$rszLibraryLoader.__init__cCs?|ddkrt||j|}t||||S)Nr_)rrr)rXrZdllr#r#r$rs  zLibraryLoader.__getattr__cCs t||S)N)getattr)rXrr#r#r$rszLibraryLoader.__getitem__cCs |j|S)N)r)rXrr#r#r$r>szLibraryLoader.LoadLibraryN)r)r*r+rrrr>r#r#r#r$rs    rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCsF|dkrt}|dkr3t|j}td|d|S)N) GetLastErrorrstripOSError)codeZdescrr#r#r$WinErrors    r) _memmove_addr _memset_addr_string_at_addr _cast_addrcs#Gfdddt}|S)Ncs&eZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r)r*r+r,r-r3rr.r#)r/r1r#r$r2s r2)r;)r1r/r2r#)r/r1r$ PYFUNCTYPEsrcCst|||S)N)_cast)objrPr#r#r$castsrrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_at)ptrr r#r#r$ string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_at)rr r#r#r$ wstring_atsrc CsRy"tdttdg}Wntk r:dSYnX|j|||SdS)Nzcomtypes.server.inprocserver*ii) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr#r#r$rs "  rc CsEy"tdttdg}Wntk r:dSYnX|jS)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr#r#r$rs "  r)BigEndianStructureLittleEndianStructure)r r )r r )r r )r r )r r r)r r )rosrsysrrZ_ctypesrrrrrr;Z_ctypes_versionrr r rMr Z _calcsize Exceptionrrrplatformrunamereleasesplitrr3rrrr5rr6r%r&r9r=r>rr?rArBrCreplacerDrErFrGrHrIrJrKrLrRrSr[r]r_rardrergrirkrnrorqZ __ctype_le__Z __ctype_be__rsrrvrxZc_voidprzr|r}r~rrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rZcoredllrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r#r#r#r$s< (" !  (                     <           "           PK!w$x4;4;)__pycache__/__init__.cpython-35.opt-2.pycnu[ $Yf@ @s ddlZddlZdZddlmZmZmZddlm Z ddlm Z ddlmZ ddlm Z mZddlmZdd lmZee kred ee ejd}krdd lmZe Zejdkr/ejdkr/eejjjdddkr/eZddlmZmZm Z!m"Z#dddZ$dddZ%iZ&ddZ'ejd~krddlm(Z)ddlm*Z+ejd kreZ+iZ,ddZ-e-j.re'j.j/dde-_.nejdkrddlm0Z)ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7dd lm8Z8dd!d"Z9Gd#d$d$e8Z:e9e:d%Gd&d'd'e8Z;e9e;Gd(d)d)e8Z<e9e<Gd*d+d+e8Z=e9e=Gd,d-d-e8Z>e9e>ed.ed/krAe=Z?e>Z@n@Gd0d1d1e8Z?e9e?Gd2d3d3e8Z@e9e@Gd4d5d5e8ZAe9eAGd6d7d7e8ZBe9eBGd8d9d9e8ZCe1eCe1eBkreBZCed/ed:kre=ZDe>ZEn@Gd;d<d<e8ZDe9eDGd=d>d>e8ZEe9eEGd?d@d@e8ZFeFeF_GeF_He9eFGdAdBdBe8ZIeIeI_GeI_He9eIGdCdDdDe8ZJeJeJ_GeJ_He9eJGdEdFdFe8ZKe9eKd%GdGdHdHe8ZLeLZMe9eLGdIdJdJe8ZNddKlmOZOmPZPmQZQGdLdMdMe8ZRGdNdOdOe8ZSdPdQZTddRdSZUdTdUZVdVdWZWGdXdYdYeXZYGdZd[d[eYZZejdkrYGd\d]d]eYZ[dd^lm\Z\m8Z8Gd_d`d`e8Z]GdadbdbeYZ^GdcddddeXZ_e_eYZ`e_eZZaejdkreZdedejbZcn;ejdfkreZdgejdddhZcn eZdZcejdkrbe_e[Zee_e^Zfejd kr.eejgjhZhn eejijhZhddilmjZjmkZkdddjdkZle1e@e1eLkre@Zme?ZnnKe1e>e1eLkre>Zme=Znn$e1eEe1eLkreEZmeDZnddllmoZompZpmqZqmrZre'eLeLeLemeoZse'eLeLe?emepZtdmdnZueue:eLe:e:erZvdodpZweue:eLe?eqZxddrdsZyyddtlmzZzWne{k rYn(Xeue:eLe?ezZ|ddudvZ}ejdkrdwdxZ~dydzZdd{lmZmZeIZeFZxhe;e?e=eDgD]TZe1edhkrS eZq2 e1ed|krn eZq2 e1edkr2 eZq2 Wxhe<e@e>eEgD]TZe1edhkr eZq e1ed|kr eZq e1edkr eZq W[eTdS)Nz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchntce) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCst|trK|dkr+t|d}t|}|}||_|St|trqt|}|}|St|dS)N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr#-/opt/alt/python35/lib64/python3.5/__init__.pycreate_string_buffer/s      r%cCs t||S)N)r%)rr r#r#r$c_bufferAsr&c st|jddr"tO|jddr>tO|rZtd|jytfSWnKtk rGfdddt}|tf<|SYnXdS)N use_errnoFuse_last_errorz!unexpected keyword argument(s) %scs"eZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r#)argtypesflagsrestyper#r$ CFunctionTypecs r2) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r1r/kwr2r#)r/r0r1r$ CFUNCTYPEIs   "r=) LoadLibrary)FUNCFLAG_STDCALLc st|jddr"tO|jddr>tO|rZtd|jytfSWnKtk rGfdddt}|tf<|SYnXdS)Nr'Fr(z!unexpected keyword argument(s) %scs"eZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r)r*r+r,r-r.r#)r/r0r1r#r$WinFunctionType~s r@) _FUNCFLAG_STDCALLr4r5r6r7r8_win_functype_cacher:r;)r1r/r<r@r#)r/r0r1r$ WINFUNCTYPErs   "rC)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsgddlm}|dkr%|j}t|||}}||krctd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rE SystemError)typtypecoder actualrequiredr#r#r$ _check_sizes   rTcs(eZdZdZfddZS) py_objectOc s;ytjSWn#tk r6dt|jSYnXdS)Nz %s())super__repr__r7typer))self) __class__r#r$rXs zpy_object.__repr__)r)r*r+rNrXr#r#)r[r$rUs rUPc@seZdZdZdS)c_shorthN)r)r*r+rNr#r#r#r$r]s r]c@seZdZdZdS)c_ushortHN)r)r*r+rNr#r#r#r$r_s r_c@seZdZdZdS)c_longlN)r)r*r+rNr#r#r#r$ras rac@seZdZdZdS)c_ulongLN)r)r*r+rNr#r#r#r$rcs rcirbc@seZdZdZdS)c_intreN)r)r*r+rNr#r#r#r$rfs rfc@seZdZdZdS)c_uintIN)r)r*r+rNr#r#r#r$rgs rgc@seZdZdZdS)c_floatfN)r)r*r+rNr#r#r#r$ris ric@seZdZdZdS)c_doubledN)r)r*r+rNr#r#r#r$rks rkc@seZdZdZdS) c_longdoublegN)r)r*r+rNr#r#r#r$rms rmqc@seZdZdZdS) c_longlongroN)r)r*r+rNr#r#r#r$rps rpc@seZdZdZdS) c_ulonglongQN)r)r*r+rNr#r#r#r$rqs rqc@seZdZdZdS)c_ubyteBN)r)r*r+rNr#r#r#r$rss rsc@seZdZdZdS)c_bytebN)r)r*r+rNr#r#r#r$rus ruc@seZdZdZdS)rcN)r)r*r+rNr#r#r#r$rs rc@s"eZdZdZddZdS)c_char_pzcCs d|jjtj|jfS)Nz%s(%s))r[r)c_void_p from_bufferr)rZr#r#r$rXszc_char_p.__repr__N)r)r*r+rNrXr#r#r#r$rxs rxc@seZdZdZdS)rzr\N)r)r*r+rNr#r#r#r$rzs rzc@seZdZdZdS)c_bool?N)r)r*r+rNr#r#r#r$r|s r|)POINTERpointer_pointer_type_cachec@s"eZdZdZddZdS) c_wchar_pZcCs d|jjtj|jfS)Nz%s(%s))r[r)rzr{r)rZr#r#r$rXszc_wchar_p.__repr__N)r)r*r+rNrXr#r#r#r$rs rc@seZdZdZdS)c_wcharuN)r)r*r+rNr#r#r#r$rs rcCs_tjtjtjdkr-tjtjtt _t jtt _t tdrNFcs|_j|r"tO|r2tOGfdddt}|_|dkr~tj|_n |_dS)NcseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r)r*r+r._func_restype_r-r#)r0rZr#r$_FuncPtrTs r)_name _func_flags_r5r6r;r_dlopen_handle)rZrmodehandler'r(rr#)r0rZr$__init__Js      z CDLL.__init__cCsDd|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>r)r[r)rr_sysmaxsizer)rZr#r#r$rX^sz CDLL.__repr__cCsM|jdr*|jdr*t||j|}t||||S)N__) startswithendswithAttributeError __getitem__setattr)rZrfuncr#r#r$ __getattr__ds  zCDLL.__getattr__cCs1|j||f}t|ts-||_|S)N)rrrr))rZZname_or_ordinalrr#r#r$rks zCDLL.__getitem__)r)r*r+r3rrfrrrr DEFAULT_MODErrXrrr#r#r#r$r5s   rc@seZdZeeBZdS)PyDLLN)r)r*r+r3_FUNCFLAG_PYTHONAPIrr#r#r#r$rqs rc@seZdZeZdS)WinDLLN)r)r*r+rArr#r#r#r$rzs r)_check_HRESULTrLc@seZdZdZeZdS)HRESULTrbN)r)r*r+rNrZ_check_retval_r#r#r#r$rs  rc@seZdZeZeZdS)OleDLLN)r)r*r+rArrrr#r#r#r$rs rc@s@eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rZZdlltyper#r#r$rszLibraryLoader.__init__cCs?|ddkrt||j|}t||||S)Nr_)rrr)rZrZdllr#r#r$rs  zLibraryLoader.__getattr__cCs t||S)N)getattr)rZrr#r#r$rszLibraryLoader.__getitem__cCs |j|S)N)r)rZrr#r#r$r>szLibraryLoader.LoadLibraryN)r)r*r+rrrr>r#r#r#r$rs    rz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCsF|dkrt}|dkr3t|j}td|d|S)N) GetLastErrorrstripOSError)codeZdescrr#r#r$WinErrors    r) _memmove_addr _memset_addr_string_at_addr _cast_addrcs#Gfdddt}|S)Ncs&eZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r)r*r+r,r-r3rr.r#)r/r1r#r$r2s r2)r;)r1r/r2r#)r/r1r$ PYFUNCTYPEsrcCst|||S)N)_cast)objrPr#r#r$castsrrcCs t||S)N) _string_at)ptrr r#r#r$ string_atsr)_wstring_at_addrcCs t||S)N) _wstring_at)rr r#r#r$ wstring_atsrc CsRy"tdttdg}Wntk r:dSYnX|j|||SdS)Nzcomtypes.server.inprocserver*ii) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr#r#r$rs "  rc CsEy"tdttdg}Wntk r:dSYnX|jS)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr#r#r$rs "  r)BigEndianStructureLittleEndianStructure)r r )r r )r r )r r )r r r)r r )osrsysrrZ_ctypesrrrrrr;Z_ctypes_versionrr r rMr Z _calcsize Exceptionrrrplatformrunamereleasesplitrr3rrrr5rr6r%r&r9r=r>rr?rArBrC__doc__replacerDrErFrGrHrIrJrKrLrTrUr]r_rarcrfrgrirkrmrprqrsZ __ctype_le__Z __ctype_be__rurrxrzZc_voidpr|r~rrrrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rZcoredllrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8kindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r#r#r#r$s: (" !  (                     <           "           PK!EE__pycache__/util.cpython-35.pycnu[ Yf>+@sddlZddlZddlZddlZejdkrcddZddZddZejd kr~d dZejd krejd krdd l m Z ddZnejd krddl Z ddl Z ddZejdkr ddZn ddZejjd%rEddZddZnEejdkrrddZdddZndd Zd!dZd"d#Zed$kredS)&NntcCsd}tjj|}|d kr(dS|t|}tj|djdd\}}t|dd d}|dkr|d7}t|ddd }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr0/opt/alt/python35/lib64/python3.5/ctypes/util.py_get_build_version s %    rcCst}|dkrdS|dkr.d}n!|dkrKd|d}ndSddl}d|jjkrw|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s       rcCs|dkrtSxtjdjtjD]i}tjj||}tjj|r^|S|jj drvq-|d}tjj|r-|Sq-WdS)NcmPATHz.dll)r r!) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s   r,ZcecCs|S)Nr)r+rrrr,Msposixdarwin) dyld_findc Cs\d|d|d||fg}x4|D],}yt|SWq(tk rSw(Yq(Xq(WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r+Zpossiblerrrr,Rs   c !CsStjdtj|}tjd}|s@tjd}|sJdStj}z|dd|jd|g}t tj }d|d \S*/(lib%s\.\S+)/sbin/ldconfig-rr6r7keyr)r^r_r )r:r;r#r9r@rArBrOrCr6rDfindallrRrNsortr]rH)r+ZenamerJrLrQrMrrrr,s     c Cs;tjjdsdSttj}d|d<|r>d }nd }d}y+tj|dtjdtjd|}Wnt k rdSYnX|MxE|j D]:}|j }|j drtj |jd }qWWdQRX|sdSxF|jd D]5}tjj|d |}tjj|r|SqWdS)N /usr/bin/crler3r4-64r6r7r8sDefault Library Path (ELF)::zlib%s.so)rdre)rd)r#r&existsr?r$r@rArBrOrCr6strip startswithrHrr') r+is64r8rKpathsrLlinedirZlibfilerrr _findLib_crles6         $roFcCstt||pt|S)N)rRrorN)r+rkrrrr,scCsBddl}|jddkr7tjjd}ntjjd}dddd d d d d d d i}|j|d}tjdtj||f}yt j ddgdt j dt j dt j dddddi>}tj ||jj}|r!tj|jdSWdQRXWntk r=YnXdS)Nrlrfz-32z-64z x86_64-64z libc6,x86-64zppc64-64z libc6,64bitz sparc64-64zs390x-64zia64-64z libc6,IA-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pstdinr7r6r8r4r3r5r)structZcalcsizer#unamemachinegetr9r:r;r@rArOrBrGr6rDrHrIrC)r+rrrtZmach_mapZabi_typeZregexprMrrr_findSoname_ldconfigs.     ! rwcCst|ptt|S)N)rwrRrN)r+rrrr, scCs&ddlm}tjdkrOt|jt|jdttdtjdkr"ttdttdttdtj d krt|j d t|j d t|j d t|j d n6t|j dt|j dttddS)Nr)cdllrrr-r!r bz2r.z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemzlibm.soz libcrypt.soZcrypt) Zctypesrxr#r+printrloadr,r platformZ LoadLibrary)rxrrrtest&s" r}__main__)rUrVrW)r#r<r@r r+rrr,r|Zctypes.macholib.dyldr/r0r:r>rNrRrjr]rorwr}__name__rrrrs:          +   $    PK!&V(__pycache__/_endian.cpython-35.opt-1.pycnu[ Yf@sddlZddlTeeZddZGdddeeZejdkrdZ eZ Gd d d ed eZ nFejd krd Z eZ Gddded eZ n e ddS)N)*cCsft|trt|tSt|tr?t|j|jSt|t rR|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr 3/opt/alt/python35/lib64/python3.5/ctypes/_endian.pyrs rcs"eZdZfddZS) _swapped_metacs|dkrjg}xO|D]G}|d}|d}|dd}|j|t|f|qW|}tj||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs    !z_swapped_meta.__setattr__)__name__ __module__ __qualname__rr r )rrrs rlittleZ __ctype_be__c@s"eZdZdZfZdZdS)BigEndianStructurez$Structure with big endian byte orderN)rrr__doc__ __slots___swappedbytes_r r r rr.s r metaclassZbigZ __ctype_le__c@s"eZdZdZfZdZdS)LittleEndianStructurez'Structure with little endian byte orderN)rrrrr r!r r r rr#7s r#zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr#r RuntimeErrorr r r rs    PK!(__pycache__/_endian.cpython-35.opt-2.pycnu[ ]@sddlZddlTeeZddZGdddeeZejdkrdZ eZ Gd d d ed eZ nFejd krd Z eZ Gddded eZ n e ddS)N)*cCsft|trt|tSt|tr?t|j|jSt|t rR|St d|dS)Nz+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr ,/opt/alt/python35/lib64/python3.5/_endian.pyrs rcs"eZdZfddZS) _swapped_metacs|dkrjg}xO|D]G}|d}|d}|dd}|j|t|f|qW|}tj||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs    !z_swapped_meta.__setattr__)__name__ __module__ __qualname__rr r )rrrs rlittleZ __ctype_be__c@seZdZfZdZdS)BigEndianStructureN)rrr __slots___swappedbytes_r r r rr.s r metaclassbigZ __ctype_le__c@seZdZfZdZdS)LittleEndianStructureN)rrrrr r r r rr#7s r#zInvalid byteorder) sysZctypestypeArrayrrr r byteorderrr#r RuntimeErrorr r r rs    PK!5Zcc)__pycache__/wintypes.cpython-35.opt-2.pycnu[ ]@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,kr4ejZ0ejZ1n6ej/ejej/ej,krjej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Z<e8Z=e8Z>e8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS)Nc@s"eZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr-/opt/alt/python35/lib64/python3.5/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rs rc@s:eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r as    r c@s:eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhs    rc@s(eZdZdefdefgZdS)_COORDXYN)rr r rrrrrr ros  rc@s(eZdZdefdefgZdS)POINTxyN)rr r rrrrrr rss  rc@s(eZdZdefdefgZdS)SIZEZcxcyN)rr r rrrrrr rxs  rcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@s(eZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr r s  r c@sLeZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamtimeptN) rr r HWNDUINTWPARAMLPARAMr!rrrrrr r"s      r"ic @sxeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r!r CHARMAX_PATHrrrrr r*s          r*c @sxeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr+r,r-r.r/r0r1r2r3r4r5N)rr r r!r WCHARr7rrrrr r8s          r8)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr!Zc_charr6Zc_wcharr9Zc_uintr'Zc_intINTZc_doubleZDOUBLEZc_floatFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr(r)ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr&Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrr Z _FILETIMEr"ZtagMSGr7r*r8ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                    $  $      PK!"`Gjj#__pycache__/wintypes.cpython-35.pycnu[ Yf@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,kr4ejZ0ejZ1n6ej/ejej/ej,krjej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Z<e8Z=e8Z>e8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS)Nc@s"eZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr4/opt/alt/python35/lib64/python3.5/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rs rc@s:eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r as    r c@s:eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhs    rc@s(eZdZdefdefgZdS)_COORDXYN)rr r rrrrrr ros  rc@s(eZdZdefdefgZdS)POINTxyN)rr r rrrrrr rss  rc@s(eZdZdefdefgZdS)SIZEZcxZcyN)rr r rrrrrr rxs  rcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@s(eZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr rs  rc@sLeZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeZptN) rr r HWNDUINTWPARAMLPARAMr rrrrrr r!s      r!ic @sxeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r rCHARMAX_PATHrrrrr r's          r'c @sxeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr(r)r*r+r,r-r.r/r0r1r2N)rr r r rWCHARr4rrrrr r5s          r5)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr Zc_charr3Zc_wcharr6Zc_uintr$Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr%r&ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr#Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrrZ _FILETIMEr!ZtagMSGr4r'r5ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                    $  $      PK!&V"__pycache__/_endian.cpython-35.pycnu[ Yf@sddlZddlTeeZddZGdddeeZejdkrdZ eZ Gd d d ed eZ nFejd krd Z eZ Gddded eZ n e ddS)N)*cCsft|trt|tSt|tr?t|j|jSt|t rR|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr 3/opt/alt/python35/lib64/python3.5/ctypes/_endian.pyrs rcs"eZdZfddZS) _swapped_metacs|dkrjg}xO|D]G}|d}|d}|dd}|j|t|f|qW|}tj||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs    !z_swapped_meta.__setattr__)__name__ __module__ __qualname__rr r )rrrs rlittleZ __ctype_be__c@s"eZdZdZfZdZdS)BigEndianStructurez$Structure with big endian byte orderN)rrr__doc__ __slots___swappedbytes_r r r rr.s r metaclassZbigZ __ctype_le__c@s"eZdZdZfZdZdS)LittleEndianStructurez'Structure with little endian byte orderN)rrrrr r!r r r rr#7s r#zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr#r RuntimeErrorr r r rs    PK!"`Gjj)__pycache__/wintypes.cpython-35.opt-1.pycnu[ Yf@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,kr4ejZ0ejZ1n6ej/ejej/ej,krjej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Z<e8Z=e8Z>e8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS)Nc@s"eZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr4/opt/alt/python35/lib64/python3.5/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rs rc@s:eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r as    r c@s:eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhs    rc@s(eZdZdefdefgZdS)_COORDXYN)rr r rrrrrr ros  rc@s(eZdZdefdefgZdS)POINTxyN)rr r rrrrrr rss  rc@s(eZdZdefdefgZdS)SIZEZcxZcyN)rr r rrrrrr rxs  rcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@s(eZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr rs  rc@sLeZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeZptN) rr r HWNDUINTWPARAMLPARAMr rrrrrr r!s      r!ic @sxeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r rCHARMAX_PATHrrrrr r's          r'c @sxeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr(r)r*r+r,r-r.r/r0r1r2N)rr r r rWCHARr4rrrrr r5s          r5)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr Zc_charr3Zc_wcharr6Zc_uintr$Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr%r&ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr#Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrrZ _FILETIMEr!ZtagMSGr4r'r5ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                    $  $      PK!EE%__pycache__/util.cpython-35.opt-1.pycnu[ Yf>+@sddlZddlZddlZddlZejdkrcddZddZddZejd kr~d dZejd krejd krdd l m Z ddZnejd krddl Z ddl Z ddZejdkr ddZn ddZejjd%rEddZddZnEejdkrrddZdddZndd Zd!dZd"d#Zed$kredS)&NntcCsd}tjj|}|d kr(dS|t|}tj|djdd\}}t|dd d}|dkr|d7}t|ddd }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr0/opt/alt/python35/lib64/python3.5/ctypes/util.py_get_build_version s %    rcCst}|dkrdS|dkr.d}n!|dkrKd|d}ndSddl}d|jjkrw|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s       rcCs|dkrtSxtjdjtjD]i}tjj||}tjj|r^|S|jj drvq-|d}tjj|r-|Sq-WdS)NcmPATHz.dll)r r!) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s   r,ZcecCs|S)Nr)r+rrrr,Msposixdarwin) dyld_findc Cs\d|d|d||fg}x4|D],}yt|SWq(tk rSw(Yq(Xq(WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r+Zpossiblerrrr,Rs   c !CsStjdtj|}tjd}|s@tjd}|sJdStj}z|dd|jd|g}t tj }d|d \S*/(lib%s\.\S+)/sbin/ldconfig-rr6r7keyr)r^r_r )r:r;r#r9r@rArBrOrCr6rDfindallrRrNsortr]rH)r+ZenamerJrLrQrMrrrr,s     c Cs;tjjdsdSttj}d|d<|r>d }nd }d}y+tj|dtjdtjd|}Wnt k rdSYnX|MxE|j D]:}|j }|j drtj |jd }qWWdQRX|sdSxF|jd D]5}tjj|d |}tjj|r|SqWdS)N /usr/bin/crler3r4-64r6r7r8sDefault Library Path (ELF)::zlib%s.so)rdre)rd)r#r&existsr?r$r@rArBrOrCr6strip startswithrHrr') r+is64r8rKpathsrLlinedirZlibfilerrr _findLib_crles6         $roFcCstt||pt|S)N)rRrorN)r+rkrrrr,scCsBddl}|jddkr7tjjd}ntjjd}dddd d d d d d d i}|j|d}tjdtj||f}yt j ddgdt j dt j dt j dddddi>}tj ||jj}|r!tj|jdSWdQRXWntk r=YnXdS)Nrlrfz-32z-64z x86_64-64z libc6,x86-64zppc64-64z libc6,64bitz sparc64-64zs390x-64zia64-64z libc6,IA-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pstdinr7r6r8r4r3r5r)structZcalcsizer#unamemachinegetr9r:r;r@rArOrBrGr6rDrHrIrC)r+rrrtZmach_mapZabi_typeZregexprMrrr_findSoname_ldconfigs.     ! rwcCst|ptt|S)N)rwrRrN)r+rrrr, scCs&ddlm}tjdkrOt|jt|jdttdtjdkr"ttdttdttdtj d krt|j d t|j d t|j d t|j d n6t|j dt|j dttddS)Nr)cdllrrr-r!r bz2r.z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemzlibm.soz libcrypt.soZcrypt) Zctypesrxr#r+printrloadr,r platformZ LoadLibrary)rxrrrtest&s" r}__main__)rUrVrW)r#r<r@r r+rrr,r|Zctypes.macholib.dyldr/r0r:r>rNrRrjr]rorwr}__name__rrrrs:          +   $    PK!4O+FF%__pycache__/util.cpython-35.opt-2.pycnu[ ]>+@sddlZddlZddlZddlZejdkrcddZddZddZejd kr~d dZejd krejd krdd l m Z ddZnejd krddl Z ddl Z ddZejdkr ddZn ddZejjd%rEddZddZnEejdkrrddZdddZndd Zd!dZd"d#Zed$kredS)&NntcCsd}tjj|}|d kr(dS|t|}tj|djdd\}}t|dd d}|dkr|d7}t|ddd}|dkrd }|dkr||SdS) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr)/opt/alt/python35/lib64/python3.5/util.py_get_build_version s %    rcCst}|dkrdS|dkr.d}n!|dkrKd|d}ndSddl}d|jjkrw|d7}|d S) Nrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rZimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s       rcCs|dkrtSxtjdjtjD]i}tjj||}tjj|r^|S|jj drvq-|d}tjj|r-|Sq-WdS)NcmPATHz.dll)rr ) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s   r+ZcecCs|S)Nr)r*rrrr+Msposixdarwin) dyld_findc Cs\d|d|d||fg}x4|D],}yt|SWq(tk rSw(Yq(Xq(WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r*possiblerrrr+Rs   c !CsStjdtj|}tjd}|s@tjd}|sJdStj}z|dd|jd|g}t tj }d|d \S*/(lib%s\.\S+)/sbin/ldconfig-rr6r7keyr)r`rar )r:r;r"r9rArBrCrQrEr6rFfindallrTrPsortr_rJ)r*ZenamerLrNrSrOrrrr+s     c Cs;tjjdsdSttj}d|d<|r>d }nd }d}y+tj|dtjdtjd|}Wnt k rdSYnX|MxE|j D]:}|j }|j drtj |jd }qWWdQRX|sdSxF|jd D]5}tjj|d |}tjj|r|SqWdS)N /usr/bin/crler3r4-64r6r7r8sDefault Library Path (ELF)::zlib%s.so)rfrg)rf)r"r%existsr@r#rArBrCrQrEr6strip startswithrJrr&) r*is64r8rMpathsrNlinedirZlibfilerrr _findLib_crles6         $rqFcCstt||pt|S)N)rTrqrP)r*rmrrrr+scCsBddl}|jddkr7tjjd}ntjjd}dddd d d d d d d i}|j|d}tjdtj||f}yt j ddgdt j dt j dt j dddddi>}tj ||jj}|r!tj|jdSWdQRXWntk r=YnXdS)Nrlrhz-32z-64z x86_64-64z libc6,x86-64zppc64-64z libc6,64bitz sparc64-64zs390x-64zia64-64z libc6,IA-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pstdinr7r6r8r4r3r5r)structcalcsizer"unamemachinegetr9r:r;rArBrQrCrIr6rFrJrKrE)r*rtrwZmach_mapZabi_typeZregexprOrrr_findSoname_ldconfigs.     ! rzcCst|ptt|S)N)rzrTrP)r*rrrr+ scCs&ddlm}tjdkrOt|jt|jdttdtjdkr"ttdttdttdtj d krt|j d t|j d t|j d t|j d n6t|j dt|j dttddS)Nr)cdllrrr,r rbz2r-z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemzlibm.soz libcrypt.soZcrypt) Zctypesr{r"r*printrloadr+r platformZ LoadLibrary)r{rrrtest&s" r__main__)rWrXrY)r"r<rAr r*rrr+rZctypes.macholib.dyldr.r/r:r>rPrTrlr_rqrzr__name__rrrrs:          +   $    PK!R9QQ,macholib/__pycache__/__init__.cpython-33.pyonu[ fc@sdZdZdS(u~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. u1.0N(u__doc__u __version__(((u=/opt/alt/python33/lib64/python3.3/ctypes/macholib/__init__.pyusPK!;J J -macholib/__pycache__/framework.cpython-33.pycnu[ fc@s\dZddlZdgZejdZddZddZedkrXendS( u% Generic framework path manipulation iNuframework_infou(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCs#tj|}|sdS|jS(u} 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(uSTRICT_FRAMEWORK_REumatchuNoneu groupdict(ufilenameu is_framework((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyuframework_infoscCsNddddddd}tddks3ttddksKttddkscttddks{ttd|dd d ksttd |dd d d dksttddksttddksttd|ddd dks ttd|ddd ddksJtdS(Nc Ss%td|d|d|d|d|S(Nulocationunameu shortnameuversionusuffix(udict(ulocationunameu shortnameuversionusuffix((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyud-s utest_framework_info..ducompletely/invaliducompletely/invalid/_debugu P/F.frameworkuP/F.framework/_debuguP/F.framework/FuPu F.framework/FuFuP/F.framework/F_debuguF.framework/F_debugusuffixudebuguP/F.framework/VersionsuP/F.framework/Versions/AuP/F.framework/Versions/A/FuF.framework/Versions/A/FuAu P/F.framework/Versions/A/F_debuguF.framework/Versions/A/F_debug(uNoneuframework_infouAssertionError(ud((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyutest_framework_info,s$*'utest_framework_infou__main__(u__doc__ureu__all__ucompileuSTRICT_FRAMEWORK_REuframework_infoutest_framework_infou__name__(((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyus      PK!`}(macholib/__pycache__/dyld.cpython-33.pycnu[ f+c@sgdZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ ddZ dddZdddZdddZdddZdddZdddZdd d!Zdd"d#Zdd$d%Zddd&dZddd'dZd(d)Zed*krcendS(+u dyld emulation iN(uframework_info(u dylib_info(u*u dyld_finduframework_finduframework_infou dylib_infou~/Library/Frameworksu/Library/Frameworksu/Network/Library/Frameworksu/System/Library/Frameworksu~/libu/usr/local/libu/libu/usr/libcCsD|dkrtj}n|j|}|dkr7gS|jdS(Nu:(uNoneuosuenvironugetusplit(uenvuvarurval((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_envs    udyld_envcCs%|dkrtj}n|jdS(NuDYLD_IMAGE_SUFFIX(uNoneuosuenvironuget(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_image_suffix's  udyld_image_suffixcCs t|dS(NuDYLD_FRAMEWORK_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_framework_path,sudyld_framework_pathcCs t|dS(NuDYLD_LIBRARY_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_library_path/sudyld_library_pathcCs t|dS(NuDYLD_FALLBACK_FRAMEWORK_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_fallback_framework_path2sudyld_fallback_framework_pathcCs t|dS(NuDYLD_FALLBACK_LIBRARY_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_fallback_library_path5sudyld_fallback_library_pathcCs5t|}|dkr|S||dd}|S(u>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticscssSxL|D]D}|jdr=|dtd |dVn ||V|VqWdS(Nu.dylib(uendswithulen(uiteratorusuffixupath((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyu_inject=s  ! u)dyld_image_suffix_search.._injectN(udyld_image_suffixuNone(uiteratoruenvusuffixu_inject((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_image_suffix_search8s   udyld_image_suffix_searchccst|}|dk rJx/t|D]}tjj||dVq%Wnx4t|D]&}tjj|tjj|VqWWdS(Nuname(uframework_infouNoneudyld_framework_pathuosupathujoinudyld_library_pathubasename(unameuenvu frameworkupath((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_override_searchFs   udyld_override_searchccsF|jdrB|dk rBtjj||tddVndS(Nu@executable_path/(u startswithuNoneuosupathujoinulen(unameuexecutable_path((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_executable_path_searchWsudyld_executable_path_searchccs|Vt|}|dk rUt|}x)|D]}tjj||dVq0Wnt|}x.|D]&}tjj|tjj|VqhW|dk r| rx)tD]}tjj||dVqWn|s x1t D]&}tjj|tjj|VqWndS(Nuname( uframework_infouNoneudyld_fallback_framework_pathuosupathujoinudyld_fallback_library_pathubasenameuDEFAULT_FRAMEWORK_FALLBACKuDEFAULT_LIBRARY_FALLBACK(unameuenvu frameworkufallback_framework_pathupathufallback_library_path((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_default_search^s      $  udyld_default_searchcCsnxTttt||t||t|||D]}tjj|r7|Sq7Wtd|fdS(u: Find a library or framework using dyld semantics udylib %s could not be foundN( udyld_image_suffix_searchuchainudyld_override_searchudyld_executable_path_searchudyld_default_searchuosupathuisfileu ValueError(unameuexecutable_pathuenvupath((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyu dyld_findts    cCsyt|d|d|SWn%tk rA}zWYdd}~XnX|jd}|dkrvt|}|d7}ntjj|tjj|d|}yt|d|d|SWntk r|YnXdS(u Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current uexecutable_pathuenvNu .frameworkii(u dyld_findu ValueErrorurfindulenuosupathujoinubasename(ufnuexecutable_pathuenvueu fmwk_index((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyuframework_finds    + cCs:i}tddksttddks6tdS(NulibSystem.dylibu/usr/lib/libSystem.dylibuSystem.framework/Systemu2/System/Library/Frameworks/System.framework/System(u dyld_finduAssertionError(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyutest_dyld_findsutest_dyld_findu__main__(u__doc__uosuctypes.macholib.frameworkuframework_infouctypes.macholib.dylibu dylib_infou itertoolsu__all__upathu expanduseruDEFAULT_FRAMEWORK_FALLBACKuDEFAULT_LIBRARY_FALLBACKudyld_envuNoneudyld_image_suffixudyld_framework_pathudyld_library_pathudyld_fallback_framework_pathudyld_fallback_library_pathudyld_image_suffix_searchudyld_override_searchudyld_executable_path_searchudyld_default_searchu dyld_finduframework_findutest_dyld_findu__name__(((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyus:         PK!I )macholib/__pycache__/dylib.cpython-33.pycnu[ f$c@s\dZddlZdgZejdZddZddZedkrXendS( u! Generic dylib path manipulation iNu dylib_infou(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCs#tj|}|sdS|jS(u1 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(uDYLIB_REumatchuNoneu groupdict(ufilenameuis_dylib((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyu dylib_infoscCsddddddd}tddks3ttddksKttd|dddksottd |dd dd d ksttd |ddddksttd|ddddksttd|ddddd kstdS(Nc Ss%td|d|d|d|d|S(Nulocationunameu shortnameuversionusuffix(udict(ulocationunameu shortnameuversionusuffix((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyud.s utest_dylib_info..ducompletely/invaliducompletely/invalide_debugu P/Foo.dylibuPu Foo.dylibuFoouP/Foo_debug.dylibuFoo_debug.dylibusuffixudebugu P/Foo.A.dylibu Foo.A.dylibuAuP/Foo_debug.A.dylibuFoo_debug.A.dylibu Foo_debuguP/Foo.A_debug.dylibuFoo.A_debug.dylib(uNoneu dylib_infouAssertionError(ud((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyutest_dylib_info-s$*''utest_dylib_infou__main__(u__doc__ureu__all__ucompileuDYLIB_REu dylib_infoutest_dylib_infou__name__(((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyus      PK! )macholib/__pycache__/dylib.cpython-33.pyonu[ f$c@s\dZddlZdgZejdZddZddZedkrXendS( u! Generic dylib path manipulation iNu dylib_infou(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCs#tj|}|sdS|jS(u1 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(uDYLIB_REumatchuNoneu groupdict(ufilenameuis_dylib((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyu dylib_infoscCsddddddd}dS(Nc Ss%td|d|d|d|d|S(Nulocationunameu shortnameuversionusuffix(udict(ulocationunameu shortnameuversionusuffix((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyud.s utest_dylib_info..d(uNone(ud((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyutest_dylib_info-sutest_dylib_infou__main__(u__doc__ureu__all__ucompileuDYLIB_REu dylib_infoutest_dylib_infou__name__(((u:/opt/alt/python33/lib64/python3.3/ctypes/macholib/dylib.pyus      PK! .HH-macholib/__pycache__/framework.cpython-33.pyonu[ fc@s\dZddlZdgZejdZddZddZedkrXendS( u% Generic framework path manipulation iNuframework_infou(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCs#tj|}|sdS|jS(u} 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(uSTRICT_FRAMEWORK_REumatchuNoneu groupdict(ufilenameu is_framework((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyuframework_infoscCsddddddd}dS(Nc Ss%td|d|d|d|d|S(Nulocationunameu shortnameuversionusuffix(udict(ulocationunameu shortnameuversionusuffix((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyud-s utest_framework_info..d(uNone(ud((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyutest_framework_info,sutest_framework_infou__main__(u__doc__ureu__all__ucompileuSTRICT_FRAMEWORK_REuframework_infoutest_framework_infou__name__(((u>/opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyus      PK!yw(macholib/__pycache__/dyld.cpython-33.pyonu[ f+c@sgdZddlZddlmZddlmZddlTdddd gZejj d d d d gZ ejj ddddgZ ddZ dddZdddZdddZdddZdddZdddZdd d!Zdd"d#Zdd$d%Zddd&dZddd'dZd(d)Zed*krcendS(+u dyld emulation iN(uframework_info(u dylib_info(u*u dyld_finduframework_finduframework_infou dylib_infou~/Library/Frameworksu/Library/Frameworksu/Network/Library/Frameworksu/System/Library/Frameworksu~/libu/usr/local/libu/libu/usr/libcCsD|dkrtj}n|j|}|dkr7gS|jdS(Nu:(uNoneuosuenvironugetusplit(uenvuvarurval((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_envs    udyld_envcCs%|dkrtj}n|jdS(NuDYLD_IMAGE_SUFFIX(uNoneuosuenvironuget(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_image_suffix's  udyld_image_suffixcCs t|dS(NuDYLD_FRAMEWORK_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_framework_path,sudyld_framework_pathcCs t|dS(NuDYLD_LIBRARY_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_library_path/sudyld_library_pathcCs t|dS(NuDYLD_FALLBACK_FRAMEWORK_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_fallback_framework_path2sudyld_fallback_framework_pathcCs t|dS(NuDYLD_FALLBACK_LIBRARY_PATH(udyld_env(uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_fallback_library_path5sudyld_fallback_library_pathcCs5t|}|dkr|S||dd}|S(u>For a potential path iterator, add DYLD_IMAGE_SUFFIX semanticscssSxL|D]D}|jdr=|dtd |dVn ||V|VqWdS(Nu.dylib(uendswithulen(uiteratorusuffixupath((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyu_inject=s  ! u)dyld_image_suffix_search.._injectN(udyld_image_suffixuNone(uiteratoruenvusuffixu_inject((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_image_suffix_search8s   udyld_image_suffix_searchccst|}|dk rJx/t|D]}tjj||dVq%Wnx4t|D]&}tjj|tjj|VqWWdS(Nuname(uframework_infouNoneudyld_framework_pathuosupathujoinudyld_library_pathubasename(unameuenvu frameworkupath((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_override_searchFs   udyld_override_searchccsF|jdrB|dk rBtjj||tddVndS(Nu@executable_path/(u startswithuNoneuosupathujoinulen(unameuexecutable_path((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_executable_path_searchWsudyld_executable_path_searchccs|Vt|}|dk rUt|}x)|D]}tjj||dVq0Wnt|}x.|D]&}tjj|tjj|VqhW|dk r| rx)tD]}tjj||dVqWn|s x1t D]&}tjj|tjj|VqWndS(Nuname( uframework_infouNoneudyld_fallback_framework_pathuosupathujoinudyld_fallback_library_pathubasenameuDEFAULT_FRAMEWORK_FALLBACKuDEFAULT_LIBRARY_FALLBACK(unameuenvu frameworkufallback_framework_pathupathufallback_library_path((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyudyld_default_search^s      $  udyld_default_searchcCsnxTttt||t||t|||D]}tjj|r7|Sq7Wtd|fdS(u: Find a library or framework using dyld semantics udylib %s could not be foundN( udyld_image_suffix_searchuchainudyld_override_searchudyld_executable_path_searchudyld_default_searchuosupathuisfileu ValueError(unameuexecutable_pathuenvupath((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyu dyld_findts    cCsyt|d|d|SWn%tk rA}zWYdd}~XnX|jd}|dkrvt|}|d7}ntjj|tjj|d|}yt|d|d|SWntk r|YnXdS(u Find a framework using dyld semantics in a very loose manner. Will take input such as: Python Python.framework Python.framework/Versions/Current uexecutable_pathuenvNu .frameworkii(u dyld_findu ValueErrorurfindulenuosupathujoinubasename(ufnuexecutable_pathuenvueu fmwk_index((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyuframework_finds    + cCs i}dS(N((uenv((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyutest_dyld_findsutest_dyld_findu__main__(u__doc__uosuctypes.macholib.frameworkuframework_infouctypes.macholib.dylibu dylib_infou itertoolsu__all__upathu expanduseruDEFAULT_FRAMEWORK_FALLBACKuDEFAULT_LIBRARY_FALLBACKudyld_envuNoneudyld_image_suffixudyld_framework_pathudyld_library_pathudyld_fallback_framework_pathudyld_fallback_library_pathudyld_image_suffix_searchudyld_override_searchudyld_executable_path_searchudyld_default_searchu dyld_finduframework_findutest_dyld_findu__name__(((u9/opt/alt/python33/lib64/python3.3/ctypes/macholib/dyld.pyus:         PK!R9QQ,macholib/__pycache__/__init__.cpython-33.pycnu[ fc@sdZdZdS(u~ Enough Mach-O to make your head spin. See the relevant header files in /usr/include/mach-o And also Apple's documentation. u1.0N(u__doc__u __version__(((u=/opt/alt/python33/lib64/python3.3/ctypes/macholib/__init__.pyusPK!y$$__pycache__/util.cpython-33.pyonu[ f"c@sddlZddlZddlZddlZejdkrfddZddZddZnejd krd dZnejd krejd krdd l m Z ddZnejd krddl Z ddl Z ddlZddZejdkrddZn ddZejjd$rWddZddZqejdkrddZd%ddZqddZd dZnd!d"Zed#krendS(&iNuntcCsd}tjj|}|d kr(dS|t|}tj|djdd\}}t|dd d}t|ddd}|dkrd }n|dkr||SdS( uReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. uMSC v.iiNu iig$@iii(usysuversionufindulenusplituintuNone(uprefixuiusurestu majorVersionu minorVersion((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_get_build_versions %   u_get_build_versioncCsot}|dkrdS|dkr.d}nd|d}ddl}d|jjkrg|d7}n|d S( u%Return the name of the VC runtime dlliumsvcrtumsvcr%di iNu_d.pydudu.dll(u_get_build_versionuNoneuimportlib.machineryu machineryuEXTENSION_SUFFIXES(uversionuclibnameu importlib((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_msvcrts      u find_msvcrtcCs|dkrtSxtjdjtjD]l}tjj||}tjj|r^|S|jj dryq-n|d}tjj|r-|Sq-WdS(NucumuPATHu.dll(ucum( u find_msvcrtuosuenvironusplitupathsepupathujoinuisfileuloweruendswithuNone(unameu directoryufname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_library0s   u find_libraryucecCs|S(N((uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryFsuposixudarwin(u dyld_findc Cs\d|d|d||fg}x4|D],}yt|SWq(tk rSw(Yq(Xq(WdS(Nu lib%s.dylibu%s.dylibu%s.framework/%s(u _dyld_findu ValueErroruNone(unameupossible((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryKs   c Csdtj|}tj\}}tj|d|d|}z3tj|}z|j}Wd|j}XWdytj|Wn=t k r}z|j t j krnWYdd}~XnXX|dkrt dntj ||} | sdS| jdS(Nu[^\(\)\s]*lib%s\.[^\(\)\s]*uif type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit 10; fi;LANG=C LC_ALL=C $CC -Wl,-t -o u 2>&1 -li ugcc or cc command not foundi(ureuescapeutempfileumkstempuosucloseupopenureaduunlinkuOSErroruerrnouENOENTusearchuNoneugroup( unameuexprufdoutuccoutucmdufutraceurvueures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _findLib_gccZs(  u _findLib_gccusunos5c Csj|s dSd|}tjtj|}|j}WdQXtjd|}|s]dS|jdS(Nu#/usr/ccs/bin/dump -Lpv 2>/dev/null u\[.*\]\sSONAME\s+([^\s]+)i( uNoneu contextlibuclosinguosupopenureadureusearchugroup(ufucmdudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _get_sonamevs u _get_sonamecCs|s dSd|}tj|}|j}|j}|dkrVtdntjd|}|srdS|jdS(NuWif ! type objdump >/dev/null 2>&1; then exit 10; fi;objdump -p -j .dynamic 2>/dev/null i uobjdump command not foundu\sSONAME\s+([^\s]+)i( uNoneuosupopenureaducloseuOSErrorureusearchugroup(ufucmdudumpurvures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _get_sonames   ufreebsduopenbsdu dragonflyc Csg|jd}g}y-x&|r@|jdt|jqWWntk rVYnX|pftjgS(Nu.i(usplituinsertuintupopu ValueErrorusysumaxsize(ulibnameupartsunums((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _num_versions $ u _num_versionc Cstj|}d||f}tjtjd}|j}WdQXtj||}|sttt |S|j dt |dS(Nu:-l%s\.\S+ => \S*/(lib%s\.\S+)u/sbin/ldconfig -r 2>/dev/nullukeyii( ureuescapeu contextlibuclosinguosupopenureadufindallu _get_sonameu _findLib_gccusortu _num_version(unameuenameuexprufudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCstjjdsdS|r%d}nd}xKtj|jD]4}|j}|jdrA|jd}qAqAW|sdSxF|jdD]5}tjj |d|}tjj|r|SqWdS(Nu /usr/bin/crleu*env LC_ALL=C /usr/bin/crle -64 2>/dev/nullu&env LC_ALL=C /usr/bin/crle 2>/dev/nulluDefault Library Path (ELF):iu:ulib%s.so( uosupathuexistsuNoneupopenu readlinesustripu startswithusplitujoin(unameuis64ucmdulineupathsudirulibfile((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _findLib_crles   u _findLib_crlecCstt||pt|S(N(u _get_sonameu _findLib_crleu _findLib_gcc(unameuis64((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCsHddl}|jddkr7tjjd}ntjjd}idd6dd 6dd 6dd 6d d 6}|j|d}tjdtj||f}yt j ddgdt j dt j dt j didd6dd6>}tj ||jj}|r(tj|jdSWdQXWntk rCYnXdS(Niuliu-32u-64u libc6,x86-64u x86_64-64u libc6,64bituppc64-64u sparc64-64us390x-64u libc6,IA-64uia64-64ulibc6u\s+(lib%s\.[^\s]+)\s+\(%su/sbin/ldconfigu-pustdinustderrustdoutuenvuCuLC_ALLuLANGi(ustructucalcsizeuosuunameumachineugetufsencodeureuescapeu subprocessuPopenuDEVNULLuPIPEusearchustdoutureadufsdecodeugroupuOSError(unameustructumachineumach_mapuabi_typeuregexupures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_findSoname_ldconfigs0       u_findSoname_ldconfigcCst|ptt|S(N(u_findSoname_ldconfigu _get_sonameu _findLib_gcc(uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCs,ddlm}tjdkrRt|jt|jdttdntjdkr(ttdttdttdtj d krt|j d t|j d t|j d t|j d q(t|j dt|j dttdndS(Ni(ucdlluntumsvcrtuposixumucubz2udarwinu libm.dylibulibcrypto.dylibulibSystem.dylibuSystem.framework/Systemulibm.sou libcrypt.soucrypt( uctypesucdlluosunameuprintumsvcrtuloadu find_libraryusysuplatformu LoadLibrary(ucdll((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyutests" utestu__main__(ufreebsduopenbsdu dragonflyF(usysuosu contextlibu subprocessunameu_get_build_versionu find_msvcrtu find_libraryuplatformuctypes.macholib.dyldu dyld_findu _dyld_findureutempfileuerrnou _findLib_gccu _get_sonameu startswithu _num_versionu _findLib_crleuFalseu_findSoname_ldconfigutestu__name__(((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyus8     $        PK!sii#__pycache__/__init__.cpython-33.pyonu[ fMAc @s3 dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee nejd~krddlmZneZejdkrAejdkrAeejjjdddkrAeZqAnddlmZmZ m!Z"m#Z$dddZ&dddZ'iZ(ddZ)ejdkrddlm*Z+ddlm,Z-ejd kreZ-niZ.ddZ/e/jr5e)jj0dde/_q5n"ejdkr5ddlm1Z+nddlm2Z2m3Z3m4Z4m5Z5m6Z6dd lm7Z7m8Z8dd!lm9Z9dd"d#Z:Gd$d%d%e9Z;e:e;d&Gd'd(d(e9Z<e:e<Gd)d*d*e9Z=e:e=Gd+d,d,e9Z>e:e>Gd-d.d.e9Z?e:e?ed/ed0kr\e>Z@e?ZAn@Gd1d2d2e9Z@e:e@Gd3d4d4e9ZAe:eAGd5d6d6e9ZBe:eBGd7d8d8e9ZCe:eCGd9d:d:e9ZDe2eDe2eCkreCZDned0ed;kr:e>ZEe?ZFn@Gd<d=d=e9ZEe:eEGd>d?d?e9ZFe:eFGd@dAdAe9ZGeGeG_HeG_Ie:eGGdBdCdCe9ZJeJeJ_HeJ_Ie:eJGdDdEdEe9ZKeKeK_HeK_Ie:eKGdFdGdGe9ZLe:eLd&GdHdIdIe9ZMeMZNe:eMGdJdKdKe9ZOddLlmPZPmQZQmRZRGdMdNdNe9ZSGdOdPdPe9ZTdQdRZUddSdTZVdUdVZWdWdXZXGdYdZdZeYZZGd[d\d\eZZ[ejdkrzGd]d^d^eZZ\dd_lm]Z]m9Z9Gd`dadae9Z^GdbdcdceZZ_nGdddedeeYZ`e`eZZae`e[Zbejdkre[dfdejcZdn;ejdgkre[dhejeddiZdn e[dZdejdkre`e\Zfe`e_Zgejd krOefjhjiZin efjjjiZiddjlmkZkmlZldddkdlZmne2eAe2eMkreAZne@ZonNe2e?e2eMkre?Zne>Zon'e2eFe2eMkreFZneEZonddmlmpZpmqZqmrZrmsZse)eMeMeMenepZte)eMeMe@eneqZudndoZveve;eMe;e;esZwdpdqZxeve;eMe@erZyddsdtZzyddulm{Z{Wne|k rYn(Xeve;eMe@e{Z}ddvdwZ~ejdkr' dxdyZdzd{Zndd|lmZmZeJZeGZxke<e@e>eEgD]WZe2edikr} eZq\ e2ed}kr eZq\ e2edkr\ eZq\ q\ Wxke=eAe?eFgD]WZe2edikr eZq e2ed}kr eZq e2edkr eZq q W[eUdS(u,create and manipulate C data types in PythoniNu1.1.0(uUnionu StructureuArray(u_Pointer(uCFuncPtr(u __version__(u RTLD_LOCALu RTLD_GLOBAL(u ArgumentError(ucalcsizeuVersion number mismatchuntuce(u FormatErroruposixudarwinu.i(uFUNCFLAG_CDECLuFUNCFLAG_PYTHONAPIuFUNCFLAG_USE_ERRNOuFUNCFLAG_USE_LASTERRORcCst|ttfrT|dkr4t|d}nt|}|}||_|St|trzt|}|}|St|dS(ucreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aString, anInteger) -> character array iN( u isinstanceustrubytesuNoneulenuc_charuvalueuintu TypeError(uinitusizeubuftypeubuf((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyucreate_string_buffer1s      ucreate_string_buffercCs t||S(N(ucreate_string_buffer(uinitusize((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_bufferCsuc_bufferc st|jddr%tOn|jddrDtOn|rctd|jnytfSWnKtk rGfdddt }|tf<|SYnXdS(uCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name u use_errnouuse_last_erroru!unexpected keyword argument(s) %scs&|EeZdZZZZdS(u CFUNCTYPE..CFunctionTypeN(u__name__u __module__u __qualname__u _argtypes_u _restype_u_flags_(u __locals__(uargtypesuflagsurestype(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu CFunctionTypeesu CFunctionTypeNF( u_FUNCFLAG_CDECLupopuFalseu_FUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_LASTERRORu ValueErrorukeysu_c_functype_cacheuKeyErroru _CFuncPtr(urestypeuargtypesukwu CFunctionType((uargtypesuflagsurestypeu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu CFUNCTYPEKs   "u CFUNCTYPE(u LoadLibrary(uFUNCFLAG_STDCALLc st|jddr%tOn|jddrDtOn|rctd|jnytfSWnKtk rGfdddt }|tf<|SYnXdS(Nu use_errnouuse_last_erroru!unexpected keyword argument(s) %scs&|EeZdZZZZdS(u$WINFUNCTYPE..WinFunctionTypeN(u__name__u __module__u __qualname__u _argtypes_u _restype_u_flags_(u __locals__(uargtypesuflagsurestype(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuWinFunctionTypesuWinFunctionTypeF( u_FUNCFLAG_STDCALLupopuFalseu_FUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_LASTERRORu ValueErrorukeysu_win_functype_cacheuKeyErroru _CFuncPtr(urestypeuargtypesukwuWinFunctionType((uargtypesuflagsurestypeu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu WINFUNCTYPEts   "u WINFUNCTYPE(udlopen(usizeofubyrefu addressofu alignmenturesize(u get_errnou set_errno(u _SimpleCDatacCsmddlm}|dkr(|j}nt|||}}||kritd|||fndS(Ni(ucalcsizeu"sizeof(%s) wrong: %d instead of %d(ustructucalcsizeuNoneu_type_usizeofu SystemError(utyputypecodeucalcsizeuactualurequired((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu _check_sizes   u _check_sizecs,|EeZdZdZfddZS(u py_objectuOc s;ytjSWn#tk r6dt|jSYnXdS(Nu %s()(usuperu__repr__u ValueErrorutypeu__name__(uself(u __class__(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__s upy_object.__repr__(u__name__u __module__u __qualname__u_type_u__repr__(u __locals__((u __class__u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu py_objectsu py_objectuPcBs|EeZdZdZdS(uc_shortuhN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_shortsuc_shortcBs|EeZdZdZdS(uc_ushortuHN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_ushortsuc_ushortcBs|EeZdZdZdS(uc_longulN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_longsuc_longcBs|EeZdZdZdS(uc_ulonguLN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_ulongsuc_ulonguiulcBs|EeZdZdZdS(uc_intuiN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_intsuc_intcBs|EeZdZdZdS(uc_uintuIN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_uintsuc_uintcBs|EeZdZdZdS(uc_floatufN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_floatsuc_floatcBs|EeZdZdZdS(uc_doubleudN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_doublesuc_doublecBs|EeZdZdZdS(u c_longdoubleugN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_longdoublesu c_longdoubleuqcBs|EeZdZdZdS(u c_longlonguqN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_longlongsu c_longlongcBs|EeZdZdZdS(u c_ulonglonguQN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_ulonglongsu c_ulonglongcBs|EeZdZdZdS(uc_ubyteuBN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_ubytesuc_ubytecBs|EeZdZdZdS(uc_byteubN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_bytesuc_bytecBs|EeZdZdZdS(uc_charucN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_charsuc_charcBsD|EeZdZdZejdkr4ddZn ddZdS(uc_char_puzuntcCsLtjj|ds,d|jj|jfSd|jjt|tjfS(Niu%s(%r)u%s(%s)i(uwindllukernel32uIsBadStringPtrAu __class__u__name__uvalueucastuc_void_p(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__suc_char_p.__repr__cCs d|jjt|tjfS(Nu%s(%s)(u __class__u__name__ucastuc_void_puvalue(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__sN(u__name__u __module__u __qualname__u_type_u_osunameu__repr__(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_char_psuc_char_pcBs|EeZdZdZdS(uc_void_puPN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_void_psuc_void_pcBs|EeZdZdZdS(uc_boolu?N(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_boolsuc_bool(uPOINTERupointeru_pointer_type_cachecBs|EeZdZdZdS(u c_wchar_puZN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_wchar_psu c_wchar_pcBs|EeZdZdZdS(uc_wcharuuN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_wchar suc_wcharcCsbtjtjtjdkr0tjntjtt _t jtt _t td character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array iN( u isinstanceustrubytesuNoneulenuc_wcharuvalueuintu TypeError(uinitusizeubuftypeubuf((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyucreate_unicode_buffers      ucreate_unicode_buffercCsptj|ddk r'tdnt|tkrHtdn|j||t|.qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. cs|_j|r%tOn|r8tOnGfdddt}|_|dkrtj|_n |_dS(Ncs#|EeZdZZjZdS(uCDLL.__init__.._FuncPtrN(u__name__u __module__u __qualname__u_flags_u_func_restype_u _restype_(u __locals__(uflagsuself(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu_FuncPtrVsu_FuncPtr( u_nameu _func_flags_u_FUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_LASTERRORu _CFuncPtru_FuncPtruNoneu_dlopenu_handle(uselfunameumodeuhandleu use_errnouuse_last_erroru_FuncPtr((uflagsuselfu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__init__Ls      u CDLL.__init__cCsDd|jj|j|jtjdd@t|tjdd@fS(Nu<%s '%s', handle %x at %x>ii(u __class__u__name__u_nameu_handleu_sysumaxsizeuid(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__`su CDLL.__repr__cCsP|jdr-|jdr-t|n|j|}t||||S(Nu__(u startswithuendswithuAttributeErroru __getitem__usetattr(uselfunameufunc((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getattr__fs uCDLL.__getattr__cCs4|j||f}t|ts0||_n|S(N(u_FuncPtru isinstanceuintu__name__(uselfuname_or_ordinalufunc((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getitem__ms uCDLL.__getitem__NF(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_CDECLu _func_flags_uc_intu_func_restype_u DEFAULT_MODEuNoneuFalseu__init__u__repr__u __getattr__u __getitem__(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuCDLL;s   uCDLLcBs$|EeZdZdZeeBZdS(uPyDLLuThis class represents the Python library itself. It allows to access Python API functions. The GIL is not released, and Python exceptions are handled correctly. N(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_CDECLu_FUNCFLAG_PYTHONAPIu _func_flags_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuPyDLLssuPyDLLcBs |EeZdZdZeZdS(uWinDLLunThis class represents a dll exporting functions using the Windows stdcall calling convention. N(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_STDCALLu _func_flags_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuWinDLL|suWinDLL(u_check_HRESULTu _SimpleCDatacBs |EeZdZdZeZdS(uHRESULTulN(u__name__u __module__u __qualname__u_type_u_check_HRESULTu_check_retval_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuHRESULTs uHRESULTcBs&|EeZdZdZeZeZdS(uOleDLLuThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as WindowsError exceptions. N(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_STDCALLu _func_flags_uHRESULTu_func_restype_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuOleDLLsuOleDLLcBsD|EeZdZddZddZddZddZd S( u LibraryLoadercCs ||_dS(N(u_dlltype(uselfudlltype((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__init__suLibraryLoader.__init__cCsB|ddkrt|n|j|}t||||S(Niu_(uAttributeErroru_dlltypeusetattr(uselfunameudll((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getattr__s uLibraryLoader.__getattr__cCs t||S(N(ugetattr(uselfuname((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getitem__suLibraryLoader.__getitem__cCs |j|S(N(u_dlltype(uselfuname((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu LoadLibrarysuLibraryLoader.LoadLibraryN(u__name__u __module__u __qualname__u__init__u __getattr__u __getitem__u LoadLibrary(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu LibraryLoaders   u LibraryLoaderu python dllucygwinulibpython%d.%d.dlli(uget_last_erroruset_last_errorcCsL|dkrt}n|dkr9t|j}ntd|d|S(N(uNoneu GetLastErroru FormatErrorustripu WindowsError(ucodeudescr((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuWinErrors    uWinError(u _memmove_addru _memset_addru_string_at_addru _cast_addrcs#Gfdddt}|S(Ncs*|EeZdZZZeeBZdS(u!PYFUNCTYPE..CFunctionTypeN(u__name__u __module__u __qualname__u _argtypes_u _restype_u_FUNCFLAG_CDECLu_FUNCFLAG_PYTHONAPIu_flags_(u __locals__(uargtypesurestype(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu CFunctionTypesu CFunctionType(u _CFuncPtr(urestypeuargtypesu CFunctionType((uargtypesurestypeu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu PYFUNCTYPEsu PYFUNCTYPEcCst|||S(N(u_cast(uobjutyp((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyucastsucasticCs t||S(uAstring_at(addr[, size]) -> string Return the string at addr.(u _string_at(uptrusize((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu string_atsu string_at(u_wstring_at_addrcCs t||S(uFwstring_at(addr[, size]) -> string Return the string at addr.(u _wstring_at(uptrusize((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu wstring_atsu wstring_atc CsRy"tdttdg}Wntk r:dSYnX|j|||SdS(Nucomtypes.server.inprocserveru*ii(u __import__uglobalsulocalsu ImportErroruDllGetClassObject(urclsiduriiduppvuccom((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuDllGetClassObjects "  uDllGetClassObjectc CsEy"tdttdg}Wntk r:dSYnX|jS(Nucomtypes.server.inprocserveru*i(u __import__uglobalsulocalsu ImportErroruDllCanUnloadNow(uccom((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuDllCanUnloadNows "  uDllCanUnloadNow(uBigEndianStructureuLittleEndianStructurei(untuce(untuce(untuce(untuce(untuceii(untuce(u__doc__uosu_osusysu_sysu __version__u_ctypesuUnionu StructureuArrayu_PointeruCFuncPtru _CFuncPtru_ctypes_versionu RTLD_LOCALu RTLD_GLOBALu ArgumentErrorustructucalcsizeu _calcsizeu Exceptionunameu FormatErroru DEFAULT_MODEuplatformuintuunameureleaseusplituFUNCFLAG_CDECLu_FUNCFLAG_CDECLuFUNCFLAG_PYTHONAPIu_FUNCFLAG_PYTHONAPIuFUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_ERRNOuFUNCFLAG_USE_LASTERRORu_FUNCFLAG_USE_LASTERRORuNoneucreate_string_bufferuc_bufferu_c_functype_cacheu CFUNCTYPEu LoadLibraryu_dlopenuFUNCFLAG_STDCALLu_FUNCFLAG_STDCALLu_win_functype_cacheu WINFUNCTYPEureplaceudlopenusizeofubyrefu addressofu alignmenturesizeu get_errnou set_errnou _SimpleCDatau _check_sizeu py_objectuc_shortuc_ushortuc_longuc_ulonguc_intuc_uintuc_floatuc_doubleu c_longdoubleu c_longlongu c_ulonglonguc_ubyteu __ctype_le__u __ctype_be__uc_byteuc_charuc_char_puc_void_puc_voidpuc_booluPOINTERupointeru_pointer_type_cacheu c_wchar_puc_wcharu _reset_cacheucreate_unicode_bufferuSetPointerTypeuARRAYuobjectuCDLLuPyDLLuWinDLLu_check_HRESULTuHRESULTuOleDLLu LibraryLoaderucdllupydllu dllhandleu pythonapiu version_infouwindlluoledllukernel32u GetLastErrorucoredlluget_last_erroruset_last_erroruWinErroruc_size_tu c_ssize_tu _memmove_addru _memset_addru_string_at_addru _cast_addrumemmoveumemsetu PYFUNCTYPEu_castucastu _string_atu string_atu_wstring_at_addru ImportErroru _wstring_atu wstring_atuDllGetClassObjectuDllCanUnloadNowuctypes._endianuBigEndianStructureuLittleEndianStructureuc_int8uc_uint8ukinduc_int16uc_int32uc_int64uc_uint16uc_uint32uc_uint64(((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyus< ( " !   (                      8            "          PK!)#__pycache__/wintypes.cpython-33.pycnu[ fc@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,kr4ejZ0ejZ1n9ej/ejej/ej,krmej Z0ejZ1neZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Z<e8Z=e8Z>e8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS(iNcBs&|EeZdZdZddZdS(u VARIANT_BOOLuvcCsd|jj|jfS(Nu%s(%r)(u __class__u__name__uvalue(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu__repr__suVARIANT_BOOL.__repr__N(u__name__u __module__u __qualname__u_type_u__repr__(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu VARIANT_BOOLsu VARIANT_BOOLcBs>|EeZdZdefdefdefdefgZdS(uRECTuleftutopurightubottomN(u__name__u __module__u __qualname__uLONGu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuRECTas   uRECTcBs>|EeZdZdefdefdefdefgZdS(u _SMALL_RECTuLeftuTopuRightuBottomN(u__name__u __module__u __qualname__uSHORTu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu _SMALL_RECThs   u _SMALL_RECTcBs,|EeZdZdefdefgZdS(u_COORDuXuYN(u__name__u __module__u __qualname__uSHORTu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu_COORDos u_COORDcBs,|EeZdZdefdefgZdS(uPOINTuxuyN(u__name__u __module__u __qualname__uLONGu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuPOINTss uPOINTcBs,|EeZdZdefdefgZdS(uSIZEucxucyN(u__name__u __module__u __qualname__uLONGu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuSIZExs uSIZEcCs||d>|d>S(Nii((uredugreenublue((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuRGB}suRGBcBs,|EeZdZdefdefgZdS(uFILETIMEu dwLowDateTimeudwHighDateTimeN(u__name__u __module__u __qualname__uDWORDu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuFILETIMEs uFILETIMEcBsP|EeZdZdefdefdefdefdefdefgZ dS(uMSGuhWndumessageuwParamulParamutimeuptN( u__name__u __module__u __qualname__uHWNDuUINTuWPARAMuLPARAMuDWORDuPOINTu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuMSGs      uMSGic Bs||EeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S( uWIN32_FIND_DATAAudwFileAttributesuftCreationTimeuftLastAccessTimeuftLastWriteTimeu nFileSizeHighu nFileSizeLowu dwReserved0u dwReserved1u cFileNameucAlternateFileNameiN(u__name__u __module__u __qualname__uDWORDuFILETIMEuCHARuMAX_PATHu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuWIN32_FIND_DATAAs         uWIN32_FIND_DATAAc Bs||EeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S( uWIN32_FIND_DATAWudwFileAttributesuftCreationTimeuftLastAccessTimeuftLastWriteTimeu nFileSizeHighu nFileSizeLowu dwReserved0u dwReserved1u cFileNameucAlternateFileNameiN(u__name__u __module__u __qualname__uDWORDuFILETIMEuWCHARuMAX_PATHu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuWIN32_FIND_DATAWs         uWIN32_FIND_DATAW(uctypesuc_byteuBYTEuc_ushortuWORDuc_ulonguDWORDuc_charuCHARuc_wcharuWCHARuc_uintuUINTuc_intuINTuc_doubleuDOUBLEuc_floatuFLOATuBOOLEANuc_longuBOOLu _SimpleCDatau VARIANT_BOOLuULONGuLONGuUSHORTuc_shortuSHORTu c_longlongu_LARGE_INTEGERu LARGE_INTEGERu c_ulonglongu_ULARGE_INTEGERuULARGE_INTEGERu c_wchar_pu LPCOLESTRuLPOLESTRuOLESTRuLPCWSTRuLPWSTRuc_char_puLPCSTRuLPSTRuc_void_puLPCVOIDuLPVOIDusizeofuWPARAMuLPARAMuATOMuLANGIDuCOLORREFuLGRPIDuLCTYPEuLCIDuHANDLEuHACCELuHBITMAPuHBRUSHu HCOLORSPACEuHDCuHDESKuHDWPu HENHMETAFILEuHFONTuHGDIOBJuHGLOBALuHHOOKuHICONu HINSTANCEuHKEYuHKLuHLOCALuHMENUu HMETAFILEuHMODULEuHMONITORuHPALETTEuHPENuHRGNuHRSRCuHSTRuHTASKuHWINSTAuHWNDu SC_HANDLEuSERVICE_STATUS_HANDLEu StructureuRECTutagRECTu_RECTLuRECTLu _SMALL_RECTu SMALL_RECTu_COORDuPOINTutagPOINTu_POINTLuPOINTLuSIZEutagSIZEuSIZELuRGBuFILETIMEu _FILETIMEuMSGutagMSGuMAX_PATHuWIN32_FIND_DATAAuWIN32_FIND_DATAWuPOINTERuLPBOOLuPBOOLuPBOOLEANuLPBYTEuPBYTEuPCHARu LPCOLORREFuLPDWORDuPDWORDu LPFILETIMEu PFILETIMEuPFLOATuLPHANDLEuPHANDLEuPHKEYuLPHKLuLPINTuPINTuPLARGE_INTEGERuPLCIDuLPLONGuPLONGuLPMSGuPMSGuLPPOINTuPPOINTuPPOINTLuLPRECTuPRECTuLPRECTLuPRECTLu LPSC_HANDLEuPSHORTuLPSIZEuPSIZEuLPSIZELuPSIZELu PSMALL_RECTuLPUINTuPUINTuPULARGE_INTEGERuPULONGuPUSHORTuPWCHARuLPWIN32_FIND_DATAAuPWIN32_FIND_DATAAuLPWIN32_FIND_DATAWuPWIN32_FIND_DATAWuLPWORDuPWORD(((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyus                    $  $      PK!sii#__pycache__/__init__.cpython-33.pycnu[ fMAc @s3 dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee nejd~krddlmZneZejdkrAejdkrAeejjjdddkrAeZqAnddlmZmZ m!Z"m#Z$dddZ&dddZ'iZ(ddZ)ejdkrddlm*Z+ddlm,Z-ejd kreZ-niZ.ddZ/e/jr5e)jj0dde/_q5n"ejdkr5ddlm1Z+nddlm2Z2m3Z3m4Z4m5Z5m6Z6dd lm7Z7m8Z8dd!lm9Z9dd"d#Z:Gd$d%d%e9Z;e:e;d&Gd'd(d(e9Z<e:e<Gd)d*d*e9Z=e:e=Gd+d,d,e9Z>e:e>Gd-d.d.e9Z?e:e?ed/ed0kr\e>Z@e?ZAn@Gd1d2d2e9Z@e:e@Gd3d4d4e9ZAe:eAGd5d6d6e9ZBe:eBGd7d8d8e9ZCe:eCGd9d:d:e9ZDe2eDe2eCkreCZDned0ed;kr:e>ZEe?ZFn@Gd<d=d=e9ZEe:eEGd>d?d?e9ZFe:eFGd@dAdAe9ZGeGeG_HeG_Ie:eGGdBdCdCe9ZJeJeJ_HeJ_Ie:eJGdDdEdEe9ZKeKeK_HeK_Ie:eKGdFdGdGe9ZLe:eLd&GdHdIdIe9ZMeMZNe:eMGdJdKdKe9ZOddLlmPZPmQZQmRZRGdMdNdNe9ZSGdOdPdPe9ZTdQdRZUddSdTZVdUdVZWdWdXZXGdYdZdZeYZZGd[d\d\eZZ[ejdkrzGd]d^d^eZZ\dd_lm]Z]m9Z9Gd`dadae9Z^GdbdcdceZZ_nGdddedeeYZ`e`eZZae`e[Zbejdkre[dfdejcZdn;ejdgkre[dhejeddiZdn e[dZdejdkre`e\Zfe`e_Zgejd krOefjhjiZin efjjjiZiddjlmkZkmlZldddkdlZmne2eAe2eMkreAZne@ZonNe2e?e2eMkre?Zne>Zon'e2eFe2eMkreFZneEZonddmlmpZpmqZqmrZrmsZse)eMeMeMenepZte)eMeMe@eneqZudndoZveve;eMe;e;esZwdpdqZxeve;eMe@erZyddsdtZzyddulm{Z{Wne|k rYn(Xeve;eMe@e{Z}ddvdwZ~ejdkr' dxdyZdzd{Zndd|lmZmZeJZeGZxke<e@e>eEgD]WZe2edikr} eZq\ e2ed}kr eZq\ e2edkr\ eZq\ q\ Wxke=eAe?eFgD]WZe2edikr eZq e2ed}kr eZq e2edkr eZq q W[eUdS(u,create and manipulate C data types in PythoniNu1.1.0(uUnionu StructureuArray(u_Pointer(uCFuncPtr(u __version__(u RTLD_LOCALu RTLD_GLOBAL(u ArgumentError(ucalcsizeuVersion number mismatchuntuce(u FormatErroruposixudarwinu.i(uFUNCFLAG_CDECLuFUNCFLAG_PYTHONAPIuFUNCFLAG_USE_ERRNOuFUNCFLAG_USE_LASTERRORcCst|ttfrT|dkr4t|d}nt|}|}||_|St|trzt|}|}|St|dS(ucreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aString, anInteger) -> character array iN( u isinstanceustrubytesuNoneulenuc_charuvalueuintu TypeError(uinitusizeubuftypeubuf((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyucreate_string_buffer1s      ucreate_string_buffercCs t||S(N(ucreate_string_buffer(uinitusize((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_bufferCsuc_bufferc st|jddr%tOn|jddrDtOn|rctd|jnytfSWnKtk rGfdddt }|tf<|SYnXdS(uCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name u use_errnouuse_last_erroru!unexpected keyword argument(s) %scs&|EeZdZZZZdS(u CFUNCTYPE..CFunctionTypeN(u__name__u __module__u __qualname__u _argtypes_u _restype_u_flags_(u __locals__(uargtypesuflagsurestype(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu CFunctionTypeesu CFunctionTypeNF( u_FUNCFLAG_CDECLupopuFalseu_FUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_LASTERRORu ValueErrorukeysu_c_functype_cacheuKeyErroru _CFuncPtr(urestypeuargtypesukwu CFunctionType((uargtypesuflagsurestypeu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu CFUNCTYPEKs   "u CFUNCTYPE(u LoadLibrary(uFUNCFLAG_STDCALLc st|jddr%tOn|jddrDtOn|rctd|jnytfSWnKtk rGfdddt }|tf<|SYnXdS(Nu use_errnouuse_last_erroru!unexpected keyword argument(s) %scs&|EeZdZZZZdS(u$WINFUNCTYPE..WinFunctionTypeN(u__name__u __module__u __qualname__u _argtypes_u _restype_u_flags_(u __locals__(uargtypesuflagsurestype(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuWinFunctionTypesuWinFunctionTypeF( u_FUNCFLAG_STDCALLupopuFalseu_FUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_LASTERRORu ValueErrorukeysu_win_functype_cacheuKeyErroru _CFuncPtr(urestypeuargtypesukwuWinFunctionType((uargtypesuflagsurestypeu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu WINFUNCTYPEts   "u WINFUNCTYPE(udlopen(usizeofubyrefu addressofu alignmenturesize(u get_errnou set_errno(u _SimpleCDatacCsmddlm}|dkr(|j}nt|||}}||kritd|||fndS(Ni(ucalcsizeu"sizeof(%s) wrong: %d instead of %d(ustructucalcsizeuNoneu_type_usizeofu SystemError(utyputypecodeucalcsizeuactualurequired((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu _check_sizes   u _check_sizecs,|EeZdZdZfddZS(u py_objectuOc s;ytjSWn#tk r6dt|jSYnXdS(Nu %s()(usuperu__repr__u ValueErrorutypeu__name__(uself(u __class__(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__s upy_object.__repr__(u__name__u __module__u __qualname__u_type_u__repr__(u __locals__((u __class__u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu py_objectsu py_objectuPcBs|EeZdZdZdS(uc_shortuhN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_shortsuc_shortcBs|EeZdZdZdS(uc_ushortuHN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_ushortsuc_ushortcBs|EeZdZdZdS(uc_longulN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_longsuc_longcBs|EeZdZdZdS(uc_ulonguLN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_ulongsuc_ulonguiulcBs|EeZdZdZdS(uc_intuiN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_intsuc_intcBs|EeZdZdZdS(uc_uintuIN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_uintsuc_uintcBs|EeZdZdZdS(uc_floatufN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_floatsuc_floatcBs|EeZdZdZdS(uc_doubleudN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_doublesuc_doublecBs|EeZdZdZdS(u c_longdoubleugN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_longdoublesu c_longdoubleuqcBs|EeZdZdZdS(u c_longlonguqN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_longlongsu c_longlongcBs|EeZdZdZdS(u c_ulonglonguQN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_ulonglongsu c_ulonglongcBs|EeZdZdZdS(uc_ubyteuBN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_ubytesuc_ubytecBs|EeZdZdZdS(uc_byteubN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_bytesuc_bytecBs|EeZdZdZdS(uc_charucN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_charsuc_charcBsD|EeZdZdZejdkr4ddZn ddZdS(uc_char_puzuntcCsLtjj|ds,d|jj|jfSd|jjt|tjfS(Niu%s(%r)u%s(%s)i(uwindllukernel32uIsBadStringPtrAu __class__u__name__uvalueucastuc_void_p(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__suc_char_p.__repr__cCs d|jjt|tjfS(Nu%s(%s)(u __class__u__name__ucastuc_void_puvalue(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__sN(u__name__u __module__u __qualname__u_type_u_osunameu__repr__(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_char_psuc_char_pcBs|EeZdZdZdS(uc_void_puPN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_void_psuc_void_pcBs|EeZdZdZdS(uc_boolu?N(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_boolsuc_bool(uPOINTERupointeru_pointer_type_cachecBs|EeZdZdZdS(u c_wchar_puZN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu c_wchar_psu c_wchar_pcBs|EeZdZdZdS(uc_wcharuuN(u__name__u __module__u __qualname__u_type_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuc_wchar suc_wcharcCsbtjtjtjdkr0tjntjtt _t jtt _t td character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array iN( u isinstanceustrubytesuNoneulenuc_wcharuvalueuintu TypeError(uinitusizeubuftypeubuf((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyucreate_unicode_buffers      ucreate_unicode_buffercCsptj|ddk r'tdnt|tkrHtdn|j||t|.qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. cs|_j|r%tOn|r8tOnGfdddt}|_|dkrtj|_n |_dS(Ncs#|EeZdZZjZdS(uCDLL.__init__.._FuncPtrN(u__name__u __module__u __qualname__u_flags_u_func_restype_u _restype_(u __locals__(uflagsuself(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu_FuncPtrVsu_FuncPtr( u_nameu _func_flags_u_FUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_LASTERRORu _CFuncPtru_FuncPtruNoneu_dlopenu_handle(uselfunameumodeuhandleu use_errnouuse_last_erroru_FuncPtr((uflagsuselfu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__init__Ls      u CDLL.__init__cCsDd|jj|j|jtjdd@t|tjdd@fS(Nu<%s '%s', handle %x at %x>ii(u __class__u__name__u_nameu_handleu_sysumaxsizeuid(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__repr__`su CDLL.__repr__cCsP|jdr-|jdr-t|n|j|}t||||S(Nu__(u startswithuendswithuAttributeErroru __getitem__usetattr(uselfunameufunc((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getattr__fs uCDLL.__getattr__cCs4|j||f}t|ts0||_n|S(N(u_FuncPtru isinstanceuintu__name__(uselfuname_or_ordinalufunc((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getitem__ms uCDLL.__getitem__NF(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_CDECLu _func_flags_uc_intu_func_restype_u DEFAULT_MODEuNoneuFalseu__init__u__repr__u __getattr__u __getitem__(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuCDLL;s   uCDLLcBs$|EeZdZdZeeBZdS(uPyDLLuThis class represents the Python library itself. It allows to access Python API functions. The GIL is not released, and Python exceptions are handled correctly. N(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_CDECLu_FUNCFLAG_PYTHONAPIu _func_flags_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuPyDLLssuPyDLLcBs |EeZdZdZeZdS(uWinDLLunThis class represents a dll exporting functions using the Windows stdcall calling convention. N(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_STDCALLu _func_flags_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuWinDLL|suWinDLL(u_check_HRESULTu _SimpleCDatacBs |EeZdZdZeZdS(uHRESULTulN(u__name__u __module__u __qualname__u_type_u_check_HRESULTu_check_retval_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuHRESULTs uHRESULTcBs&|EeZdZdZeZeZdS(uOleDLLuThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as WindowsError exceptions. N(u__name__u __module__u __qualname__u__doc__u_FUNCFLAG_STDCALLu _func_flags_uHRESULTu_func_restype_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuOleDLLsuOleDLLcBsD|EeZdZddZddZddZddZd S( u LibraryLoadercCs ||_dS(N(u_dlltype(uselfudlltype((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu__init__suLibraryLoader.__init__cCsB|ddkrt|n|j|}t||||S(Niu_(uAttributeErroru_dlltypeusetattr(uselfunameudll((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getattr__s uLibraryLoader.__getattr__cCs t||S(N(ugetattr(uselfuname((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu __getitem__suLibraryLoader.__getitem__cCs |j|S(N(u_dlltype(uselfuname((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu LoadLibrarysuLibraryLoader.LoadLibraryN(u__name__u __module__u __qualname__u__init__u __getattr__u __getitem__u LoadLibrary(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu LibraryLoaders   u LibraryLoaderu python dllucygwinulibpython%d.%d.dlli(uget_last_erroruset_last_errorcCsL|dkrt}n|dkr9t|j}ntd|d|S(N(uNoneu GetLastErroru FormatErrorustripu WindowsError(ucodeudescr((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuWinErrors    uWinError(u _memmove_addru _memset_addru_string_at_addru _cast_addrcs#Gfdddt}|S(Ncs*|EeZdZZZeeBZdS(u!PYFUNCTYPE..CFunctionTypeN(u__name__u __module__u __qualname__u _argtypes_u _restype_u_FUNCFLAG_CDECLu_FUNCFLAG_PYTHONAPIu_flags_(u __locals__(uargtypesurestype(u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu CFunctionTypesu CFunctionType(u _CFuncPtr(urestypeuargtypesu CFunctionType((uargtypesurestypeu4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu PYFUNCTYPEsu PYFUNCTYPEcCst|||S(N(u_cast(uobjutyp((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyucastsucasticCs t||S(uAstring_at(addr[, size]) -> string Return the string at addr.(u _string_at(uptrusize((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu string_atsu string_at(u_wstring_at_addrcCs t||S(uFwstring_at(addr[, size]) -> string Return the string at addr.(u _wstring_at(uptrusize((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyu wstring_atsu wstring_atc CsRy"tdttdg}Wntk r:dSYnX|j|||SdS(Nucomtypes.server.inprocserveru*ii(u __import__uglobalsulocalsu ImportErroruDllGetClassObject(urclsiduriiduppvuccom((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuDllGetClassObjects "  uDllGetClassObjectc CsEy"tdttdg}Wntk r:dSYnX|jS(Nucomtypes.server.inprocserveru*i(u __import__uglobalsulocalsu ImportErroruDllCanUnloadNow(uccom((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyuDllCanUnloadNows "  uDllCanUnloadNow(uBigEndianStructureuLittleEndianStructurei(untuce(untuce(untuce(untuce(untuceii(untuce(u__doc__uosu_osusysu_sysu __version__u_ctypesuUnionu StructureuArrayu_PointeruCFuncPtru _CFuncPtru_ctypes_versionu RTLD_LOCALu RTLD_GLOBALu ArgumentErrorustructucalcsizeu _calcsizeu Exceptionunameu FormatErroru DEFAULT_MODEuplatformuintuunameureleaseusplituFUNCFLAG_CDECLu_FUNCFLAG_CDECLuFUNCFLAG_PYTHONAPIu_FUNCFLAG_PYTHONAPIuFUNCFLAG_USE_ERRNOu_FUNCFLAG_USE_ERRNOuFUNCFLAG_USE_LASTERRORu_FUNCFLAG_USE_LASTERRORuNoneucreate_string_bufferuc_bufferu_c_functype_cacheu CFUNCTYPEu LoadLibraryu_dlopenuFUNCFLAG_STDCALLu_FUNCFLAG_STDCALLu_win_functype_cacheu WINFUNCTYPEureplaceudlopenusizeofubyrefu addressofu alignmenturesizeu get_errnou set_errnou _SimpleCDatau _check_sizeu py_objectuc_shortuc_ushortuc_longuc_ulonguc_intuc_uintuc_floatuc_doubleu c_longdoubleu c_longlongu c_ulonglonguc_ubyteu __ctype_le__u __ctype_be__uc_byteuc_charuc_char_puc_void_puc_voidpuc_booluPOINTERupointeru_pointer_type_cacheu c_wchar_puc_wcharu _reset_cacheucreate_unicode_bufferuSetPointerTypeuARRAYuobjectuCDLLuPyDLLuWinDLLu_check_HRESULTuHRESULTuOleDLLu LibraryLoaderucdllupydllu dllhandleu pythonapiu version_infouwindlluoledllukernel32u GetLastErrorucoredlluget_last_erroruset_last_erroruWinErroruc_size_tu c_ssize_tu _memmove_addru _memset_addru_string_at_addru _cast_addrumemmoveumemsetu PYFUNCTYPEu_castucastu _string_atu string_atu_wstring_at_addru ImportErroru _wstring_atu wstring_atuDllGetClassObjectuDllCanUnloadNowuctypes._endianuBigEndianStructureuLittleEndianStructureuc_int8uc_uint8ukinduc_int16uc_int32uc_int64uc_uint16uc_uint32uc_uint64(((u4/opt/alt/python33/lib64/python3.3/ctypes/__init__.pyus< ( " !   (                      8            "          PK!y$$__pycache__/util.cpython-33.pycnu[ f"c@sddlZddlZddlZddlZejdkrfddZddZddZnejd krd dZnejd krejd krdd l m Z ddZnejd krddl Z ddl Z ddlZddZejdkrddZn ddZejjd$rWddZddZqejdkrddZd%ddZqddZd dZnd!d"Zed#krendS(&iNuntcCsd}tjj|}|d kr(dS|t|}tj|djdd\}}t|dd d}t|ddd}|dkrd }n|dkr||SdS( uReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. uMSC v.iiNu iig$@iii(usysuversionufindulenusplituintuNone(uprefixuiusurestu majorVersionu minorVersion((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_get_build_versions %   u_get_build_versioncCsot}|dkrdS|dkr.d}nd|d}ddl}d|jjkrg|d7}n|d S( u%Return the name of the VC runtime dlliumsvcrtumsvcr%di iNu_d.pydudu.dll(u_get_build_versionuNoneuimportlib.machineryu machineryuEXTENSION_SUFFIXES(uversionuclibnameu importlib((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_msvcrts      u find_msvcrtcCs|dkrtSxtjdjtjD]l}tjj||}tjj|r^|S|jj dryq-n|d}tjj|r-|Sq-WdS(NucumuPATHu.dll(ucum( u find_msvcrtuosuenvironusplitupathsepupathujoinuisfileuloweruendswithuNone(unameu directoryufname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_library0s   u find_libraryucecCs|S(N((uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryFsuposixudarwin(u dyld_findc Cs\d|d|d||fg}x4|D],}yt|SWq(tk rSw(Yq(Xq(WdS(Nu lib%s.dylibu%s.dylibu%s.framework/%s(u _dyld_findu ValueErroruNone(unameupossible((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryKs   c Csdtj|}tj\}}tj|d|d|}z3tj|}z|j}Wd|j}XWdytj|Wn=t k r}z|j t j krnWYdd}~XnXX|dkrt dntj ||} | sdS| jdS(Nu[^\(\)\s]*lib%s\.[^\(\)\s]*uif type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit 10; fi;LANG=C LC_ALL=C $CC -Wl,-t -o u 2>&1 -li ugcc or cc command not foundi(ureuescapeutempfileumkstempuosucloseupopenureaduunlinkuOSErroruerrnouENOENTusearchuNoneugroup( unameuexprufdoutuccoutucmdufutraceurvueures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _findLib_gccZs(  u _findLib_gccusunos5c Csj|s dSd|}tjtj|}|j}WdQXtjd|}|s]dS|jdS(Nu#/usr/ccs/bin/dump -Lpv 2>/dev/null u\[.*\]\sSONAME\s+([^\s]+)i( uNoneu contextlibuclosinguosupopenureadureusearchugroup(ufucmdudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _get_sonamevs u _get_sonamecCs|s dSd|}tj|}|j}|j}|dkrVtdntjd|}|srdS|jdS(NuWif ! type objdump >/dev/null 2>&1; then exit 10; fi;objdump -p -j .dynamic 2>/dev/null i uobjdump command not foundu\sSONAME\s+([^\s]+)i( uNoneuosupopenureaducloseuOSErrorureusearchugroup(ufucmdudumpurvures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _get_sonames   ufreebsduopenbsdu dragonflyc Csg|jd}g}y-x&|r@|jdt|jqWWntk rVYnX|pftjgS(Nu.i(usplituinsertuintupopu ValueErrorusysumaxsize(ulibnameupartsunums((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _num_versions $ u _num_versionc Cstj|}d||f}tjtjd}|j}WdQXtj||}|sttt |S|j dt |dS(Nu:-l%s\.\S+ => \S*/(lib%s\.\S+)u/sbin/ldconfig -r 2>/dev/nullukeyii( ureuescapeu contextlibuclosinguosupopenureadufindallu _get_sonameu _findLib_gccusortu _num_version(unameuenameuexprufudataures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCstjjdsdS|r%d}nd}xKtj|jD]4}|j}|jdrA|jd}qAqAW|sdSxF|jdD]5}tjj |d|}tjj|r|SqWdS(Nu /usr/bin/crleu*env LC_ALL=C /usr/bin/crle -64 2>/dev/nullu&env LC_ALL=C /usr/bin/crle 2>/dev/nulluDefault Library Path (ELF):iu:ulib%s.so( uosupathuexistsuNoneupopenu readlinesustripu startswithusplitujoin(unameuis64ucmdulineupathsudirulibfile((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu _findLib_crles   u _findLib_crlecCstt||pt|S(N(u _get_sonameu _findLib_crleu _findLib_gcc(unameuis64((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCsHddl}|jddkr7tjjd}ntjjd}idd6dd 6dd 6dd 6d d 6}|j|d}tjdtj||f}yt j ddgdt j dt j dt j didd6dd6>}tj ||jj}|r(tj|jdSWdQXWntk rCYnXdS(Niuliu-32u-64u libc6,x86-64u x86_64-64u libc6,64bituppc64-64u sparc64-64us390x-64u libc6,IA-64uia64-64ulibc6u\s+(lib%s\.[^\s]+)\s+\(%su/sbin/ldconfigu-pustdinustderrustdoutuenvuCuLC_ALLuLANGi(ustructucalcsizeuosuunameumachineugetufsencodeureuescapeu subprocessuPopenuDEVNULLuPIPEusearchustdoutureadufsdecodeugroupuOSError(unameustructumachineumach_mapuabi_typeuregexupures((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu_findSoname_ldconfigs0       u_findSoname_ldconfigcCst|ptt|S(N(u_findSoname_ldconfigu _get_sonameu _findLib_gcc(uname((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyu find_libraryscCs,ddlm}tjdkrRt|jt|jdttdntjdkr(ttdttdttdtj d krt|j d t|j d t|j d t|j d q(t|j dt|j dttdndS(Ni(ucdlluntumsvcrtuposixumucubz2udarwinu libm.dylibulibcrypto.dylibulibSystem.dylibuSystem.framework/Systemulibm.sou libcrypt.soucrypt( uctypesucdlluosunameuprintumsvcrtuloadu find_libraryusysuplatformu LoadLibrary(ucdll((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyutests" utestu__main__(ufreebsduopenbsdu dragonflyF(usysuosu contextlibu subprocessunameu_get_build_versionu find_msvcrtu find_libraryuplatformuctypes.macholib.dyldu dyld_findu _dyld_findureutempfileuerrnou _findLib_gccu _get_sonameu startswithu _num_versionu _findLib_crleuFalseu_findSoname_ldconfigutestu__name__(((u0/opt/alt/python33/lib64/python3.3/ctypes/util.pyus8     $        PK!)#__pycache__/wintypes.cpython-33.pyonu[ fc@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.ej/ejej/ej,kr4ejZ0ejZ1n9ej/ejej/ej,krmej Z0ejZ1neZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Z<e8Z=e8Z>e8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZnejoeZpZqejoeZrejoeZsZtejoeZuejoe4ZvejoeZwZxejoehZyZzejoeZ{ejoe8Z|Z}ejoeGZ~ejoeHZejoeZZejoeZejoe7ZejoeZZejoejZZejoe`ZZejoecZejoeYZZejoe\ZZejoeVZejoeZejoedZZejoefZZejoe^Zejoe ZZejoe"ZejoeZejoeZejoe ZejoemZZejoenZZejoeZZdS(iNcBs&|EeZdZdZddZdS(u VARIANT_BOOLuvcCsd|jj|jfS(Nu%s(%r)(u __class__u__name__uvalue(uself((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu__repr__suVARIANT_BOOL.__repr__N(u__name__u __module__u __qualname__u_type_u__repr__(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu VARIANT_BOOLsu VARIANT_BOOLcBs>|EeZdZdefdefdefdefgZdS(uRECTuleftutopurightubottomN(u__name__u __module__u __qualname__uLONGu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuRECTas   uRECTcBs>|EeZdZdefdefdefdefgZdS(u _SMALL_RECTuLeftuTopuRightuBottomN(u__name__u __module__u __qualname__uSHORTu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu _SMALL_RECThs   u _SMALL_RECTcBs,|EeZdZdefdefgZdS(u_COORDuXuYN(u__name__u __module__u __qualname__uSHORTu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyu_COORDos u_COORDcBs,|EeZdZdefdefgZdS(uPOINTuxuyN(u__name__u __module__u __qualname__uLONGu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuPOINTss uPOINTcBs,|EeZdZdefdefgZdS(uSIZEucxucyN(u__name__u __module__u __qualname__uLONGu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuSIZExs uSIZEcCs||d>|d>S(Nii((uredugreenublue((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuRGB}suRGBcBs,|EeZdZdefdefgZdS(uFILETIMEu dwLowDateTimeudwHighDateTimeN(u__name__u __module__u __qualname__uDWORDu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuFILETIMEs uFILETIMEcBsP|EeZdZdefdefdefdefdefdefgZ dS(uMSGuhWndumessageuwParamulParamutimeuptN( u__name__u __module__u __qualname__uHWNDuUINTuWPARAMuLPARAMuDWORDuPOINTu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuMSGs      uMSGic Bs||EeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S( uWIN32_FIND_DATAAudwFileAttributesuftCreationTimeuftLastAccessTimeuftLastWriteTimeu nFileSizeHighu nFileSizeLowu dwReserved0u dwReserved1u cFileNameucAlternateFileNameiN(u__name__u __module__u __qualname__uDWORDuFILETIMEuCHARuMAX_PATHu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuWIN32_FIND_DATAAs         uWIN32_FIND_DATAAc Bs||EeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S( uWIN32_FIND_DATAWudwFileAttributesuftCreationTimeuftLastAccessTimeuftLastWriteTimeu nFileSizeHighu nFileSizeLowu dwReserved0u dwReserved1u cFileNameucAlternateFileNameiN(u__name__u __module__u __qualname__uDWORDuFILETIMEuWCHARuMAX_PATHu_fields_(u __locals__((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyuWIN32_FIND_DATAWs         uWIN32_FIND_DATAW(uctypesuc_byteuBYTEuc_ushortuWORDuc_ulonguDWORDuc_charuCHARuc_wcharuWCHARuc_uintuUINTuc_intuINTuc_doubleuDOUBLEuc_floatuFLOATuBOOLEANuc_longuBOOLu _SimpleCDatau VARIANT_BOOLuULONGuLONGuUSHORTuc_shortuSHORTu c_longlongu_LARGE_INTEGERu LARGE_INTEGERu c_ulonglongu_ULARGE_INTEGERuULARGE_INTEGERu c_wchar_pu LPCOLESTRuLPOLESTRuOLESTRuLPCWSTRuLPWSTRuc_char_puLPCSTRuLPSTRuc_void_puLPCVOIDuLPVOIDusizeofuWPARAMuLPARAMuATOMuLANGIDuCOLORREFuLGRPIDuLCTYPEuLCIDuHANDLEuHACCELuHBITMAPuHBRUSHu HCOLORSPACEuHDCuHDESKuHDWPu HENHMETAFILEuHFONTuHGDIOBJuHGLOBALuHHOOKuHICONu HINSTANCEuHKEYuHKLuHLOCALuHMENUu HMETAFILEuHMODULEuHMONITORuHPALETTEuHPENuHRGNuHRSRCuHSTRuHTASKuHWINSTAuHWNDu SC_HANDLEuSERVICE_STATUS_HANDLEu StructureuRECTutagRECTu_RECTLuRECTLu _SMALL_RECTu SMALL_RECTu_COORDuPOINTutagPOINTu_POINTLuPOINTLuSIZEutagSIZEuSIZELuRGBuFILETIMEu _FILETIMEuMSGutagMSGuMAX_PATHuWIN32_FIND_DATAAuWIN32_FIND_DATAWuPOINTERuLPBOOLuPBOOLuPBOOLEANuLPBYTEuPBYTEuPCHARu LPCOLORREFuLPDWORDuPDWORDu LPFILETIMEu PFILETIMEuPFLOATuLPHANDLEuPHANDLEuPHKEYuLPHKLuLPINTuPINTuPLARGE_INTEGERuPLCIDuLPLONGuPLONGuLPMSGuPMSGuLPPOINTuPPOINTuPPOINTLuLPRECTuPRECTuLPRECTLuPRECTLu LPSC_HANDLEuPSHORTuLPSIZEuPSIZEuLPSIZELuPSIZELu PSMALL_RECTuLPUINTuPUINTuPULARGE_INTEGERuPULONGuPUSHORTuPWCHARuLPWIN32_FIND_DATAAuPWIN32_FIND_DATAAuLPWIN32_FIND_DATAWuPWIN32_FIND_DATAWuLPWORDuPWORD(((u4/opt/alt/python33/lib64/python3.3/ctypes/wintypes.pyus                    $  $      PK!f v v "__pycache__/_endian.cpython-33.pyonu[ fc@sddlZddlTeeZddZGdddeeZejdkrdZ eZ Gd d d ed eZ nFejd krd Z eZ Gddded eZ n e ddS(iN(u*cCsft|trt|tSt|tr?t|j|jSt|t rR|St d|dS(uReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. u+This type does not support other endian: %sN( uhasattru _OTHER_ENDIANugetattru isinstanceu _array_typeu _other_endianu_type_u_length_u issubclassu Structureu TypeError(utyp((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyu _other_endians u _other_endiancs&|EeZdZfddZS(u _swapped_metacs|dkrmg}xO|D]G}|d}|d}|dd}|j|t|f|qW|}ntj||dS(Nu_fields_iii(uappendu _other_endianusuperu __setattr__(uselfuattrnameuvalueufieldsudescunameutypurest(u __class__(u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyu __setattr__s    ! u_swapped_meta.__setattr__(u__name__u __module__u __qualname__u __setattr__(u __locals__((u __class__u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyu _swapped_metasu _swapped_metaulittleu __ctype_be__cBs |EeZdZdZdZdS(uBigEndianStructureu$Structure with big endian byte orderN(u__name__u __module__u __qualname__u__doc__uNoneu_swappedbytes_(u __locals__((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyuBigEndianStructure.suBigEndianStructureu metaclassubigu __ctype_le__cBs |EeZdZdZdZdS(uLittleEndianStructureu'Structure with little endian byte orderN(u__name__u __module__u __qualname__u__doc__uNoneu_swappedbytes_(u __locals__((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyuLittleEndianStructure6suLittleEndianStructureuInvalid byteorder( usysuctypesutypeuArrayu _array_typeu _other_endianu Structureu _swapped_metau byteorderu _OTHER_ENDIANuLittleEndianStructureuBigEndianStructureu RuntimeError(((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyus    PK!f v v "__pycache__/_endian.cpython-33.pycnu[ fc@sddlZddlTeeZddZGdddeeZejdkrdZ eZ Gd d d ed eZ nFejd krd Z eZ Gddded eZ n e ddS(iN(u*cCsft|trt|tSt|tr?t|j|jSt|t rR|St d|dS(uReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. u+This type does not support other endian: %sN( uhasattru _OTHER_ENDIANugetattru isinstanceu _array_typeu _other_endianu_type_u_length_u issubclassu Structureu TypeError(utyp((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyu _other_endians u _other_endiancs&|EeZdZfddZS(u _swapped_metacs|dkrmg}xO|D]G}|d}|d}|dd}|j|t|f|qW|}ntj||dS(Nu_fields_iii(uappendu _other_endianusuperu __setattr__(uselfuattrnameuvalueufieldsudescunameutypurest(u __class__(u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyu __setattr__s    ! u_swapped_meta.__setattr__(u__name__u __module__u __qualname__u __setattr__(u __locals__((u __class__u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyu _swapped_metasu _swapped_metaulittleu __ctype_be__cBs |EeZdZdZdZdS(uBigEndianStructureu$Structure with big endian byte orderN(u__name__u __module__u __qualname__u__doc__uNoneu_swappedbytes_(u __locals__((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyuBigEndianStructure.suBigEndianStructureu metaclassubigu __ctype_le__cBs |EeZdZdZdZdS(uLittleEndianStructureu'Structure with little endian byte orderN(u__name__u __module__u __qualname__u__doc__uNoneu_swappedbytes_(u __locals__((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyuLittleEndianStructure6suLittleEndianStructureuInvalid byteorder( usysuctypesutypeuArrayu _array_typeu _other_endianu Structureu _swapped_metau byteorderu _OTHER_ENDIANuLittleEndianStructureuBigEndianStructureu RuntimeError(((u3/opt/alt/python33/lib64/python3.3/ctypes/_endian.pyus    PK!p(macholib/__pycache__/dyld.cpython-37.pycnu[B  fg@sdZddlZddlmZddlmZddlTdddd gZej d d d d gZ ej 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}||}|dkr$gS|dS)N:)osenvirongetsplit)envvarZrvalr9/opt/alt/python37/lib64/python3.7/ctypes/macholib/dyld.pydyld_envs  rcCs|dkrtj}|dS)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]<}|dr2|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]}tj||dVqWx(t|D]}tj|tj|Vq@WdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs r!ccs2|dr.|dk r.tj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk r@t|}x |D]}tj||dVq$Wt|}x$|D]}tj|tj|VqNW|dk r|sx tD]}tj||dVqW|sx$tD]}tj|tj|VqWdS)Nr) rrrrrrrDEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)rr r Zfallback_framework_pathrZfallback_library_pathrrrdyld_default_search^s     r'cCsPxs:               PK!/macholib/__pycache__/dylib.cpython-37.opt-1.pycnu[B  f$@s>dZddlZdgZedZddZddZedkr:edS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCst|}|sdS|S)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:/opt/alt/python37/lib64/python3.7/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__rrrrsPK!YY.macholib/__pycache__/dyld.cpython-37.opt-1.pycnu[B  fg@sdZddlZddlmZddlmZddlTdddd gZej d d d d gZ ej 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}||}|dkr$gS|dS)N:)osenvirongetsplit)envvarZrvalr9/opt/alt/python37/lib64/python3.7/ctypes/macholib/dyld.pydyld_envs  rcCs|dkrtj}|dS)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]<}|dr2|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]}tj||dVqWx(t|D]}tj|tj|Vq@WdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs r!ccs2|dr.|dk r.tj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk r@t|}x |D]}tj||dVq$Wt|}x$|D]}tj|tj|VqNW|dk r|sx tD]}tj||dVqW|sx$tD]}tj|tj|VqWdS)Nr) rrrrrrrDEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)rr r Zfallback_framework_pathrZfallback_library_pathrrrdyld_default_search^s     r'cCsPxs:               PK!r53macholib/__pycache__/framework.cpython-37.opt-2.pycnu[B YI~d@s:ddlZdgZedZddZddZedkr6edS)Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCst|}|sdS|S)N)STRICT_FRAMEWORK_REmatch groupdict)filenameZ is_frameworkr>/opt/alt/python37/lib64/python3.7/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__rrrrsPK!z66,macholib/__pycache__/__init__.cpython-37.pycnu[B  f@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__rr=/opt/alt/python37/lib64/python3.7/ctypes/macholib/__init__.pysPK!d,B2macholib/__pycache__/__init__.cpython-37.opt-2.pycnu[B YI~d@sdZdS)z1.0N) __version__rr=/opt/alt/python37/lib64/python3.7/ctypes/macholib/__init__.py PK!)macholib/__pycache__/dylib.cpython-37.pycnu[B  f$@s>dZddlZdgZedZddZddZedkr:edS) z! Generic dylib path manipulation N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCst|}|sdS|S)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:/opt/alt/python37/lib64/python3.7/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__rrrrsPK!Yll/macholib/__pycache__/dylib.cpython-37.opt-2.pycnu[B YI~d$@s:ddlZdgZedZddZddZedkr6edS)N dylib_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+?) (?:\.(?P[^._]+))? (?:_(?P[^._]+))? \.dylib$ ) cCst|}|sdS|S)N)DYLIB_REmatch groupdict)filenameZis_dylibr:/opt/alt/python37/lib64/python3.7/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__rrrrsPK!z662macholib/__pycache__/__init__.cpython-37.opt-1.pycnu[B  f@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__rr=/opt/alt/python37/lib64/python3.7/ctypes/macholib/__init__.pysPK! -macholib/__pycache__/framework.cpython-37.pycnu[B  f@s>dZddlZdgZedZddZddZedkr:edS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCst|}|sdS|S)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_frameworkr>/opt/alt/python37/lib64/python3.7/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__rrrrsPK!i<0.macholib/__pycache__/dyld.cpython-37.opt-2.pycnu[B YI~dg@sddlZddlmZddlmZddlTddddgZejd d d d gZ ejd 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}||}|dkr$gS|dS)N:)osenvirongetsplit)envvarZrvalr9/opt/alt/python37/lib64/python3.7/ctypes/macholib/dyld.pydyld_envs  rcCs|dkrtj}|dS)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]<}|dr2|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]}tj||dVqWx(t|D]}tj|tj|Vq@WdS)Nname)rrrrjoinrbasename)rr frameworkrrrrdyld_override_searchFs r!ccs2|dr.|dk r.tj||tddVdS)Nz@executable_path/) startswithrrrr)rexecutable_pathrrrdyld_executable_path_searchWsr$ccs|Vt|}|dk r@t|}x |D]}tj||dVq$Wt|}x$|D]}tj|tj|VqNW|dk r|sx tD]}tj||dVqW|sx$tD]}tj|tj|VqWdS)Nr) rrrrrrrDEFAULT_FRAMEWORK_FALLBACKDEFAULT_LIBRARY_FALLBACK)rr r Zfallback_framework_pathrZfallback_library_pathrrrdyld_default_search^s     r'cCsPxs8               PK!AZZ3macholib/__pycache__/framework.cpython-37.opt-1.pycnu[B  f@s>dZddlZdgZedZddZddZedkr:edS) z% Generic framework path manipulation Nframework_infoz(?x) (?P^.*)(?:^|/) (?P (?P\w+).framework/ (?:Versions/(?P[^/]+)/)? (?P=shortname) (?:_(?P[^_]+))? )$ cCst|}|sdS|S)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_frameworkr>/opt/alt/python37/lib64/python3.7/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__rrrrsPK!TJ"__pycache__/_endian.cpython-37.pycnu[B  f@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr 3/opt/alt/python37/lib64/python3.7/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacsb|dkrPg}x>|D]6}|d}|d}|dd}||t|f|qW|}t||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs  z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r )rrrsrlittleZ __ctype_be__c@seZdZdZdZdZdS)BigEndianStructurez$Structure with big endian byte orderr N)rrr__doc__ __slots___swappedbytes_r r r rr.sr) metaclassZbigZ __ctype_le__c@seZdZdZdZdZdS)LittleEndianStructurez'Structure with little endian byte orderr N)rrrr r!r"r r r rr$7sr$zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr$r RuntimeErrorr r r rs  PK!~wo?o?#__pycache__/__init__.cpython-37.pycnu[B  f`C@s(dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd krdd lmZeZejdkrejdkreejdddkreZddlmZmZ m!Z"m#Z$d}ddZ%d~ddZ&iZ'ddZ(ejd kr\ddlm)Z*ddlm+Z,iZ-ddZ.e.jrte(j/dde._nejdkrtddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7dd lm8Z8dd!d"Z9Gd#d$d$e8Z:e9e:d%Gd&d'd'e8Z;e9e;Gd(d)d)e8Ze9e>ed.ed/krLe=Z?e>Z@n0Gd0d1d1e8Z?e9e?Gd2d3d3e8Z@e9e@Gd4d5d5e8ZAe9eAGd6d7d7e8ZBe9eBGd8d9d9e8ZCe1eCe1eBkreBZCed/ed:kre=ZDe>ZEn0Gd;d<dd>e8ZEe9eEGd?d@d@e8ZFeFeF_GeF_He9eFGdAdBdBe8ZIeIeI_GeI_He9eIGdCdDdDe8ZJeJeJ_GeJ_He9eJGdEdFdFe8ZKe9eKd%GdGdHdHe8ZLeLZMe9eLGdIdJdJe8ZNddKlmOZOmPZPmQZQGdLdMdMe8ZRGdNdOdOe8ZSdPdQZTddRdSZUdTdUZVdVdWZWGdXdYdYeXZYGdZd[d[eYZZejd krGd\d]d]eYZ[dd^lm\Z\m8Z8Gd_d`d`e8Z]GdadbdbeYZ^GdcddddeXZ_e_eYZ`e_eZZaejd kreZdedejbZcn,ejdfkreZdgejdddhZcneZdZcejd kr8e_e[Zee_e^ZfeejgjhZhddilmiZimjZjddjdkZke1e@e1eLkrTe@Zle?Zmn6e1e>e1eLkrpe>Zle=Zmne1eEe1eLkreEZleDZmddllmnZnmoZompZpmqZqe(eLeLeLelenZre(eLeLe?eleoZsdmdnZtete:eLe:e:eqZudodpZvete:eLe?epZwddrdsZxyddtlmyZyWnezk r(YnXete:eLe?eyZ{ddudvZ|ejd kr`dwdxZ}dydzZ~dd{lmZmZeIZeFZxPe;e?e=eDgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqWxPeeEgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqW[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr"4/opt/alt/python37/lib64/python3.7/ctypes/__init__.pycreate_string_buffer/s   r$cCs t||S)N)r$)rrr"r"r#c_bufferAsr%cst|ddrtO|ddr,tO|r@td|ytfStk rGfdddt}|tf<|SXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_errorz!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r")argtypesflagsrestyper"r# CFunctionTypecsr1N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r0r.kwr1r")r.r/r0r# CFUNCTYPEIs  r<) LoadLibrary)FUNCFLAG_STDCALLcst|ddrtO|ddr,tO|r@td|ytfStk rGfdddt}|tf<|SXdS)Nr&Fr'z!unexpected keyword argument(s) %scseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r(r)r*r+r,r-r")r.r/r0r"r#WinFunctionType{sr?) _FUNCFLAG_STDCALLr3r4r5r6r7_win_functype_cacher9r:)r0r.r;r?r")r.r/r0r# WINFUNCTYPEos  rB)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rD SystemError)typtypecoder ZactualZrequiredr"r"r# _check_sizes rQcs eZdZdZfddZZS) py_objectOcs.y tStk r(dt|jSXdS)Nz %s())super__repr__r6typer()self) __class__r"r#rUs zpy_object.__repr__)r(r)r*rMrU __classcell__r"r")rXr#rRsrRPc@seZdZdZdS)c_shorthN)r(r)r*rMr"r"r"r#r[sr[c@seZdZdZdS)c_ushortHN)r(r)r*rMr"r"r"r#r]sr]c@seZdZdZdS)c_longlN)r(r)r*rMr"r"r"r#r_sr_c@seZdZdZdS)c_ulongLN)r(r)r*rMr"r"r"r#rasrair`c@seZdZdZdS)c_intrcN)r(r)r*rMr"r"r"r#rdsrdc@seZdZdZdS)c_uintIN)r(r)r*rMr"r"r"r#resrec@seZdZdZdS)c_floatfN)r(r)r*rMr"r"r"r#rgsrgc@seZdZdZdS)c_doubledN)r(r)r*rMr"r"r"r#risric@seZdZdZdS) c_longdoublegN)r(r)r*rMr"r"r"r#rksrkqc@seZdZdZdS) c_longlongrmN)r(r)r*rMr"r"r"r#rnsrnc@seZdZdZdS) c_ulonglongQN)r(r)r*rMr"r"r"r#rosroc@seZdZdZdS)c_ubyteBN)r(r)r*rMr"r"r"r#rqsrqc@seZdZdZdS)c_bytebN)r(r)r*rMr"r"r"r#rssrsc@seZdZdZdS)rcN)r(r)r*rMr"r"r"r#rsrc@seZdZdZddZdS)c_char_pzcCsd|jjt|jfS)Nz%s(%s))rXr(c_void_p from_bufferr)rWr"r"r#rUszc_char_p.__repr__N)r(r)r*rMrUr"r"r"r#rvsrvc@seZdZdZdS)rxrZN)r(r)r*rMr"r"r"r#rxsrxc@seZdZdZdS)c_bool?N)r(r)r*rMr"r"r"r#rzsrz)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjt|jfS)Nz%s(%s))rXr(rxryr)rWr"r"r#rUszc_wchar_p.__repr__N)r(r)r*rMrUr"r"r"r#rsrc@seZdZdZdS)c_wcharuN)r(r)r*rMr"r"r"r#rsrcCsFtttjdkr"ttjtt _t jtt _t td<dS)Nr ) r~clearr8_osnamerArZ from_paramr|rrvrrxr"r"r"r# _reset_caches   rcCst|trZ|dkrBttdkr6tdd|Dd}n t|d}t|}|}||_|St|trvt|}|}|St|dS)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Ncss"|]}t|dkrdndVqdS)irrN)ord).0rur"r"r# sz(create_unicode_buffer..r) rstrrDrsumrrrr)rrr r!r"r"r#create_unicode_buffers    rcCsLt|ddk rtdt|tkr,td|||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)r~get RuntimeErroridZset_type)r}clsr"r"r#SetPointerType*s  rcCs||S)Nr")rOrr"r"r#ARRAY4src@sNeZdZdZeZeZdZdZ dZ e dddfddZ dd Z d d Zd d ZdS)CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcs|_j|rtO|r$tOtjdrV|rV|drVd|krV|tj tj BO}Gfdddt }|_ |dkrt j|_n|_dS)NZaix)z.a(cseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r(r)r*r-_func_restype_r,r")r/rWr"r#_FuncPtrasr)_name _func_flags_r4r5_sysplatform startswithendswithrZ RTLD_MEMBERRTLD_NOWr:r_dlopen_handle)rWrmodeZhandler&r'rr")r/rWr#__init__Os z CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>rr)rXr(rrrmaxsizer)rWr"r"r#rUks z CDLL.__repr__cCs6|dr|drt|||}t||||S)N__)rrAttributeError __getitem__setattr)rWrfuncr"r"r# __getattr__qs   zCDLL.__getattr__cCs"|||f}t|ts||_|S)N)rrrr()rWZname_or_ordinalrr"r"r#rxs zCDLL.__getitem__)r(r)r*__doc__r2rrdrrrr DEFAULT_MODErrUrrr"r"r"r#r:s  rc@seZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r(r)r*rr2_FUNCFLAG_PYTHONAPIrr"r"r"r#r~src@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r(r)r*rr@rr"r"r"r#rsr)_check_HRESULTrKc@seZdZdZeZdS)HRESULTr`N)r(r)r*rMrZ_check_retval_r"r"r"r#rs rc@seZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r(r)r*rr@rrrr"r"r"r#rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rWZdlltyper"r"r#rszLibraryLoader.__init__cCs.|ddkrt|||}t||||S)Nr_)rrr)rWrZdllr"r"r#rs    zLibraryLoader.__getattr__cCs t||S)N)getattr)rWrr"r"r#rszLibraryLoader.__getitem__cCs ||S)N)r)rWrr"r"r#r=szLibraryLoader.LoadLibraryN)r(r)r*rrrr=r"r"r"r#rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|}td|d|S)N) GetLastErrorr stripOSError)codeZdescrr"r"r#WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r(r)r*r+r,r2rr-r")r.r0r"r#r1sr1)r:)r0r.r1r")r.r0r# PYFUNCTYPEsrcCs t|||S)N)_cast)objrOr"r"r#castsrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_at)ptrrr"r"r# string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_at)rrr"r"r# wstring_atsrcCs@ytdttdg}Wntk r,dSX||||SdS)Nzcomtypes.server.inprocserver*i) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr"r"r#rs rcCs6ytdttdg}Wntk r,dSX|S)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr"r"r#r s r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)r)r)rosrsysrrZ_ctypesrrrrrr:Z_ctypes_versionrr r rLr Z _calcsize Exceptionrr rrrunamereleasesplitrr2rrrr4rr5r$r%r8r<r=rr>r@rArBreplacerCrDrErFrGrHrIrJrKrQrRr[r]r_rardrergrirkrnrorqZ __ctype_le__Z __ctype_be__rsrrvrxZc_voidprzr|r}r~rrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r"r"r"r#s4          !              D            PK!M)__pycache__/wintypes.cpython-37.opt-2.pycnu[B YI~d@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.e/eje/ej,krejZ0ejZ1n$e/eje/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZneoeZpZqeoeZreoeZsZteoeZueoe4ZveoeZwZxeoehZyZzeoeZ{eoe8Z|Z}eoeGZ~eoeHZeoeZZeoeZeoe7ZeoeZZeoejZZeoe`ZZeoecZeoeYZZeoe\ZZeoeVZeoeZeoedZZeoefZZeoe^Zeoe ZZeoe"ZeoeZeoeZeoe ZeoemZZeoenZZeoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr4/opt/alt/python37/lib64/python3.7/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r asr c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhsrc@seZdZdefdefgZdS)_COORDXYN)rr r rrrrrr rosrc@seZdZdefdefgZdS)POINTxyN)rr r rrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxcyN)rr r rrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr r sr c@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeptN) rr r HWNDUINTWPARAMLPARAMr!rrrrrr r"s r"ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r!r CHARMAX_PATHrrrrr r)s r)c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr*r+r,r-r.r/r0r1r2r3r4N)rr r r!r WCHARr6rrrrr r7s r7)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr!Zc_charr5Zc_wcharr8Zc_uintr&Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr'r(ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr%Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrr Z _FILETIMEr"ZtagMSGr6r)r7ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!v?VV%__pycache__/util.cpython-37.opt-1.pycnu[B  f76@sBddlZddlZddlZddlZejdkrDddZddZddZnejd krnejd krndd l m Z d dZnej d rddl mZnejd kr&ddlZddlZddZddZejdkrddZnddZej drddZddZn8ejdkrddZd'ddZndd Zd!d"Zd#dZd$d%Zed&kr>edS)(NntcCsd}tj|}|dkrdS|t|}tj|ddd\}}t|ddd}|dkrf|d7}t|d d d }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr0/opt/alt/python37/lib64/python3.7/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s rcCst|dkrtSx`tjdtjD]J}tj||}tj|rD|S| drTq"|d}tj|r"|Sq"WdS)N)cmPATHz.dll) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s  r,posixdarwin) dyld_findc CsLd|d|d||fg}x,|D]$}yt|Stk rBw Yq Xq WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r+possiblerrrr,Hs  aix)r,c Cs(d}t|d}|d|kSQRXdS)z,Return True if the given file is an ELF filesELFbrN)openread)filenameZ elf_headerZthefilerrr_is_elf`s r9c Cstdt|}td}|s,td}|s4dSt}z||dd|jd|g}t tj }d|d<d|d <yt j |t j t j|d }Wntk rdSX||j}WdQRXWdy |Wntk rYnXXt||}|sdSx |D]} t| sqt| SWdS) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*ZgccZccz-Wl,-tz-oz-lCLC_ALLLANG)stdoutstderrenv)r#fsencodereescapeshutilwhichtempfileZNamedTemporaryFiler+dictr$ subprocessPopenPIPEZSTDOUTOSErrorr=r7closeFileNotFoundErrorfindallr9fsdecode) r+exprZ c_compilerZtempargsr?procZtraceresfilerrr _findLib_gccfs@        rTZsunos5c Csz|sdSytjdd|ftjtjd}Wntk r:dSX||j}WdQRXtd|}|sjdSt | dS)Nz/usr/ccs/bin/dumpz-Lpv)r=r>s\[.*\]\sSONAME\s+([^\s]+)r) rGrHrIDEVNULLrJr=r7rAsearchr#rNgroup)frQdatarRrrr _get_sonames  rZc Cs|sdStd}|sdSy"tj|ddd|ftjtjd}Wntk rPdSX||j}WdQRXt d|}|sdSt | dS)Nobjdumpz-pz-jz.dynamic)r=r>s\sSONAME\s+([^\s]+)r)rCrDrGrHrIrUrJr=r7rArVr#rNrW)rXr[rQdumprRrrrrZs"  )ZfreebsdZopenbsdZ dragonflycCsR|d}g}y"x|r,|dt|qWWntk rDYnX|pPtjgS)N.r)rinsertrpopr1r maxsize)ZlibnamepartsZnumsrrr _num_versions rbc Cst|}d||f}t|}ytjdtjtjd}Wntk rPd}YnX||j }WdQRXt ||}|st t |S|jtdt|dS)Nz:-l%s\.\S+ => \S*/(lib%s\.\S+))z/sbin/ldconfigz-r)r=r>)keyr)rArBr#r@rGrHrIrUrJr=r7rMrZrTsortrbrN)r+ZenamerOrQrYrRrrrr,s        c CstjdsdSttj}d|d<|r,d}nd}d}ytj|tjtj|d}Wnt k rbdSX|:x2|j D](}| }| drrt |d}qrWWdQRX|sdSx4|d D]&}tj|d |}tj|r|SqWdS) Nz /usr/bin/crler:r;)z /usr/bin/crlez-64)z /usr/bin/crle)r=r>r?sDefault Library Path (ELF):r5:zlib%s.so)r#r&existsrFr$rGrHrIrUrJr=strip startswithrNrr') r+is64r?rPpathsrQlinedirZlibfilerrr _findLib_crles6       rnFcCstt||pt|S)N)rZrnrT)r+rjrrrr, sc Csddl}|ddkr&tjd}ntjd}dddddd }||d }d }t|t||f}yZt j d d gt j t j t j dddd,}t ||j}|rt|dSWdQRXWntk rYnXdS)Nrlr5z-32z-64z libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pr:)r;r<)stdinr>r=r?r)structZcalcsizer#unamemachinegetr@rArBrGrHrUrIrVr=r7rNrWrJ)r+rqrsZmach_mapZabi_typeZregexprRrrr_findSoname_ldconfigs.  rvc Csdt|}ddg}tjd}|rHx |dD]}|d|gq2W|dtjd|gd}yXtj |tj tj d d }| \}}t |t |} x| D]} t| sqt | SWWntk rYnX|S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*Zldz-tZLD_LIBRARY_PATHrfz-Lz-oz-l%sT)r=r>Zuniversal_newlines)rArBr#r$rtrextenddevnullrGrHrIZ communicaterMrNr9 Exception) r+rOcmdZlibpathrresultruout_rRrSrrr _findLib_ld,s*    r~cCs t|ptt|ptt|S)N)rvrZrTr~)r+rrrr,GscCsddlm}tjdkr:t|jt|dttdtjdkrttdttdttdtj d krt| d t| d t| d t| d ntj drddlm }tj dkrtd|dtjtd| dttdt| dn*td|dtjtd| dtdtdtd| tdtdtdtd| tdn(t| dt| dttddS)Nr)cdllrrr-r!r bz2r.z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr3)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): Zrpmz librpm.sozlibc.a(shr_64.o)z crypt :: Zcryptz crypto :: Zcryptozlibm.soz libcrypt.so)Zctypesrr#r+printrloadr,r platformZ LoadLibraryrirr`Z RTLD_MEMBER)rrrrrtestOs<            r__main__)F)r#rCrGr r+rrr,rZctypes.macholib.dyldr/r0riZ ctypes._aixrArEr9rTrZrbrnrvr~r__name__rrrrs>     2     $ ( PK!G00%__pycache__/util.cpython-37.opt-2.pycnu[B YI~d76@sBddlZddlZddlZddlZejdkrDddZddZddZnejd krnejd krndd l m Z d dZnej d rddl mZnejd kr&ddlZddlZddZddZejdkrddZnddZej drddZddZn8ejdkrddZd'ddZndd Zd!d"Zd#dZd$d%Zed&kr>edS)(NntcCsd}tj|}|dkrdS|t|}tj|ddd\}}t|ddd}|dkrf|d7}t|dd d }|dkrd }|dkr||SdS) NzMSC v.  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr0/opt/alt/python37/lib64/python3.7/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d7}|d S) Nrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rZimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s rcCst|dkrtSx`tjdtjD]J}tj||}tj|rD|S| drTq"|d}tj|r"|Sq"WdS)N)cmPATHz.dll) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s  r+posixdarwin) dyld_findc CsLd|d|d||fg}x,|D]$}yt|Stk rBw Yq Xq WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r*possiblerrrr+Hs  aix)r+c Cs(d}t|d}|d|kSQRXdS)NsELFbr)openread)filenameZ elf_headerZthefilerrr_is_elf`s r8c Cstdt|}td}|s,td}|s4dSt}z||dd|jd|g}t tj }d|d<d|d <yt j |t j t j|d }Wntk rdSX||j}WdQRXWdy |Wntk rYnXXt||}|sdSx |D]} t| sqt| SWdS) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*ZgccZccz-Wl,-tz-oz-lCLC_ALLLANG)stdoutstderrenv)r"fsencodereescapeshutilwhichtempfileZNamedTemporaryFiler*dictr# subprocessPopenPIPEZSTDOUTOSErrorr<r6closeFileNotFoundErrorfindallr8fsdecode) r*exprZ c_compilerZtempargsr>procZtraceresfilerrr _findLib_gccfs@        rSZsunos5c Csz|sdSytjdd|ftjtjd}Wntk r:dSX||j}WdQRXtd|}|sjdSt | dS)Nz/usr/ccs/bin/dumpz-Lpv)r<r=s\[.*\]\sSONAME\s+([^\s]+)r) rFrGrHDEVNULLrIr<r6r@searchr"rMgroup)frPdatarQrrr _get_sonames  rYc Cs|sdStd}|sdSy"tj|ddd|ftjtjd}Wntk rPdSX||j}WdQRXt d|}|sdSt | dS)Nobjdumpz-pz-jz.dynamic)r<r=s\sSONAME\s+([^\s]+)r)rBrCrFrGrHrTrIr<r6r@rUr"rMrV)rWrZrPdumprQrrrrYs"  )ZfreebsdZopenbsdZ dragonflycCsR|d}g}y"x|r,|dt|qWWntk rDYnX|pPtjgS)N.r)rinsertrpopr0r maxsize)ZlibnamepartsZnumsrrr _num_versions rac Cst|}d||f}t|}ytjdtjtjd}Wntk rPd}YnX||j }WdQRXt ||}|st t |S|jtdt|dS)Nz:-l%s\.\S+ => \S*/(lib%s\.\S+))z/sbin/ldconfigz-r)r<r=)keyr)r@rAr"r?rFrGrHrTrIr<r6rLrYrSsortrarM)r*ZenamerNrPrXrQrrrr+s        c CstjdsdSttj}d|d<|r,d}nd}d}ytj|tjtj|d}Wnt k rbdSX|:x2|j D](}| }| drrt |d}qrWWdQRX|sdSx4|d D]&}tj|d |}tj|r|SqWdS) Nz /usr/bin/crler9r:)z /usr/bin/crlez-64)z /usr/bin/crle)r<r=r>sDefault Library Path (ELF):r4:zlib%s.so)r"r%existsrEr#rFrGrHrTrIr<strip startswithrMrr&) r*is64r>rOpathsrPlinedirZlibfilerrr _findLib_crles6       rmFcCstt||pt|S)N)rYrmrS)r*rirrrr+ sc Csddl}|ddkr&tjd}ntjd}dddddd }||d }d }t|t||f}yZt j d d gt j t j t j dddd,}t ||j}|rt|dSWdQRXWntk rYnXdS)Nrlr4z-32z-64z libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pr9)r:r;)stdinr=r<r>r)structcalcsizer"unamemachinegetr?r@rArFrGrTrHrUr<r6rMrVrI)r*rprsZmach_mapZabi_typeZregexprQrrr_findSoname_ldconfigs.  rvc Csdt|}ddg}tjd}|rHx |dD]}|d|gq2W|dtjd|gd}yXtj |tj tj d d }| \}}t |t |} x| D]} t| sqt | SWWntk rYnX|S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*Zldz-tZLD_LIBRARY_PATHrez-Lz-oz-l%sT)r<r=Zuniversal_newlines)r@rAr"r#rtrextenddevnullrFrGrHZ communicaterLrMr8 Exception) r*rNcmdZlibpathrresultruout_rQrRrrr _findLib_ld,s*    r~cCs t|ptt|ptt|S)N)rvrYrSr~)r*rrrr+GscCsddlm}tjdkr:t|jt|dttdtjdkrttdttdttdtj d krt| d t| d t| d t| d ntj drddlm }tj dkrtd|dtjtd| dttdt| dn*td|dtjtd| dtdtdtd| tdtdtdtd| tdn(t| dt| dttddS)Nr)cdllrrr,r rbz2r-z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr2)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): Zrpmz librpm.sozlibc.a(shr_64.o)z crypt :: Zcryptz crypto :: Zcryptozlibm.soz libcrypt.so)Zctypesrr"r*printrloadr+r platformZ LoadLibraryrhrr_Z RTLD_MEMBER)rrrrrtestOs<            r__main__)F)r"rBrFr r*rrr+rZctypes.macholib.dyldr.r/rhZ ctypes._aixr@rDr8rSrYrarmrvr~r__name__rrrrs>     2     $ ( PK!\)__pycache__/wintypes.cpython-37.opt-1.pycnu[B  f@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.e/eje/ej,krejZ0ejZ1n$e/eje/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZneoeZpZqeoeZreoeZsZteoeZueoe4ZveoeZwZxeoehZyZzeoeZ{eoe8Z|Z}eoeGZ~eoeHZeoeZZeoeZeoe7ZeoeZZeoejZZeoe`ZZeoecZeoeYZZeoe\ZZeoeVZeoeZeoedZZeoefZZeoe^Zeoe ZZeoe"ZeoeZeoeZeoe ZeoemZZeoenZZeoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr4/opt/alt/python37/lib64/python3.7/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r asr c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhsrc@seZdZdefdefgZdS)_COORDXYN)rr r rrrrrr rosrc@seZdZdefdefgZdS)POINTxyN)rr r rrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxZcyN)rr r rrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr rsrc@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeZptN) rr r HWNDUINTWPARAMLPARAMr rrrrrr r!s r!ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r rCHARMAX_PATHrrrrr r's r'c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr(r)r*r+r,r-r.r/r0r1r2N)rr r r rWCHARr4rrrrr r5s r5)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr Zc_charr3Zc_wcharr6Zc_uintr$Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr%r&ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr#Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrrZ _FILETIMEr!ZtagMSGr4r'r5ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!.[66)__pycache__/__init__.cpython-37.opt-2.pycnu[B  f`C@s$ddlZddlZdZddlmZmZmZddlm Z ddlm Z ddlmZ ddlm Z mZddlmZdd lmZee kred ee ejd krdd lmZe Zejd krejdkreejdddkreZddlmZmZm Z!m"Z#d|ddZ$d}ddZ%iZ&ddZ'ejd krXddlm(Z)ddlm*Z+iZ,ddZ-e-j.rpe'j./dde-_.nejd krpddlm0Z)ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7ddlm8Z8d~d d!Z9Gd"d#d#e8Z:e9e:d$Gd%d&d&e8Z;e9e;Gd'd(d(e8Ze9e>ed-ed.krHe=Z?e>Z@n0Gd/d0d0e8Z?e9e?Gd1d2d2e8Z@e9e@Gd3d4d4e8ZAe9eAGd5d6d6e8ZBe9eBGd7d8d8e8ZCe1eCe1eBkreBZCed.ed9kre=ZDe>ZEn0Gd:d;d;e8ZDe9eDGdd?d?e8ZFeFeF_GeF_He9eFGd@dAdAe8ZIeIeI_GeI_He9eIGdBdCdCe8ZJeJeJ_GeJ_He9eJGdDdEdEe8ZKe9eKd$GdFdGdGe8ZLeLZMe9eLGdHdIdIe8ZNddJlmOZOmPZPmQZQGdKdLdLe8ZRGdMdNdNe8ZSdOdPZTddQdRZUdSdTZVdUdVZWGdWdXdXeXZYGdYdZdZeYZZejd krGd[d\d\eYZ[dd]lm\Z\m8Z8Gd^d_d_e8Z]Gd`dadaeYZ^GdbdcdceXZ_e_eYZ`e_eZZaejd kreZdddejbZcn,ejdekreZdfejdddgZcneZdZcejd kr4e_e[Zee_e^ZfeejgjhZhddhlmiZimjZjddidjZke1e@e1eLkrPe@Zle?Zmn6e1e>e1eLkrle>Zle=Zmne1eEe1eLkreEZleDZmddklmnZnmoZompZpmqZqe'eLeLeLelenZre'eLeLe?eleoZsdldmZtete:eLe:e:eqZudndoZvete:eLe?epZwddqdrZxyddslmyZyWnezk r$YnXete:eLe?eyZ{ddtduZ|ejd kr\dvdwZ}dxdyZ~ddzlmZmZeIZeFZxPe;e?e=eDgD]@Ze1edgkreZn&e1ed{kreZne1edkreZqWxPeeEgD]@Ze1edgkreZn&e1ed{kreZne1edkreZqW[eTdS)Nz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr"4/opt/alt/python37/lib64/python3.7/ctypes/__init__.pycreate_string_buffer/s   r$cCs t||S)N)r$)rrr"r"r#c_bufferAsr%cst|ddrtO|ddr,tO|r@td|ytfStk rGfdddt}|tf<|SXdS)N use_errnoFuse_last_errorz!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r")argtypesflagsrestyper"r# CFunctionTypecsr1) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r0r.kwr1r")r.r/r0r# CFUNCTYPEIs  r<) LoadLibrary)FUNCFLAG_STDCALLcst|ddrtO|ddr,tO|r@td|ytfStk rGfdddt}|tf<|SXdS)Nr&Fr'z!unexpected keyword argument(s) %scseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r(r)r*r+r,r-r")r.r/r0r"r#WinFunctionType{sr?) _FUNCFLAG_STDCALLr3r4r5r6r7_win_functype_cacher9r:)r0r.r;r?r")r.r/r0r# WINFUNCTYPEos  rB)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rD SystemError)typtypecoder actualrequiredr"r"r# _check_sizes rScs eZdZdZfddZZS) py_objectOcs.y tStk r(dt|jSXdS)Nz %s())super__repr__r6typer()self) __class__r"r#rWs zpy_object.__repr__)r(r)r*rMrW __classcell__r"r")rZr#rTsrTPc@seZdZdZdS)c_shorthN)r(r)r*rMr"r"r"r#r]sr]c@seZdZdZdS)c_ushortHN)r(r)r*rMr"r"r"r#r_sr_c@seZdZdZdS)c_longlN)r(r)r*rMr"r"r"r#rasrac@seZdZdZdS)c_ulongLN)r(r)r*rMr"r"r"r#rcsrcirbc@seZdZdZdS)c_intreN)r(r)r*rMr"r"r"r#rfsrfc@seZdZdZdS)c_uintIN)r(r)r*rMr"r"r"r#rgsrgc@seZdZdZdS)c_floatfN)r(r)r*rMr"r"r"r#risric@seZdZdZdS)c_doubledN)r(r)r*rMr"r"r"r#rksrkc@seZdZdZdS) c_longdoublegN)r(r)r*rMr"r"r"r#rmsrmqc@seZdZdZdS) c_longlongroN)r(r)r*rMr"r"r"r#rpsrpc@seZdZdZdS) c_ulonglongQN)r(r)r*rMr"r"r"r#rqsrqc@seZdZdZdS)c_ubyteBN)r(r)r*rMr"r"r"r#rssrsc@seZdZdZdS)c_bytebN)r(r)r*rMr"r"r"r#rusruc@seZdZdZdS)rcN)r(r)r*rMr"r"r"r#rsrc@seZdZdZddZdS)c_char_pzcCsd|jjt|jfS)Nz%s(%s))rZr(c_void_p from_bufferr)rYr"r"r#rWszc_char_p.__repr__N)r(r)r*rMrWr"r"r"r#rxsrxc@seZdZdZdS)rzr\N)r(r)r*rMr"r"r"r#rzsrzc@seZdZdZdS)c_bool?N)r(r)r*rMr"r"r"r#r|sr|)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjt|jfS)Nz%s(%s))rZr(rzr{r)rYr"r"r#rWszc_wchar_p.__repr__N)r(r)r*rMrWr"r"r"r#rsrc@seZdZdZdS)c_wcharuN)r(r)r*rMr"r"r"r#rsrcCsFtttjdkr"ttjtt _t jtt _t td<dS)Nr ) rclearr8_osnamerArZ from_paramr~rrxrrzr"r"r"r# _reset_caches   rcCst|trZ|dkrBttdkr6tdd|Dd}n t|d}t|}|}||_|St|trvt|}|}|St|dS)Ncss"|]}t|dkrdndVqdS)irrN)ord).0rwr"r"r# sz(create_unicode_buffer..r) rstrrDrsumrrrr)rrr r!r"r"r#create_unicode_buffers    rcCsLt|ddk rtdt|tkr,td|||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)rget RuntimeErroridZset_type)rclsr"r"r#SetPointerType*s  rcCs||S)Nr")rOrr"r"r#ARRAY4src@sJeZdZeZeZdZdZdZ e dddfddZ ddZ d d Z d d ZdS) CDLLzrNFcs|_j|rtO|r$tOtjdrV|rV|drVd|krV|tj tj BO}Gfdddt }|_ |dkrt j|_n|_dS)NZaix)z.a(cseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r(r)r*r-_func_restype_r,r")r/rYr"r#_FuncPtrasr)_name _func_flags_r4r5_sysplatform startswithendswithrZ RTLD_MEMBERRTLD_NOWr:r_dlopen_handle)rYrmodeZhandler&r'rr")r/rYr#__init__Os z CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>rr)rZr(rrrmaxsizer)rYr"r"r#rWks z CDLL.__repr__cCs6|dr|drt|||}t||||S)N__)rrAttributeError __getitem__setattr)rYrfuncr"r"r# __getattr__qs   zCDLL.__getattr__cCs"|||f}t|ts||_|S)N)rrrr()rYZname_or_ordinalrr"r"r#rxs zCDLL.__getitem__)r(r)r*r2rrfrrrr DEFAULT_MODErrWrrr"r"r"r#r:s rc@seZdZeeBZdS)PyDLLN)r(r)r*r2_FUNCFLAG_PYTHONAPIrr"r"r"r#r~src@seZdZeZdS)WinDLLN)r(r)r*r@rr"r"r"r#rsr)_check_HRESULTrKc@seZdZdZeZdS)HRESULTrbN)r(r)r*rMrZ_check_retval_r"r"r"r#rs rc@seZdZeZeZdS)OleDLLN)r(r)r*r@rrrr"r"r"r#rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rYZdlltyper"r"r#rszLibraryLoader.__init__cCs.|ddkrt|||}t||||S)Nr_)rrr)rYrZdllr"r"r#rs    zLibraryLoader.__getattr__cCs t||S)N)getattr)rYrr"r"r#rszLibraryLoader.__getitem__cCs ||S)N)r)rYrr"r"r#r=szLibraryLoader.LoadLibraryN)r(r)r*rrrr=r"r"r"r#rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|}td|d|S)N) GetLastErrorr stripOSError)codeZdescrr"r"r#WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r(r)r*r+r,r2rr-r")r.r0r"r#r1sr1)r:)r0r.r1r")r.r0r# PYFUNCTYPEsrcCs t|||S)N)_cast)objrOr"r"r#castsrcCs t||S)N) _string_at)ptrrr"r"r# string_atsr)_wstring_at_addrcCs t||S)N) _wstring_at)rrr"r"r# wstring_atsrcCs@ytdttdg}Wntk r,dSX||||SdS)Nzcomtypes.server.inprocserver*i) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr"r"r#rs rcCs6ytdttdg}Wntk r,dSX|S)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr"r"r#r s r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)r)r)osrsysrrZ_ctypesrrrrrr:Z_ctypes_versionrr r rLr Z _calcsize Exceptionrr rrrunamereleasesplitrr2rrrr4rr5r$r%r8r<r=rr>r@rArB__doc__replacerCrDrErFrGrHrIrJrKrSrTr]r_rarcrfrgrirkrmrprqrsZ __ctype_le__Z __ctype_be__rurrxrzZc_voidpr|r~rrrrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8kindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r"r"r"r#s2          !              D            PK!TR,\&\&__pycache__/_aix.cpython-37.pycnu[B  f1@sdZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dZdd lmZd d Zd d ZddZddZddZddZddZddZddZddZddZd d!ZdS)"a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecsfdd}tt||dS)NcsP|}g}y"x|r,|dt|qWWntk rDYnX|pNtgS)Nr)splitinsertintpop ValueErrorr )ZlibnamepartsZnums)sep0/opt/alt/python37/lib64/python3.7/ctypes/_aix.py _num_version>s z#_last_version.._num_version)key)maxreversed)Zlibnamesrrr)rr _last_version=s rcCs:d}x0|jD]&}|dr |}q d|kr |dSq WdS)N)/z./z../ZINDEX )stdout startswithrstrip)p ld_headerlinerrr get_ld_headerJs  r"cCs2g}x(|jD]}td|r(||q Pq W|S)Nz[0-9])rrematchappend)rinfor!rrrget_ld_header_infoTs    r'cCs`g}tddtd|gdttd}x&t|}|rD||t|fq$Pq$W|j| |S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)Zuniversal_newlinesrstderr) rAIX_ABIrr r"r%r'rclosewait)fileZ ldr_headersrr rrrget_ld_headersas   r-cCs:g}x0|D](\}}d|kr |||ddq W|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r%index)Z ld_headersZsharedr!_rrr get_sharedys r2csJddttdfdd|D}t|dkrB|ddSdSdS)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3s|]}t|VqdS)N)r#search).0r!)exprrr sz get_one_match..r)listfilterlengroup)r5linesZmatchesr)r5r get_one_matchs   r=cCsJtdkr d}t||}|rF|Sn&x$dD]}tt||}|r&|Sq&WdS)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r)r=r#escape)membersr5membernamerrr get_legacys  rCcCsjd|dd|dg}xL|D]D}g}x,|D]$}t||}|r,||dq,W|rt|dSqWdS)a Sort list of members and return highest numbered version - if it exists. This function is called when an unversioned libFOO.a(libFOO.so) has not been found. Versioning for the member name is expected to follow GNU LIBTOOL conventions: the highest version (x, then X.y, then X.Y.z) * find [libFoo.so.X] * find [libFoo.so.X.Y] * find [libFoo.so.X.Y.Z] Before the GNU convention became the standard scheme regardless of binary size AIX packagers used GNU convention "as-is" for 32-bit archive members but used an "distinguishing" name for 64-bit members. This scheme inserted either 64 or _64 between libFOO and .so - generally libFOO_64.so, but occasionally libFOO64.so libz\.so\.[0-9]+[0-9.]*z_?64\.so\.[0-9]+[0-9.]*r.N)r#r3r%r;r)rBr@Zexprsr5Zversionsr!mrrr get_versions    rGcCsbd|d}t||}|r|Stdkrz64\.soN)r=r)rGrC)rBr@r5rArrr get_members     rHcCstd}|dkrtd}|dkr*g}n |d}tt}xB|D]:\}}x0|D](}|d}d|krP||dqPWqBW|S)a On AIX, the buildtime searchpath is stored in the executable. as "loader header information". The command /usr/bin/dump -H extracts this info. Prefix searched libraries with LD_LIBRARY_PATH (preferred), or LIBPATH if defined. These paths are appended to the paths to libraries the python executable is linked with. This mimics AIX dlopen() behavior. ZLD_LIBRARY_PATHNZLIBPATH:r7r)rgetr r-rextend)libpathsZobjectsr1r<r!rrrr get_libpathss     rMcCsnxh|D]`}|dkrqd|d}t||}t|rtt|}tt||}|dkrb||fSdSqWdS)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None z/librDz.aN)NN)rjoinexistsr2r-rHr#r?)pathsrBdirbasearchiver@rArrr find_shared s     rTcCsnt}t||\}}|dkr,|d|dSd|d}x0|D](}|dkrLq>t||}t|r>|Sq>WdS)aAIX implementation of ctypes.util.find_library() Find an archive member that will dlopen(). If not available, also search for a file (or link) with a .so suffix. AIX supports two types of schemes that can be used with dlopen(). The so-called SystemV Release4 (svr4) format is commonly suffixed with .so while the (default) AIX scheme has the library (archive) ending with the suffix .a As an archive has multiple members (e.g., 32-bit and 64-bit) in one file the argument passed to dlopen must include both the library and the member names in a single string. find_library() looks first for an archive (.a) with a suitable member. If no archive+member pair is found, look for a .so file. N()rDz.soz/lib)rMrTrrNrO)rBrLrRrAZsonamerQZshlibrrr find_library#s    rW)__doc__ __author__r#osrrsysrZctypesrr subprocessrrr r)r rr"r'r-r2r=rCrGrHrMrTrWrrrr.s(      &PK!TR,\&\&%__pycache__/_aix.cpython-37.opt-1.pycnu[B  f1@sdZdZddlZddlmZmZddlmZddlm Z m Z ddl m Z m Z mZe e dZdd lmZd d Zd d ZddZddZddZddZddZddZddZddZddZd d!ZdS)"a Lib/ctypes.util.find_library() support for AIX Similar approach as done for Darwin support by using separate files but unlike Darwin - no extension such as ctypes.macholib.* dlopen() is an interface to AIX initAndLoad() - primary documentation at: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/dlopen.htm https://www.ibm.com/support/knowledgecenter/en/ssw_aix_61/com.ibm.aix.basetrf1/load.htm AIX supports two styles for dlopen(): svr4 (System V Release 4) which is common on posix platforms, but also a BSD style - aka SVR3. From AIX 5.3 Difference Addendum (December 2004) 2.9 SVR4 linking affinity Nowadays, there are two major object file formats used by the operating systems: XCOFF: The COFF enhanced by IBM and others. The original COFF (Common Object File Format) was the base of SVR3 and BSD 4.2 systems. ELF: Executable and Linking Format that was developed by AT&T and is a base for SVR4 UNIX. While the shared library content is identical on AIX - one is located as a filepath name (svr4 style) and the other is located as a member of an archive (and the archive is located as a filepath name). The key difference arises when supporting multiple abi formats (i.e., 32 and 64 bit). For svr4 either only one ABI is supported, or there are two directories, or there are different file names. The most common solution for multiple ABI is multiple directories. For the XCOFF (aka AIX) style - one directory (one archive file) is sufficient as multiple shared libraries can be in the archive - even sharing the same name. In documentation the archive is also referred to as the "base" and the shared library object is referred to as the "member". For dlopen() on AIX (read initAndLoad()) the calls are similar. Default activity occurs when no path information is provided. When path information is provided dlopen() does not search any other directories. For SVR4 - the shared library name is the name of the file expected: libFOO.so For AIX - the shared library is expressed as base(member). The search is for the base (e.g., libFOO.a) and once the base is found the shared library - identified by member (e.g., libFOO.so, or shr.o) is located and loaded. The mode bit RTLD_MEMBER tells initAndLoad() that it needs to use the AIX (SVR3) naming style. z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecsfdd}tt||dS)NcsP|}g}y"x|r,|dt|qWWntk rDYnX|pNtgS)Nr)splitinsertintpop ValueErrorr )ZlibnamepartsZnums)sep0/opt/alt/python37/lib64/python3.7/ctypes/_aix.py _num_version>s z#_last_version.._num_version)key)maxreversed)Zlibnamesrrr)rr _last_version=s rcCs:d}x0|jD]&}|dr |}q d|kr |dSq WdS)N)/z./z../ZINDEX )stdout startswithrstrip)p ld_headerlinerrr get_ld_headerJs  r"cCs2g}x(|jD]}td|r(||q Pq W|S)Nz[0-9])rrematchappend)rinfor!rrrget_ld_header_infoTs    r'cCs`g}tddtd|gdttd}x&t|}|rD||t|fq$Pq$W|j| |S)z Parse the header of the loader section of executable and archives This function calls /usr/bin/dump -H as a subprocess and returns a list of (ld_header, ld_header_info) tuples. z /usr/bin/dumpz-Xz-HT)Zuniversal_newlinesrstderr) rAIX_ABIrr r"r%r'rclosewait)fileZ ldr_headersrr rrrget_ld_headersas   r-cCs:g}x0|D](\}}d|kr |||ddq W|S)z extract the shareable objects from ld_headers character "[" is used to strip off the path information. Note: the "[" and "]" characters that are part of dump -H output are not removed here. [)r%index)Z ld_headersZsharedr!_rrr get_sharedys r2csJddttdfdd|D}t|dkrB|ddSdSdS)zy Must be only one match, otherwise result is None. When there is a match, strip leading "[" and trailing "]" z\[(z)\]Nc3s|]}t|VqdS)N)r#search).0r!)exprrr sz get_one_match..r)listfilterlengroup)r5linesZmatchesr)r5r get_one_matchs   r=cCsJtdkr d}t||}|rF|Sn&x$dD]}tt||}|r&|Sq&WdS)z This routine provides historical aka legacy naming schemes started in AIX4 shared library support for library members names. e.g., in /usr/lib/libc.a the member name shr.o for 32-bit binary and shr_64.o for 64-bit binary. @z shr4?_?64\.o)zshr.ozshr4.oN)r)r=r#escape)membersr5membernamerrr get_legacys  rCcCsjd|dd|dg}xL|D]D}g}x,|D]$}t||}|r,||dq,W|rt|dSqWdS)a Sort list of members and return highest numbered version - if it exists. This function is called when an unversioned libFOO.a(libFOO.so) has not been found. Versioning for the member name is expected to follow GNU LIBTOOL conventions: the highest version (x, then X.y, then X.Y.z) * find [libFoo.so.X] * find [libFoo.so.X.Y] * find [libFoo.so.X.Y.Z] Before the GNU convention became the standard scheme regardless of binary size AIX packagers used GNU convention "as-is" for 32-bit archive members but used an "distinguishing" name for 64-bit members. This scheme inserted either 64 or _64 between libFOO and .so - generally libFOO_64.so, but occasionally libFOO64.so libz\.so\.[0-9]+[0-9.]*z_?64\.so\.[0-9]+[0-9.]*r.N)r#r3r%r;r)rBr@Zexprsr5Zversionsr!mrrr get_versions    rGcCsbd|d}t||}|r|Stdkrz64\.soN)r=r)rGrC)rBr@r5rArrr get_members     rHcCstd}|dkrtd}|dkr*g}n |d}tt}xB|D]:\}}x0|D](}|d}d|krP||dqPWqBW|S)a On AIX, the buildtime searchpath is stored in the executable. as "loader header information". The command /usr/bin/dump -H extracts this info. Prefix searched libraries with LD_LIBRARY_PATH (preferred), or LIBPATH if defined. These paths are appended to the paths to libraries the python executable is linked with. This mimics AIX dlopen() behavior. ZLD_LIBRARY_PATHNZLIBPATH:r7r)rgetr r-rextend)libpathsZobjectsr1r<r!rrrr get_libpathss     rMcCsnxh|D]`}|dkrqd|d}t||}t|rtt|}tt||}|dkrb||fSdSqWdS)a paths is a list of directories to search for an archive. name is the abbreviated name given to find_library(). Process: search "paths" for archive, and if an archive is found return the result of get_member(). If an archive is not found then return None z/librDz.aN)NN)rjoinexistsr2r-rHr#r?)pathsrBdirbasearchiver@rArrr find_shared s     rTcCsnt}t||\}}|dkr,|d|dSd|d}x0|D](}|dkrLq>t||}t|r>|Sq>WdS)aAIX implementation of ctypes.util.find_library() Find an archive member that will dlopen(). If not available, also search for a file (or link) with a .so suffix. AIX supports two types of schemes that can be used with dlopen(). The so-called SystemV Release4 (svr4) format is commonly suffixed with .so while the (default) AIX scheme has the library (archive) ending with the suffix .a As an archive has multiple members (e.g., 32-bit and 64-bit) in one file the argument passed to dlopen must include both the library and the member names in a single string. find_library() looks first for an archive (.a) with a suitable member. If no archive+member pair is found, look for a .so file. N()rDz.soz/lib)rMrTrrNrO)rBrLrRrAZsonamerQZshlibrrr find_library#s    rW)__doc__ __author__r#osrrsysrZctypesrr subprocessrrr r)r rr"r'r-r2r=rCrGrHrMrTrWrrrr.s(      &PK!~wo?o?)__pycache__/__init__.cpython-37.opt-1.pycnu[B  f`C@s(dZddlZddlZdZddlmZmZm Z ddlm Z ddlm Z ddlmZ ddlmZmZdd lmZdd lmZee kred ee ejd krdd lmZeZejdkrejdkreejdddkreZddlmZmZ m!Z"m#Z$d}ddZ%d~ddZ&iZ'ddZ(ejd kr\ddlm)Z*ddlm+Z,iZ-ddZ.e.jrte(j/dde._nejdkrtddlm0Z*ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7dd lm8Z8dd!d"Z9Gd#d$d$e8Z:e9e:d%Gd&d'd'e8Z;e9e;Gd(d)d)e8Ze9e>ed.ed/krLe=Z?e>Z@n0Gd0d1d1e8Z?e9e?Gd2d3d3e8Z@e9e@Gd4d5d5e8ZAe9eAGd6d7d7e8ZBe9eBGd8d9d9e8ZCe1eCe1eBkreBZCed/ed:kre=ZDe>ZEn0Gd;d<dd>e8ZEe9eEGd?d@d@e8ZFeFeF_GeF_He9eFGdAdBdBe8ZIeIeI_GeI_He9eIGdCdDdDe8ZJeJeJ_GeJ_He9eJGdEdFdFe8ZKe9eKd%GdGdHdHe8ZLeLZMe9eLGdIdJdJe8ZNddKlmOZOmPZPmQZQGdLdMdMe8ZRGdNdOdOe8ZSdPdQZTddRdSZUdTdUZVdVdWZWGdXdYdYeXZYGdZd[d[eYZZejd krGd\d]d]eYZ[dd^lm\Z\m8Z8Gd_d`d`e8Z]GdadbdbeYZ^GdcddddeXZ_e_eYZ`e_eZZaejd kreZdedejbZcn,ejdfkreZdgejdddhZcneZdZcejd kr8e_e[Zee_e^ZfeejgjhZhddilmiZimjZjddjdkZke1e@e1eLkrTe@Zle?Zmn6e1e>e1eLkrpe>Zle=Zmne1eEe1eLkreEZleDZmddllmnZnmoZompZpmqZqe(eLeLeLelenZre(eLeLe?eleoZsdmdnZtete:eLe:e:eqZudodpZvete:eLe?epZwddrdsZxyddtlmyZyWnezk r(YnXete:eLe?eyZ{ddudvZ|ejd kr`dwdxZ}dydzZ~dd{lmZmZeIZeFZxPe;e?e=eDgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqWxPeeEgD]@Ze1edhkreZn&e1ed|kreZne1edkreZqW[eTdS)z,create and manipulate C data types in PythonNz1.1.0)Union StructureArray)_Pointer)CFuncPtr) __version__) RTLD_LOCAL RTLD_GLOBAL) ArgumentError)calcsizezVersion number mismatchnt) FormatErrorposixdarwin.)FUNCFLAG_CDECLFUNCFLAG_PYTHONAPIFUNCFLAG_USE_ERRNOFUNCFLAG_USE_LASTERRORcCs^t|tr6|dkrt|d}t|}|}||_|St|trRt|}|}|St|dS)zcreate_string_buffer(aBytes) -> character array create_string_buffer(anInteger) -> character array create_string_buffer(aBytes, anInteger) -> character array N) isinstancebyteslenc_charvalueint TypeError)initsizebuftypebufr"4/opt/alt/python37/lib64/python3.7/ctypes/__init__.pycreate_string_buffer/s   r$cCs t||S)N)r$)rrr"r"r#c_bufferAsr%cst|ddrtO|ddr,tO|r@td|ytfStk rGfdddt}|tf<|SXdS)aCFUNCTYPE(restype, *argtypes, use_errno=False, use_last_error=False) -> function prototype. restype: the result type argtypes: a sequence specifying the argument types The function prototype can be called in different ways to create a callable object: prototype(integer address) -> foreign function prototype(callable) -> create and return a C callable function from callable prototype(integer index, method name[, paramflags]) -> foreign function calling a COM method prototype((ordinal number, dll object)[, paramflags]) -> foreign function exported by ordinal prototype((function name, dll object)[, paramflags]) -> foreign function exported by name use_errnoFuse_last_errorz!unexpected keyword argument(s) %scseZdZZZZdS)z CFUNCTYPE..CFunctionTypeN)__name__ __module__ __qualname__ _argtypes_ _restype__flags_r")argtypesflagsrestyper"r# CFunctionTypecsr1N) _FUNCFLAG_CDECLpop_FUNCFLAG_USE_ERRNO_FUNCFLAG_USE_LASTERROR ValueErrorkeys_c_functype_cacheKeyError _CFuncPtr)r0r.kwr1r")r.r/r0r# CFUNCTYPEIs  r<) LoadLibrary)FUNCFLAG_STDCALLcst|ddrtO|ddr,tO|r@td|ytfStk rGfdddt}|tf<|SXdS)Nr&Fr'z!unexpected keyword argument(s) %scseZdZZZZdS)z$WINFUNCTYPE..WinFunctionTypeN)r(r)r*r+r,r-r")r.r/r0r"r#WinFunctionType{sr?) _FUNCFLAG_STDCALLr3r4r5r6r7_win_functype_cacher9r:)r0r.r;r?r")r.r/r0r# WINFUNCTYPEos  rB)dlopen)sizeofbyref addressof alignmentresize) get_errno set_errno) _SimpleCDatacCsJddlm}|dkr|j}t|||}}||krFtd|||fdS)Nr)r z"sizeof(%s) wrong: %d instead of %d)structr _type_rD SystemError)typtypecoder ZactualZrequiredr"r"r# _check_sizes rQcs eZdZdZfddZZS) py_objectOcs.y tStk r(dt|jSXdS)Nz %s())super__repr__r6typer()self) __class__r"r#rUs zpy_object.__repr__)r(r)r*rMrU __classcell__r"r")rXr#rRsrRPc@seZdZdZdS)c_shorthN)r(r)r*rMr"r"r"r#r[sr[c@seZdZdZdS)c_ushortHN)r(r)r*rMr"r"r"r#r]sr]c@seZdZdZdS)c_longlN)r(r)r*rMr"r"r"r#r_sr_c@seZdZdZdS)c_ulongLN)r(r)r*rMr"r"r"r#rasrair`c@seZdZdZdS)c_intrcN)r(r)r*rMr"r"r"r#rdsrdc@seZdZdZdS)c_uintIN)r(r)r*rMr"r"r"r#resrec@seZdZdZdS)c_floatfN)r(r)r*rMr"r"r"r#rgsrgc@seZdZdZdS)c_doubledN)r(r)r*rMr"r"r"r#risric@seZdZdZdS) c_longdoublegN)r(r)r*rMr"r"r"r#rksrkqc@seZdZdZdS) c_longlongrmN)r(r)r*rMr"r"r"r#rnsrnc@seZdZdZdS) c_ulonglongQN)r(r)r*rMr"r"r"r#rosroc@seZdZdZdS)c_ubyteBN)r(r)r*rMr"r"r"r#rqsrqc@seZdZdZdS)c_bytebN)r(r)r*rMr"r"r"r#rssrsc@seZdZdZdS)rcN)r(r)r*rMr"r"r"r#rsrc@seZdZdZddZdS)c_char_pzcCsd|jjt|jfS)Nz%s(%s))rXr(c_void_p from_bufferr)rWr"r"r#rUszc_char_p.__repr__N)r(r)r*rMrUr"r"r"r#rvsrvc@seZdZdZdS)rxrZN)r(r)r*rMr"r"r"r#rxsrxc@seZdZdZdS)c_bool?N)r(r)r*rMr"r"r"r#rzsrz)POINTERpointer_pointer_type_cachec@seZdZdZddZdS) c_wchar_pZcCsd|jjt|jfS)Nz%s(%s))rXr(rxryr)rWr"r"r#rUszc_wchar_p.__repr__N)r(r)r*rMrUr"r"r"r#rsrc@seZdZdZdS)c_wcharuN)r(r)r*rMr"r"r"r#rsrcCsFtttjdkr"ttjtt _t jtt _t td<dS)Nr ) r~clearr8_osnamerArZ from_paramr|rrvrrxr"r"r"r# _reset_caches   rcCst|trZ|dkrBttdkr6tdd|Dd}n t|d}t|}|}||_|St|trvt|}|}|St|dS)zcreate_unicode_buffer(aString) -> character array create_unicode_buffer(anInteger) -> character array create_unicode_buffer(aString, anInteger) -> character array Ncss"|]}t|dkrdndVqdS)irrN)ord).0rur"r"r# sz(create_unicode_buffer..r) rstrrDrsumrrrr)rrr r!r"r"r#create_unicode_buffers    rcCsLt|ddk rtdt|tkr,td|||t|<tt|=dS)Nz%This type already exists in the cachezWhat's this???)r~get RuntimeErroridZset_type)r}clsr"r"r#SetPointerType*s  rcCs||S)Nr")rOrr"r"r#ARRAY4src@sNeZdZdZeZeZdZdZ dZ e dddfddZ dd Z d d Zd d ZdS)CDLLaAn instance of this class represents a loaded dll/shared library, exporting functions using the standard C calling convention (named 'cdecl' on Windows). The exported functions can be accessed as attributes, or by indexing with the function name. Examples: .qsort -> callable object ['qsort'] -> callable object Calling the functions releases the Python GIL during the call and reacquires it afterwards. zrNFcs|_j|rtO|r$tOtjdrV|rV|drVd|krV|tj tj BO}Gfdddt }|_ |dkrt j|_n|_dS)NZaix)z.a(cseZdZZjZdS)zCDLL.__init__.._FuncPtrN)r(r)r*r-_func_restype_r,r")r/rWr"r#_FuncPtrasr)_name _func_flags_r4r5_sysplatform startswithendswithrZ RTLD_MEMBERRTLD_NOWr:r_dlopen_handle)rWrmodeZhandler&r'rr")r/rWr#__init__Os z CDLL.__init__cCs8d|jj|j|jtjdd@t|tjdd@fS)Nz<%s '%s', handle %x at %#x>rr)rXr(rrrmaxsizer)rWr"r"r#rUks z CDLL.__repr__cCs6|dr|drt|||}t||||S)N__)rrAttributeError __getitem__setattr)rWrfuncr"r"r# __getattr__qs   zCDLL.__getattr__cCs"|||f}t|ts||_|S)N)rrrr()rWZname_or_ordinalrr"r"r#rxs zCDLL.__getitem__)r(r)r*__doc__r2rrdrrrr DEFAULT_MODErrUrrr"r"r"r#r:s  rc@seZdZdZeeBZdS)PyDLLzThis class represents the Python library itself. It allows accessing Python API functions. The GIL is not released, and Python exceptions are handled correctly. N)r(r)r*rr2_FUNCFLAG_PYTHONAPIrr"r"r"r#r~src@seZdZdZeZdS)WinDLLznThis class represents a dll exporting functions using the Windows stdcall calling convention. N)r(r)r*rr@rr"r"r"r#rsr)_check_HRESULTrKc@seZdZdZeZdS)HRESULTr`N)r(r)r*rMrZ_check_retval_r"r"r"r#rs rc@seZdZdZeZeZdS)OleDLLzThis class represents a dll exporting functions using the Windows stdcall calling convention, and returning HRESULT. HRESULT error values are automatically raised as OSError exceptions. N)r(r)r*rr@rrrr"r"r"r#rsrc@s,eZdZddZddZddZddZd S) LibraryLoadercCs ||_dS)N)_dlltype)rWZdlltyper"r"r#rszLibraryLoader.__init__cCs.|ddkrt|||}t||||S)Nr_)rrr)rWrZdllr"r"r#rs    zLibraryLoader.__getattr__cCs t||S)N)getattr)rWrr"r"r#rszLibraryLoader.__getitem__cCs ||S)N)r)rWrr"r"r#r=szLibraryLoader.LoadLibraryN)r(r)r*rrrr=r"r"r"r#rsrz python dllcygwinzlibpython%d.%d.dllr)get_last_errorset_last_errorcCs0|dkrt}|dkr"t|}td|d|S)N) GetLastErrorr stripOSError)codeZdescrr"r"r#WinErrors  r) _memmove_addr _memset_addr_string_at_addr _cast_addrcsGfdddt}|S)NcseZdZZZeeBZdS)z!PYFUNCTYPE..CFunctionTypeN)r(r)r*r+r,r2rr-r")r.r0r"r#r1sr1)r:)r0r.r1r")r.r0r# PYFUNCTYPEsrcCs t|||S)N)_cast)objrOr"r"r#castsrcCs t||S)zAstring_at(addr[, size]) -> string Return the string at addr.) _string_at)ptrrr"r"r# string_atsr)_wstring_at_addrcCs t||S)zFwstring_at(addr[, size]) -> string Return the string at addr.) _wstring_at)rrr"r"r# wstring_atsrcCs@ytdttdg}Wntk r,dSX||||SdS)Nzcomtypes.server.inprocserver*i) __import__globalslocals ImportErrorDllGetClassObject)ZrclsidZriidZppvccomr"r"r#rs rcCs6ytdttdg}Wntk r,dSX|S)Nzcomtypes.server.inprocserverrr)rrrrDllCanUnloadNow)rr"r"r#r s r)BigEndianStructureLittleEndianStructure)N)N)N)N)NN)r)r)rosrsysrrZ_ctypesrrrrrr:Z_ctypes_versionrr r rLr Z _calcsize Exceptionrr rrrunamereleasesplitrr2rrrr4rr5r$r%r8r<r=rr>r@rArBreplacerCrDrErFrGrHrIrJrKrQrRr[r]r_rardrergrirkrnrorqZ __ctype_le__Z __ctype_be__rsrrvrxZc_voidprzr|r}r~rrrrrrobjectrrrrrrrZcdllZpydllZ dllhandleZ pythonapi version_infoZwindllZoledllZkernel32rrrrZc_size_tZ c_ssize_trrrrZmemmoveZmemsetrrrrrrrrrrrZctypes._endianrrZc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r"r"r"r#s4          !              D            PK!Puu%__pycache__/_aix.cpython-37.opt-2.pycnu[B YI~d1@sdZddlZddlmZmZddlmZddlmZm Z ddl m Z m Z m Z e edZddlmZd d Zd d Zd dZddZddZddZddZddZddZddZddZdd ZdS)!z%Michael Felt N)environpath) executable)c_void_psizeof)PopenPIPEDEVNULL)maxsizecsfdd}tt||dS)NcsP|}g}y"x|r,|dt|qWWntk rDYnX|pNtgS)Nr)splitinsertintpop ValueErrorr )ZlibnamepartsZnums)sep0/opt/alt/python37/lib64/python3.7/ctypes/_aix.py _num_version>s z#_last_version.._num_version)key)maxreversed)Zlibnamesrrr)rr _last_version=s rcCs:d}x0|jD]&}|dr |}q d|kr |dSq WdS)N)/z./z../ZINDEX )stdout startswithrstrip)p ld_headerlinerrr get_ld_headerJs  r"cCs2g}x(|jD]}td|r(||q Pq W|S)Nz[0-9])rrematchappend)rinfor!rrrget_ld_header_infoTs    r'cCs`g}tddtd|gdttd}x&t|}|rD||t|fq$Pq$W|j| |S)Nz /usr/bin/dumpz-Xz-HT)Zuniversal_newlinesrstderr) rAIX_ABIrr r"r%r'rclosewait)fileZ ldr_headersrr rrrget_ld_headersas   r-cCs:g}x0|D](\}}d|kr |||ddq W|S)N[)r%index)Z ld_headersZsharedr!_rrr get_sharedys r2csJddttdfdd|D}t|dkrB|ddSdSdS)Nz\[(z)\]c3s|]}t|VqdS)N)r#search).0r!)exprrr sz get_one_match..r)listfilterlengroup)r5linesmatchesr)r5r get_one_matchs   r>cCsJtdkr d}t||}|rF|Sn&x$dD]}tt||}|r&|Sq&WdS)N@z shr4?_?64\.o)zshr.ozshr4.o)r)r>r#escape)membersr5membernamerrr get_legacys  rDcCsjd|dd|dg}xL|D]D}g}x,|D]$}t||}|r,||dq,W|rt|dSqWdS)Nlibz\.so\.[0-9]+[0-9.]*z_?64\.so\.[0-9]+[0-9.]*r.)r#r3r%r;r)rCrAZexprsr5Zversionsr!mrrr get_versions    rHcCsbd|d}t||}|r|Stdkrr)rHrD)rCrAr5rBrrr get_members     rIcCstd}|dkrtd}|dkr*g}n |d}tt}xB|D]:\}}x0|D](}|d}d|krP||dqPWqBW|S)NZLD_LIBRARY_PATHZLIBPATH:r7r)rgetr r-rextend)libpathsZobjectsr1r<r!rrrr get_libpathss     rNcCsnxh|D]`}|dkrqd|d}t||}t|rtt|}tt||}|dkrb||fSdSqWdS)Nz/librEz.a)NN)rjoinexistsr2r-rIr#r@)pathsrCdirbasearchiverArBrrr find_shared s     rUcCsnt}t||\}}|dkr,|d|dSd|d}x0|D](}|dkrLq>t||}t|r>|Sq>WdS)N()rEz.soz/lib)rNrUrrOrP)rCrMrSrBZsonamerRZshlibrrr find_library#s    rX) __author__r#osrrsysrZctypesrr subprocessrrr r)r rr"r'r-r2r>rDrHrIrNrUrXrrrr/s&      &PK!5N`GG(__pycache__/_endian.cpython-37.opt-2.pycnu[B YI~d@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)Nz+This type does not support other endian: %s) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr 3/opt/alt/python37/lib64/python3.7/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacsb|dkrPg}x>|D]6}|d}|d}|dd}||t|f|qW|}t||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs  z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r )rrrsrlittleZ __ctype_be__c@seZdZdZdZdS)BigEndianStructurer N)rrr __slots___swappedbytes_r r r rr.sr) metaclassZbigZ __ctype_le__c@seZdZdZdZdS)LittleEndianStructurer N)rrrr r!r r r rr#7sr#zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr#r RuntimeErrorr r r rs  PK!\#__pycache__/wintypes.cpython-37.pycnu[B  f@sddlZejZejZejZejZej Z ej Z ej ZejZejZeZejZGdddejZejZejZejZejZejZZej Z!Z"ej#Z$Z%Z&ej#Z'Z(ej)Z*Z+ej,Z-Z.e/eje/ej,krejZ0ejZ1n$e/eje/ej,krej Z0ejZ1eZ2eZ3eZ4eZ5eZ6eZ7ej,Z8e8Z9e8Z:e8Z;e8Ze8Z?e8Z@e8ZAe8ZBe8ZCe8ZDe8ZEe8ZFe8ZGe8ZHe8ZIe8ZJe8ZKe8ZLe8ZMe8ZNe8ZOe8ZPe8ZQe8ZRe8ZSe8ZTe8ZUe8ZVe8ZWGdddejXZYeYZZZ[Z\GdddejXZ]e]Z^Gdd d ejXZ_Gd d d ejXZ`e`ZaZbZcGd d d ejXZdedZeZfddZgGdddejXZhehZiGdddejXZjejZkdZlGdddejXZmGdddejXZneoeZpZqeoeZreoeZsZteoeZueoe4ZveoeZwZxeoehZyZzeoeZ{eoe8Z|Z}eoeGZ~eoeHZeoeZZeoeZeoe7ZeoeZZeoejZZeoe`ZZeoecZeoeYZZeoe\ZZeoeVZeoeZeoedZZeoefZZeoe^Zeoe ZZeoe"ZeoeZeoeZeoe ZeoemZZeoenZZeoeZZdS)Nc@seZdZdZddZdS) VARIANT_BOOLvcCsd|jj|jfS)Nz%s(%r)) __class____name__value)selfr4/opt/alt/python37/lib64/python3.7/ctypes/wintypes.py__repr__szVARIANT_BOOL.__repr__N)r __module__ __qualname__Z_type_r rrrr rsrc@s(eZdZdefdefdefdefgZdS)RECTlefttoprightZbottomN)rr r LONG_fields_rrrr r asr c@s(eZdZdefdefdefdefgZdS) _SMALL_RECTZLeftZTopZRightZBottomN)rr r SHORTrrrrr rhsrc@seZdZdefdefgZdS)_COORDXYN)rr r rrrrrr rosrc@seZdZdefdefgZdS)POINTxyN)rr r rrrrrr rssrc@seZdZdefdefgZdS)SIZEZcxZcyN)rr r rrrrrr rxsrcCs||d>|d>S)Nr)ZredZgreenZbluerrr RGB}src@seZdZdefdefgZdS)FILETIMEZ dwLowDateTimeZdwHighDateTimeN)rr r DWORDrrrrr rsrc@s4eZdZdefdefdefdefdefdefgZ dS)MSGZhWndmessageZwParamZlParamZtimeZptN) rr r HWNDUINTWPARAMLPARAMr rrrrrr r!s r!ic @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAAdwFileAttributesftCreationTimeftLastAccessTimeftLastWriteTime nFileSizeHigh nFileSizeLow dwReserved0 dwReserved1 cFileNamecAlternateFileNameN)rr r r rCHARMAX_PATHrrrrr r's r'c @sTeZdZdefdefdefdefdefdefdefdefd eefd ed fg Zd S) WIN32_FIND_DATAWr(r)r*r+r,r-r.r/r0r1r2N)rr r r rWCHARr4rrrrr r5s r5)ZctypesZc_byteZBYTEZc_ushortZWORDZc_ulongr Zc_charr3Zc_wcharr6Zc_uintr$Zc_intZINTZc_doubleZDOUBLEZc_floatZFLOATZBOOLEANZc_longZBOOLZ _SimpleCDatarZULONGrZUSHORTZc_shortrZ c_longlongZ_LARGE_INTEGERZ LARGE_INTEGERZ c_ulonglongZ_ULARGE_INTEGERZULARGE_INTEGERZ c_wchar_pZ LPCOLESTRZLPOLESTRZOLESTRZLPCWSTRZLPWSTRZc_char_pZLPCSTRZLPSTRZc_void_pZLPCVOIDZLPVOIDZsizeofr%r&ZATOMZLANGIDZCOLORREFZLGRPIDZLCTYPEZLCIDZHANDLEZHACCELZHBITMAPZHBRUSHZ HCOLORSPACEZHDCZHDESKZHDWPZ HENHMETAFILEZHFONTZHGDIOBJZHGLOBALZHHOOKZHICONZ HINSTANCEZHKEYZHKLZHLOCALZHMENUZ HMETAFILEZHMODULEZHMONITORZHPALETTEZHPENZHRGNZHRSRCZHSTRZHTASKZHWINSTAr#Z SC_HANDLEZSERVICE_STATUS_HANDLEZ Structurer ZtagRECTZ_RECTLZRECTLrZ SMALL_RECTrrZtagPOINTZ_POINTLZPOINTLrZtagSIZEZSIZELrrZ _FILETIMEr!ZtagMSGr4r'r5ZPOINTERZLPBOOLZPBOOLZPBOOLEANZLPBYTEZPBYTEZPCHARZ LPCOLORREFZLPDWORDZPDWORDZ LPFILETIMEZ PFILETIMEZPFLOATZLPHANDLEZPHANDLEZPHKEYZLPHKLZLPINTZPINTZPLARGE_INTEGERZPLCIDZLPLONGZPLONGZLPMSGZPMSGZLPPOINTZPPOINTZPPOINTLZLPRECTZPRECTZLPRECTLZPRECTLZ LPSC_HANDLEZPSHORTZLPSIZEZPSIZEZLPSIZELZPSIZELZ PSMALL_RECTZLPUINTZPUINTZPULARGE_INTEGERZPULONGZPUSHORTZPWCHARZLPWIN32_FIND_DATAAZPWIN32_FIND_DATAAZLPWIN32_FIND_DATAWZPWIN32_FIND_DATAWZLPWORDZPWORDrrrr s                        PK!TJ(__pycache__/_endian.cpython-37.opt-1.pycnu[B  f@sddlZddlTeeZddZGdddeeZejdkr\dZ eZ Gd d d eed Z n0ejd krd Z eZ Gdddeed Z ne ddS)N)*cCsLt|trt|tSt|tr.t|j|jSt|t r<|St d|dS)zReturn the type with the 'other' byte order. Simple types like c_int and so on already have __ctype_be__ and __ctype_le__ attributes which contain the types, for more complicated types arrays and structures are supported. z+This type does not support other endian: %sN) hasattr _OTHER_ENDIANgetattr isinstance _array_type _other_endianZ_type_Z_length_ issubclass Structure TypeError)typr 3/opt/alt/python37/lib64/python3.7/ctypes/_endian.pyrs    rcseZdZfddZZS) _swapped_metacsb|dkrPg}x>|D]6}|d}|d}|dd}||t|f|qW|}t||dS)NZ_fields_r)appendrsuper __setattr__)selfZattrnamevalueZfieldsZdescnamer rest) __class__r rrs  z_swapped_meta.__setattr__)__name__ __module__ __qualname__r __classcell__r r )rrrsrlittleZ __ctype_be__c@seZdZdZdZdZdS)BigEndianStructurez$Structure with big endian byte orderr N)rrr__doc__ __slots___swappedbytes_r r r rr.sr) metaclassZbigZ __ctype_le__c@seZdZdZdZdZdS)LittleEndianStructurez'Structure with little endian byte orderr N)rrrr r!r"r r r rr$7sr$zInvalid byteorder) sysZctypestypeZArrayrrr r byteorderrr$r RuntimeErrorr r r rs  PK!v?VV__pycache__/util.cpython-37.pycnu[B  f76@sBddlZddlZddlZddlZejdkrDddZddZddZnejd krnejd krndd l m Z d dZnej d rddl mZnejd kr&ddlZddlZddZddZejdkrddZnddZej drddZddZn8ejdkrddZd'ddZndd Zd!d"Zd#dZd$d%Zed&kr>edS)(NntcCsd}tj|}|dkrdS|t|}tj|ddd\}}t|ddd}|dkrf|d7}t|d d d }|dkrd }|dkr||SdS) zReturn the version of MSVC that was used to build Python. For Python 2.3 and up, the version number is included in sys.version. For earlier versions, assume the compiler is MSVC 6. zMSC v.N  g$@r)sysversionfindlensplitint)prefixisrestZ majorVersionZ minorVersionr0/opt/alt/python37/lib64/python3.7/ctypes/util.py_get_build_version s  rcCs^t}|dkrdS|dkr d}n|dkr6d|d}ndSddl}d|jjkrV|d 7}|d S) z%Return the name of the VC runtime dllNrmsvcrtrzmsvcr%d rz_d.pyddz.dll)rimportlib.machinery machineryEXTENSION_SUFFIXES)r Zclibname importlibrrr find_msvcrt"s rcCst|dkrtSx`tjdtjD]J}tj||}tj|rD|S| drTq"|d}tj|r"|Sq"WdS)N)cmPATHz.dll) rosenvironrpathseppathjoinisfilelowerendswith)nameZ directoryZfnamerrr find_library7s  r,posixdarwin) dyld_findc CsLd|d|d||fg}x,|D]$}yt|Stk rBw Yq Xq WdS)Nz lib%s.dylibz%s.dylibz%s.framework/%s) _dyld_find ValueError)r+possiblerrrr,Hs  aix)r,c Cs(d}t|d}|d|kSQRXdS)z,Return True if the given file is an ELF filesELFbrN)openread)filenameZ elf_headerZthefilerrr_is_elf`s r9c Cstdt|}td}|s,td}|s4dSt}z||dd|jd|g}t tj }d|d<d|d <yt j |t j t j|d }Wntk rdSX||j}WdQRXWdy |Wntk rYnXXt||}|sdSx |D]} t| sqt| SWdS) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*ZgccZccz-Wl,-tz-oz-lCLC_ALLLANG)stdoutstderrenv)r#fsencodereescapeshutilwhichtempfileZNamedTemporaryFiler+dictr$ subprocessPopenPIPEZSTDOUTOSErrorr=r7closeFileNotFoundErrorfindallr9fsdecode) r+exprZ c_compilerZtempargsr?procZtraceresfilerrr _findLib_gccfs@        rTZsunos5c Csz|sdSytjdd|ftjtjd}Wntk r:dSX||j}WdQRXtd|}|sjdSt | dS)Nz/usr/ccs/bin/dumpz-Lpv)r=r>s\[.*\]\sSONAME\s+([^\s]+)r) rGrHrIDEVNULLrJr=r7rAsearchr#rNgroup)frQdatarRrrr _get_sonames  rZc Cs|sdStd}|sdSy"tj|ddd|ftjtjd}Wntk rPdSX||j}WdQRXt d|}|sdSt | dS)Nobjdumpz-pz-jz.dynamic)r=r>s\sSONAME\s+([^\s]+)r)rCrDrGrHrIrUrJr=r7rArVr#rNrW)rXr[rQdumprRrrrrZs"  )ZfreebsdZopenbsdZ dragonflycCsR|d}g}y"x|r,|dt|qWWntk rDYnX|pPtjgS)N.r)rinsertrpopr1r maxsize)ZlibnamepartsZnumsrrr _num_versions rbc Cst|}d||f}t|}ytjdtjtjd}Wntk rPd}YnX||j }WdQRXt ||}|st t |S|jtdt|dS)Nz:-l%s\.\S+ => \S*/(lib%s\.\S+))z/sbin/ldconfigz-r)r=r>)keyr)rArBr#r@rGrHrIrUrJr=r7rMrZrTsortrbrN)r+ZenamerOrQrYrRrrrr,s        c CstjdsdSttj}d|d<|r,d}nd}d}ytj|tjtj|d}Wnt k rbdSX|:x2|j D](}| }| drrt |d}qrWWdQRX|sdSx4|d D]&}tj|d |}tj|r|SqWdS) Nz /usr/bin/crler:r;)z /usr/bin/crlez-64)z /usr/bin/crle)r=r>r?sDefault Library Path (ELF):r5:zlib%s.so)r#r&existsrFr$rGrHrIrUrJr=strip startswithrNrr') r+is64r?rPpathsrQlinedirZlibfilerrr _findLib_crles6       rnFcCstt||pt|S)N)rZrnrT)r+rjrrrr, sc Csddl}|ddkr&tjd}ntjd}dddddd }||d }d }t|t||f}yZt j d d gt j t j t j dddd,}t ||j}|rt|dSWdQRXWntk rYnXdS)Nrlr5z-32z-64z libc6,x86-64z libc6,64bitz libc6,IA-64)z x86_64-64zppc64-64z sparc64-64zs390x-64zia64-64Zlibc6z\s+(lib%s\.[^\s]+)\s+\(%sz/sbin/ldconfigz-pr:)r;r<)stdinr>r=r?r)structZcalcsizer#unamemachinegetr@rArBrGrHrUrIrVr=r7rNrWrJ)r+rqrsZmach_mapZabi_typeZregexprRrrr_findSoname_ldconfigs.  rvc Csdt|}ddg}tjd}|rHx |dD]}|d|gq2W|dtjd|gd}yXtj |tj tj d d }| \}}t |t |} x| D]} t| sqt | SWWntk rYnX|S) Nz[^\(\)\s]*lib%s\.[^\(\)\s]*Zldz-tZLD_LIBRARY_PATHrfz-Lz-oz-l%sT)r=r>Zuniversal_newlines)rArBr#r$rtrextenddevnullrGrHrIZ communicaterMrNr9 Exception) r+rOcmdZlibpathrresultruout_rRrSrrr _findLib_ld,s*    r~cCs t|ptt|ptt|S)N)rvrZrTr~)r+rrrr,GscCsddlm}tjdkr:t|jt|dttdtjdkrttdttdttdtj d krt| d t| d t| d t| d ntj drddlm }tj dkrtd|dtjtd| dttdt| dn*td|dtjtd| dtdtdtd| tdtdtdtd| tdn(t| dt| dttddS)Nr)cdllrrr-r!r bz2r.z libm.dylibzlibcrypto.dylibzlibSystem.dylibzSystem.framework/Systemr3)CDLLlz"Using CDLL(name, os.RTLD_MEMBER): z libc.a(shr.o)zUsing cdll.LoadLibrary(): Zrpmz librpm.sozlibc.a(shr_64.o)z crypt :: Zcryptz crypto :: Zcryptozlibm.soz libcrypt.so)Zctypesrr#r+printrloadr,r platformZ LoadLibraryrirr`Z RTLD_MEMBER)rrrrrtestOs<            r__main__)F)r#rCrGr r+rrr,rZctypes.macholib.dyldr/r0riZ ctypes._aixrArEr9rTrZrbrnrvr~r__name__rrrrs>     2     $ ( PK!^`C`C __init__.pynu[PK!l7676Cutil.pynu[PK!  zwintypes.pynu[PK!t(@__pycache__/_endian.cpython-36.opt-1.pycnu[PK!_5_5)+__pycache__/__init__.cpython-36.opt-2.pycnu[PK!Z&?)__pycache__/wintypes.cpython-36.opt-1.pycnu[PK!a,sII%2__pycache__/util.cpython-36.opt-1.pycnu[PK!υJJ%__pycache__/util.cpython-36.opt-2.pycnu[PK!Z&?#o__pycache__/wintypes.cpython-36.pycnu[PK!sZ-22(.__pycache__/_endian.cpython-36.opt-2.pycnu[PK!a,sIIB5__pycache__/util.cpython-36.pycnu[PK!ubg)Q__pycache__/wintypes.cpython-36.opt-2.pycnu[PK!t""f__pycache__/_endian.cpython-36.pycnu[PK!O&B>B>#n__pycache__/__init__.cpython-36.pycnu[PK!O&B>B>)__pycache__/__init__.cpython-36.opt-1.pycnu[PK!Gƻ7 7_endian.pynu[PK!t7yAmacholib/__init__.pynu[PK! Hdmacholib/framework.pynu[PK!6z$$macholib/dylib.pynu[PK!QN.bmacholib/__pycache__/dyld.cpython-36.opt-2.pycnu[PK!؁2macholib/__pycache__/__init__.cpython-36.opt-2.pycnu[PK!XX/macholib/__pycache__/dylib.cpython-36.opt-2.pycnu[PK!a3Tmacholib/__pycache__/framework.cpython-36.opt-2.pycnu[PK!q y-Emacholib/__pycache__/framework.cpython-36.pycnu[PK!nGVV3G%macholib/__pycache__/framework.cpython-36.opt-1.pycnu[PK!CA(,macholib/__pycache__/dyld.cpython-36.pycnu[PK!d#NN.R=macholib/__pycache__/dyld.cpython-36.opt-1.pycnu[PK!|̍)Mmacholib/__pycache__/dylib.cpython-36.pycnu[PK!3z22,Umacholib/__pycache__/__init__.cpython-36.pycnu[PK!3z222rWmacholib/__pycache__/__init__.cpython-36.opt-1.pycnu[PK!=֐/Ymacholib/__pycache__/dylib.cpython-36.opt-1.pycnu[PK!J((5_macholib/README.ctypesnu[PK!=gg`macholib/dyld.pynu[PK!K CTTJtmacholib/fetch_macholibnuȯPK!+11t_aix.pynu[PK!*,^%3__pycache__/util.cpython-38.opt-1.pycnu[PK!*,^__pycache__/util.cpython-38.pycnu[PK!K_uov&v&__pycache__/_aix.cpython-38.pycnu[PK!% __pycache__/_aix.cpython-38.opt-2.pycnu[PK!IBq)~__pycache__/wintypes.cpython-38.opt-1.pycnu[PK!IBq#1__pycache__/wintypes.cpython-38.pycnu[PK!P \??) F__pycache__/__init__.cpython-38.opt-1.pycnu[PK!577)[__pycache__/__init__.cpython-38.opt-2.pycnu[PK!K_uov&v&%ҽ__pycache__/_aix.cpython-38.opt-1.pycnu[PK!Ŋ (__pycache__/_endian.cpython-38.opt-1.pycnu[PK!IBq)__pycache__/wintypes.cpython-38.opt-2.pycnu[PK!YY%__pycache__/util.cpython-38.opt-2.pycnu[PK!Ŋ "x__pycache__/_endian.cpython-38.pycnu[PK!VK66(U'__pycache__/_endian.cpython-38.opt-2.pycnu[PK!P \??#-__pycache__/__init__.cpython-38.pycnu[PK!'z~~),nmacholib/__pycache__/dylib.cpython-38.pycnu[PK!&a-vmacholib/__pycache__/framework.cpython-38.pycnu[PK!SXGG3~macholib/__pycache__/framework.cpython-38.opt-1.pycnu[PK!S <<.macholib/__pycache__/dyld.cpython-38.opt-2.pycnu[PK! YY/:macholib/__pycache__/dylib.cpython-38.opt-2.pycnu[PK!oR<<(macholib/__pycache__/dyld.cpython-38.pycnu[PK!R)--2macholib/__pycache__/__init__.cpython-38.opt-1.pycnu[PK!?p2macholib/__pycache__/__init__.cpython-38.opt-2.pycnu[PK!*d3macholib/__pycache__/framework.cpython-38.opt-2.pycnu[PK!r?.macholib/__pycache__/dyld.cpython-38.opt-1.pycnu[PK!n&/macholib/__pycache__/dylib.cpython-38.opt-1.pycnu[PK!R)--,macholib/__pycache__/__init__.cpython-38.pycnu[PK!NN __init__.pyonu[PK!wV ) )util.py.binutils-no-depnu[PK!   'E_endian.pycnu[PK!   eN_endian.pyonu[PK!ʆWWmacholib/dyld.pycnu[PK!}`<<nmacholib/__init__.pyonu[PK!pmacholib/dylib.pyonu[PK!"SSwmacholib/framework.pyonu[PK!7|A A ~macholib/framework.pycnu[PK!d/'macholib/dyld.pyonu[PK!}`<<5macholib/__init__.pycnu[PK! @ macholib/dylib.pycnu[PK!HCC wintypes.pycnu[PK!=*0g!g!util.pyonu[PK!=*0g!g!!util.pycnu[PK!NN __init__.pycnu[PK!HCC Swintypes.pyonu[PK!btoo&_k__pycache__/_aix.cpython-312.opt-2.pycnu[PK!G )$__pycache__/_endian.cpython-312.opt-2.pycnu[PK!Ņ1!1!*__pycache__/wintypes.cpython-312.opt-1.pycnu[PK![[$__pycache__/__init__.cpython-312.pycnu[PK!_Ґ?? __pycache__/util.cpython-312.pycnu[PK!8Q{>{>&O__pycache__/util.cpython-312.opt-2.pycnu[PK!k00 Z__pycache__/_aix.cpython-312.pycnu[PK!k00&__pycache__/_aix.cpython-312.opt-1.pycnu[PK!_Ґ??& __pycache__/util.cpython-312.opt-1.pycnu[PK![[*/__pycache__/__init__.cpython-312.opt-1.pycnu[PK!q/ / )__pycache__/_endian.cpython-312.opt-1.pycnu[PK!q/ / #__pycache__/_endian.cpython-312.pycnu[PK!Ņ1!1!$__pycache__/wintypes.cpython-312.pycnu[PK!.-SS*__pycache__/__init__.cpython-312.opt-2.pycnu[PK!Ņ1!1!* __pycache__/wintypes.cpython-312.opt-2.pycnu[PK!(*< macholib/__pycache__/dylib.cpython-312.pycnu[PK!*.A macholib/__pycache__/framework.cpython-312.pycnu[PK!$ibb/G macholib/__pycache__/dyld.cpython-312.opt-1.pycnu[PK!$ibb)b macholib/__pycache__/dyld.cpython-312.pycnu[PK!/Yr0>} macholib/__pycache__/dylib.cpython-312.opt-2.pycnu[PK!pUD#4B macholib/__pycache__/framework.cpython-312.opt-2.pycnu[PK!(0| macholib/__pycache__/dylib.cpython-312.opt-1.pycnu[PK!/I>>-݈ macholib/__pycache__/__init__.cpython-312.pycnu[PK!Ǎ%%/x macholib/__pycache__/dyld.cpython-312.opt-2.pycnu[PK!/I>>3 macholib/__pycache__/__init__.cpython-312.opt-1.pycnu[PK!*4 macholib/__pycache__/framework.cpython-312.opt-1.pycnu[PK!3 macholib/__pycache__/__init__.cpython-312.opt-2.pycnu[PK!u0 macholib/__pycache__/dylib.cpython-313.opt-1.pycnu[PK!w$/ѱ macholib/__pycache__/dyld.cpython-313.opt-1.pycnu[PK!YY. macholib/__pycache__/framework.cpython-313.pycnu[PK!&6LL- macholib/__pycache__/__init__.cpython-313.pycnu[PK!&6LL3D macholib/__pycache__/__init__.cpython-313.opt-1.pycnu[PK!YY4 macholib/__pycache__/framework.cpython-313.opt-1.pycnu[PK!w$) macholib/__pycache__/dyld.cpython-313.pycnu[PK!u* macholib/__pycache__/dylib.cpython-313.pycnu[PK!ҝ[}}/ macholib/__pycache__/dyld.cpython-313.opt-2.pycnu[PK!4 macholib/__pycache__/framework.cpython-313.opt-2.pycnu[PK! L0  macholib/__pycache__/dylib.cpython-313.opt-2.pycnu[PK!hR3 macholib/__pycache__/__init__.cpython-313.opt-2.pycnu[PK!f""$5 __pycache__/wintypes.cpython-313.pycnu[PK!NzlClC&? __pycache__/util.cpython-313.opt-1.pycnu[PK!M  #\ __pycache__/_endian.cpython-313.pycnu[PK!IA^B^B& __pycache__/util.cpython-313.opt-2.pycnu[PK!7$I5c5c$l __pycache__/__init__.cpython-313.pycnu[PK!7$I5c5c*7 __pycache__/__init__.cpython-313.opt-1.pycnu[PK! :ih**& __pycache__/_aix.cpython-313.opt-2.pycnu[PK!,:00  __pycache__/_aix.cpython-313.pycnu[PK!,:00&b __pycache__/_aix.cpython-313.opt-1.pycnu[PK!^J J ) __pycache__/_endian.cpython-313.opt-2.pycnu[PK!f""*i$ __pycache__/wintypes.cpython-313.opt-1.pycnu[PK!NzlClC F __pycache__/util.cpython-313.pycnu[PK!f""* __pycache__/wintypes.cpython-313.opt-2.pycnu[PK!M  ) __pycache__/_endian.cpython-313.opt-1.pycnu[PK!~RJZZ*] __pycache__/__init__.cpython-313.opt-2.pycnu[PK!Qf3 macholib/__pycache__/__init__.cpython-311.opt-2.pycnu[PK!;d  / macholib/__pycache__/dyld.cpython-311.opt-1.pycnu[PK!TDPP006 macholib/__pycache__/dylib.cpython-311.opt-1.pycnu[PK!fAWW-; macholib/__pycache__/__init__.cpython-311.pycnu[PK!TDPP*= macholib/__pycache__/dylib.cpython-311.pycnu[PK!v0>C macholib/__pycache__/dylib.cpython-311.opt-2.pycnu[PK!;d  )F macholib/__pycache__/dyld.cpython-311.pycnu[PK!mI4d macholib/__pycache__/framework.cpython-311.opt-1.pycnu[PK!mI.$k macholib/__pycache__/framework.cpython-311.pycnu[PK!Q  4Tq macholib/__pycache__/framework.cpython-311.opt-2.pycnu[PK!/t macholib/__pycache__/dyld.cpython-311.opt-2.pycnu[PK!fAWW3 macholib/__pycache__/__init__.cpython-311.opt-1.pycnu[PK!†) __pycache__/_endian.cpython-311.opt-1.pycnu[PK! ``*ģ __pycache__/__init__.cpython-311.opt-2.pycnu[PK!adhh$8__pycache__/__init__.cpython-311.pycnu[PK!Dΐ)Km__pycache__/_endian.cpython-311.opt-2.pycnu[PK!i *{__pycache__/wintypes.cpython-311.opt-2.pycnu[PK!oHH __pycache__/util.cpython-311.pycnu[PK!zpGG&]__pycache__/util.cpython-311.opt-2.pycnu[PK!Q33 .__pycache__/_aix.cpython-311.pycnu[PK!-u&b__pycache__/_aix.cpython-311.opt-2.pycnu[PK!oHH&__pycache__/util.cpython-311.opt-1.pycnu[PK!Q33&@__pycache__/_aix.cpython-311.opt-1.pycnu[PK!†#E__pycache__/_endian.cpython-311.pycnu[PK!i *L__pycache__/wintypes.cpython-311.opt-1.pycnu[PK!adhh*/__pycache__/__init__.cpython-311.opt-1.pycnu[PK!i $__pycache__/wintypes.cpython-311.pycnu[PK!B662macholib/__pycache__/__init__.cpython-35.opt-1.pycnu[PK!b\\(macholib/__pycache__/dyld.cpython-35.pycnu[PK!{/G G -]macholib/__pycache__/framework.cpython-35.pycnu[PK!1D/macholib/__pycache__/dylib.cpython-35.opt-1.pycnu[PK!l\)omacholib/__pycache__/dylib.cpython-35.pycnu[PK!U.macholib/__pycache__/dyld.cpython-35.opt-1.pycnu[PK!B66,macholib/__pycache__/__init__.cpython-35.pycnu[PK!;88.tmacholib/__pycache__/dyld.cpython-35.opt-2.pycnu[PK!2 macholib/__pycache__/__init__.cpython-35.opt-2.pycnu[PK!ҕ/ macholib/__pycache__/dylib.cpython-35.opt-2.pycnu[PK!L3macholib/__pycache__/framework.cpython-35.opt-2.pycnu[PK! +3#macholib/__pycache__/framework.cpython-35.opt-1.pycnu[PK!jE7!D!D)__pycache__/__init__.cpython-35.opt-1.pycnu[PK!jE7!D!D#___pycache__/__init__.cpython-35.pycnu[PK!w$x4;4;) __pycache__/__init__.cpython-35.opt-2.pycnu[PK!EE__pycache__/util.cpython-35.pycnu[PK!&V(*__pycache__/_endian.cpython-35.opt-1.pycnu[PK!(__pycache__/_endian.cpython-35.opt-2.pycnu[PK!5Zcc) __pycache__/wintypes.cpython-35.opt-2.pycnu[PK!"`Gjj#W#__pycache__/wintypes.cpython-35.pycnu[PK!&V":__pycache__/_endian.cpython-35.pycnu[PK!"`Gjj)yB__pycache__/wintypes.cpython-35.opt-1.pycnu[PK!EE%