eaiovnaovbqoebvqoeavibavo 3 Úi«VŒ ã @sPyddlmZWn:ek rJddlZddlZejejBdfdd„ZYnXdS)é)ÚwhichNc s"dd„}tjjˆƒr&|ˆ|ƒr"ˆSdS|dkr>tjjdtjƒ}|sFdS|jtjƒ}tj dkr¼tj |krt|j dtj ƒtjjddƒjtjƒ}t ‡fd d „|Dƒƒr¨ˆg}q‡fd d „|Dƒ}nˆg}t ƒ}xT|D]L}tjj|ƒ}||krÎ|j|ƒx(|D] } tjj|| ƒ} || |ƒrö| SqöWqÎWdS) aSGiven a command, mode, and a PATH string, return the path which conforms to the given mode on the PATH, or None if there is no such file. `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result of os.environ.get("PATH"), or can be overridden with a custom search path. cSs&tjj|ƒo$tj||ƒo$tjj|ƒ S)N)ÚosÚpathÚexistsÚaccessÚisdir)ÚfnÚmode©r ú/usr/lib/python3.6/util.pyÚ _access_checkszwhich.._access_checkNÚPATHZwin32rZPATHEXTÚc3s |]}ˆjƒj|jƒƒVqdS)N)ÚlowerÚendswith)Ú.0Úext)Úcmdr r ú 1szwhich..csg|] }ˆ|‘qSr r )rr)rr r ú 4szwhich..)rrÚdirnameÚenvironÚgetÚdefpathÚsplitÚpathsepÚsysÚplatformÚcurdirÚinsertÚanyÚsetÚnormcaseÚaddÚjoin) rr rr ZpathextÚfilesÚseenÚdirZnormdirZthefileÚnamer )rr rs8            r)ZshutilrÚ ImportErrorrrÚF_OKÚX_OKr r r r Ús