a oe$@svddlZddlZddlZGdddZedddddd d d d d ddddddddddddddddddZed d!Zed"d#d$Zed%d&d'd(d)d*d+d,d- Zed.d/d0d1d2d3d4d5d6d7d8d9 Zed:d;Z edd?d@dAdBdCdDdEdFdGdHdIdJdKdLZ edMdNdOdPZ edQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjZ edkdldmdndodpdqdrdsdtdu Z edvdwdxdydzd{d|Zed}d~ddddddddd Zedddddddddd Zedddddddddddd ZeddddZeddZedddddddZedddddddddddd ZedddddZedddddddddă Zedddddddddddddу ZedddԃZeddddddddd݃ ZeddddԃZdS)Nc@s$eZdZddZddZddZdS)EnumcGs|D]}ztt|}Wnbtyxztt|}Wn@tyrztt|}Wntyltd|Yn0Yn0Yn0t|||qdS)zuAccepts variable number of constant names that can be found in either win32security, ntsecuritycon, or winnt.zBConstant "%s" not found in win32security, ntsecuritycon, or winnt.N)getattr win32securityAttributeError ntsecurityconwinntsetattr)selfZ const_namesZ const_name const_valr DC:\Program Files\Certbot\pkgs\win32\Demos\security\security_enums.py__init__s    z Enum.__init__cCs4|jD]\}}||kr |Sq td|dS)z(Looks up the name of a particular value.zValue %s not found in enumN)__dict__itemsr)r r kvr r r lookup_names zEnum.lookup_namecCsDg}|}|jD](\}}||@|kr||||@}q||fS)zXReturns the names of all recognized flags in input, and any flags not found in the enum.)rrappend)r flagsZ flag_namesZ unknown_flagsrrr r r lookup_flags!s   zEnum.lookup_flagsN)__name__ __module__ __qualname__r rrr r r r rsrZ TokenUserZ TokenGroupsZTokenPrivilegesZ TokenOwnerZTokenPrimaryGroupZTokenDefaultDaclZ TokenSourceZ TokenTypeZTokenImpersonationLevelZTokenStatisticsZTokenRestrictedSidsZTokenSessionIdZTokenGroupsAndPrivilegesZTokenSessionReferenceZTokenSandBoxInertZTokenAuditPolicyZ TokenOriginZTokenElevationTypeZTokenLinkedTokenZTokenElevationZTokenHasRestrictionsZTokenAccessInformationZTokenVirtualizationAllowedZTokenVirtualizationEnabledZTokenIntegrityLevelZ TokenUIAccessZTokenMandatoryPolicyZ TokenLogonSidZ TokenPrimaryZTokenImpersonationZTokenElevationTypeDefaultZTokenElevationTypeFullZTokenElevationTypeLimitedZAuditCategorySystemZAuditCategoryLogonZAuditCategoryObjectAccessZAuditCategoryPrivilegeUseZAuditCategoryDetailedTrackingZAuditCategoryPolicyChangeZAuditCategoryAccountManagementZ#AuditCategoryDirectoryServiceAccessZAuditCategoryAccountLogonZPolicyAuditLogInformationZPolicyAuditEventsInformationZPolicyPrimaryDomainInformationZPolicyPdAccountInformationZPolicyAccountDomainInformationZPolicyLsaServerRoleInformationZPolicyReplicaSourceInformationZPolicyDefaultQuotaInformationZPolicyModificationInformationZPolicyAuditFullSetInformationZPolicyAuditFullQueryInformationZPolicyDnsDomainInformationZPolicyServerRoleBackupZPolicyServerRolePrimaryZPOLICY_VIEW_LOCAL_INFORMATIONZPOLICY_VIEW_AUDIT_INFORMATIONZPOLICY_GET_PRIVATE_INFORMATIONZPOLICY_TRUST_ADMINZPOLICY_CREATE_ACCOUNTZPOLICY_CREATE_SECRETZPOLICY_CREATE_PRIVILEGEZPOLICY_SET_DEFAULT_QUOTA_LIMITSZPOLICY_SET_AUDIT_REQUIREMENTSZPOLICY_AUDIT_LOG_ADMINZPOLICY_SERVER_ADMINZPOLICY_LOOKUP_NAMESZPOLICY_NOTIFICATIONZPOLICY_ALL_ACCESSZ POLICY_READZ POLICY_WRITEZPOLICY_EXECUTEZPOLICY_AUDIT_EVENT_UNCHANGEDZPOLICY_AUDIT_EVENT_SUCCESSZPOLICY_AUDIT_EVENT_FAILUREZPOLICY_AUDIT_EVENT_NONEZACCESS_MIN_MS_ACE_TYPEZACCESS_ALLOWED_ACE_TYPEZACCESS_DENIED_ACE_TYPEZSYSTEM_AUDIT_ACE_TYPEZSYSTEM_ALARM_ACE_TYPEZACCESS_MAX_MS_V2_ACE_TYPEZ ACCESS_ALLOWED_COMPOUND_ACE_TYPEZACCESS_MAX_MS_V3_ACE_TYPEZACCESS_MIN_MS_OBJECT_ACE_TYPEZACCESS_ALLOWED_OBJECT_ACE_TYPEZACCESS_DENIED_OBJECT_ACE_TYPEZSYSTEM_AUDIT_OBJECT_ACE_TYPEZSYSTEM_ALARM_OBJECT_ACE_TYPEZACCESS_MAX_MS_OBJECT_ACE_TYPEZACCESS_MAX_MS_V4_ACE_TYPEZACCESS_MAX_MS_ACE_TYPEZ ACCESS_ALLOWED_CALLBACK_ACE_TYPEZACCESS_DENIED_CALLBACK_ACE_TYPEZ'ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPEZ&ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPEZSYSTEM_AUDIT_CALLBACK_ACE_TYPEZSYSTEM_ALARM_CALLBACK_ACE_TYPEZ%SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPEZ%SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPEZSYSTEM_MANDATORY_LABEL_ACE_TYPEZACCESS_MAX_MS_V5_ACE_TYPEZCONTAINER_INHERIT_ACEZFAILED_ACCESS_ACE_FLAGZINHERIT_ONLY_ACEZ INHERITED_ACEZNO_PROPAGATE_INHERIT_ACEZOBJECT_INHERIT_ACEZSUCCESSFUL_ACCESS_ACE_FLAGZNO_INHERITANCEZ"SUB_CONTAINERS_AND_OBJECTS_INHERITZSUB_CONTAINERS_ONLY_INHERITZSUB_OBJECTS_ONLY_INHERITZNOT_USED_ACCESSZ GRANT_ACCESSZ SET_ACCESSZ DENY_ACCESSZ REVOKE_ACCESSZSET_AUDIT_SUCCESSZSET_AUDIT_FAILUREZSE_DACL_AUTO_INHERITEDZSE_SACL_AUTO_INHERITEDZSE_DACL_PROTECTEDZSE_SACL_PROTECTEDZSE_DACL_DEFAULTEDZSE_DACL_PRESENTZSE_GROUP_DEFAULTEDZSE_OWNER_DEFAULTEDZSE_SACL_PRESENTZSE_SELF_RELATIVEZSE_SACL_DEFAULTEDZ SidTypeUserZ SidTypeGroupZ SidTypeDomainZ SidTypeAliasZSidTypeWellKnownGroupZSidTypeDeletedAccountZSidTypeInvalidZSidTypeUnknownZSidTypeComputerZ SidTypeLabelZTOKEN_ADJUST_DEFAULTZTOKEN_ADJUST_GROUPSZTOKEN_ADJUST_PRIVILEGESZTOKEN_ALL_ACCESSZTOKEN_ASSIGN_PRIMARYZTOKEN_DUPLICATEZ TOKEN_EXECUTEZTOKEN_IMPERSONATEZ TOKEN_QUERYZTOKEN_QUERY_SOURCEZ TOKEN_READZ TOKEN_WRITEZSecurityAnonymousZSecurityIdentificationZSecurityImpersonationZSecurityDelegationZPolicyServerEnabledZPolicyServerDisabledZ"PolicyNotifyAuditEventsInformationZ$PolicyNotifyAccountDomainInformationZ!PolicyNotifyServerRoleInformationZ PolicyNotifyDnsDomainInformationZ PolicyNotifyDomainEfsInformationZ+PolicyNotifyDomainKerberosTicketInformationZ-PolicyNotifyMachineAccountPasswordInformationZTrustedDomainNameInformationZTrustedControllersInformationZTrustedPosixOffsetInformationZTrustedPasswordInformationZTrustedDomainInformationBasicZTrustedDomainInformationExZTrustedDomainAuthInformationZTrustedDomainFullInformationZ$TrustedDomainAuthInformationInternalZ$TrustedDomainFullInformationInternalZ#TrustedDomainInformationEx2InternalZ%TrustedDomainFullInformation2InternalZTRUSTEE_IS_SIDZTRUSTEE_IS_NAMEZTRUSTEE_BAD_FORMZTRUSTEE_IS_OBJECTS_AND_SIDZTRUSTEE_IS_OBJECTS_AND_NAMEZTRUSTEE_IS_UNKNOWNZTRUSTEE_IS_USERZTRUSTEE_IS_GROUPZTRUSTEE_IS_DOMAINZTRUSTEE_IS_ALIASZTRUSTEE_IS_WELL_KNOWN_GROUPZTRUSTEE_IS_DELETEDZTRUSTEE_IS_INVALIDZTRUSTEE_IS_COMPUTERZSE_UNKNOWN_OBJECT_TYPEZSE_FILE_OBJECTZ SE_SERVICEZ SE_PRINTERZSE_REGISTRY_KEYZ SE_LMSHAREZSE_KERNEL_OBJECTZSE_WINDOW_OBJECTZ SE_DS_OBJECTZSE_DS_OBJECT_ALLZSE_PROVIDER_DEFINED_OBJECTZSE_WMIGUID_OBJECTZSE_REGISTRY_WOW64_32KEYZSE_PRIVILEGE_ENABLED_BY_DEFAULTZSE_PRIVILEGE_ENABLEDZSE_PRIVILEGE_USED_FOR_ACCESSZSE_GROUP_MANDATORYZSE_GROUP_ENABLED_BY_DEFAULTZSE_GROUP_ENABLEDZSE_GROUP_OWNERZSE_GROUP_USE_FOR_DENY_ONLYZSE_GROUP_INTEGRITYZSE_GROUP_INTEGRITY_ENABLEDZSE_GROUP_LOGON_IDZSE_GROUP_RESOURCEZSE_PRIVILEGE_REMOVED)rrrrZTOKEN_INFORMATION_CLASSZ TOKEN_TYPEZTOKEN_ELEVATION_TYPEZPOLICY_AUDIT_EVENT_TYPEZPOLICY_INFORMATION_CLASSZPOLICY_LSA_SERVER_ROLEZPOLICY_ACCESS_MODESZ POLICY_AUDIT_EVENT_OPTIONS_FLAGSZACE_TYPEZ ACE_FLAGSZ ACCESS_MODEZ!SECURITY_DESCRIPTOR_CONTROL_FLAGSZ SID_NAME_USEZTOKEN_ACCESS_PRIVILEGESZSECURITY_IMPERSONATION_LEVELZPOLICY_SERVER_ENABLE_STATEZ%POLICY_NOTIFICATION_INFORMATION_CLASSZTRUSTED_INFORMATION_CLASSZ TRUSTEE_FORMZ TRUSTEE_TYPEZSE_OBJECT_TYPEZPRIVILEGE_FLAGSZTOKEN_GROUP_ATTRIBUTESZTOKEN_PRIVILEGE_ATTRIBUTESr r r r s &