\bgdZddlZddlZddlmZmZddlmZddlm Z  ddlm Z n#e $r de d e d dfd Z YnwxYwed Z d Zdede fdeded e fdZdefdZdZdS)z2Convenience layer on top of stdlib's shutil and osN)CallableTypeVar)py311)log)chmodargskwargsreturncdSN)r r s c/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/_shutil.pyrrs _Tctjd|| t||dS#t$r }tjd|Yd}~dSd}~wwxYw)Nzchanging mode of %s to %ozchmod failed: %s)rdebugrOSError)pathmodees rattempt_chmod_verbosersvI)4666) dD ))) $a((((((((()s* AAAfunc.argexcc|tjtjfvr5tjdkr%t |t j||S|)zIshutils onexc callback to automatically call chmod for certain functions.nt)osunlinkremovenamerstatS_IWRITE)rrrs r _auto_chmodr$ sG   29%%%"'T//c4=111tCyy IrFc.tj|||S)zx Similar to ``shutil.rmtree`` but automatically executes ``chmod`` for well know Windows failure scenarios. )r shutil_rmtree)r ignore_errorsonexcs rrmtreer)+s  t]E : ::rc btj|rt|fi|dSdSr )rrisdirr))roptss rrmdirr-3s> w}}Tttr)__doc__rr"typingrrcompatr distutilsrr ImportErrorobjectrrstr BaseExceptionr$r)r-rrrr6sP88 $$$$$$$$     V v $        WT]]))) 37 "%,9 %K;;;;s '99