i ddlZddlZddlZddlZddlZddlZejdZej ese edej e dede d ej eej ZeZe dejden3#ej$r&Zejejkre dYdZ[ndZ[wwxYw e dej eejZeZe dejden3#ej$r&Zejejkre d YdZ[ndZ[wwxYwej eejZeZe e d dSedeD]ZeeZe d ee d d D]*Ze eeeddkr e de+e de!edddD]7Ze eeeddze eekr e de8e de!eddZ"dZ#dZ$ej%ere"Z&nBe#Z&eddej'zej'kr!eddej(zej(kre$Z&dZ)e&D]@Ze eeedze eekre)e eezZ)e deAe dde!e)e dejdeddS)Nzdoes not exist!zOn file  OWNERz z!No owner information is availableGROUPz!No group information is availablezNo Discretionary ACLACEz -Type)ACCESS_ALLOWED_ACE_TYPEACCESS_DENIED_ACE_TYPESYSTEM_AUDIT_ACE_TYPESYSTEM_ALARM_ACE_TYPEz z -Flags)OBJECT_INHERIT_ACECONTAINER_INHERIT_ACENO_PROPAGATE_INHERIT_ACEINHERIT_ONLY_ACESUCCESSFUL_ACCESS_ACE_FLAGFAILED_ACCESS_ACE_FLAGz -mask) DELETE READ_CONTROL WRITE_DAC WRITE_OWNER SYNCHRONIZEFILE_GENERIC_READFILE_GENERIC_WRITEFILE_GENERIC_EXECUTEFILE_DELETE_CHILD)rrrrrFILE_ADD_SUBDIRECTORY FILE_ADD_FILErFILE_LIST_DIRECTORY FILE_TRAVERSEFILE_READ_ATTRIBUTESFILE_WRITE_ATTRIBUTES FILE_READ_EA FILE_WRITE_EA) rrrrr GENERIC_READ GENERIC_WRITEGENERIC_EXECUTE GENERIC_ALLzCalculated Check Mask=z -SID )*ossys ntsecuritycon pywintypes win32securitywinerrorargvnamepathexistsprintexitGetFileSecurityOWNER_SECURITY_INFORMATIONsdGetSecurityDescriptorOwnersidLookupAccountSiderrorexcERROR_NONE_MAPPEDGROUP_SECURITY_INFORMATIONGetSecurityDescriptorGroupDACL_SECURITY_INFORMATIONGetSecurityDescriptorDacldaclrange GetAceCountace_noGetAceaceigetattrhexpermissions_filepermissions_dirpermissions_dir_inheritisfile permissionsr r calc_maskJC:\PYTHON\_runtimes\venv\Lib\site-packages\win32/Demos/FileSecurityTest.pyrSs   x{ w~~d E$!""" CHJJJj$g / & &t]-U V VB ' ' ) )C E$. .tS99::::/// |x111  E -........ // E'NNN & &t]-U V VB ' ' ) )C E$. .tS99::::/// |x111  E -......../ #]"4)PQQ ##%%< E !!!!!%4++--..VLVLkk&!! eV i  ! !A w}a((CF1I55fa    j##c!fQi..))) ! !Aw}a((3q6!94 q8Q8QQQfa    iSV%%%    #  7>>$   6*KK)KAq M<< 344F1I >> 1226   ! !Aw}a((3q61WW]A5N5NNNWW]A666 fa    d,cc)nn=== n