~T!ddlZddlZddlZddlZejdkr 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 zDFFFFFr