+
    ,i  c                   s|   a  R	 t0 t ^ RIt^RIHtHt ^RIHt ^RIHt Rt	] ^ k Rt
] ^k R
t] ^k  ! R R]4      tR# )i    N)	exception	policyrep)CheckerModule)config_bool_valueattr
missing_okEmptyTypeAttrc                   s   a a ] tR t^t oRtRt]! ]]34      t	V3R lV 3R llt
]V3R lR l4       t]P                  V3R lR l4       t]R	 4       t]P                  V3R
 lR l4       tV3R lR ltRtVtV ;t# )r   z7Checker module for asserting a type attribute is empty.Zempty_typeattrc                sZ   < V ^8  d   QhRS[ P                  RS[RS[S[S[3,          RR/# )   policy	checknameconfigreturnN)r   ZSELinuxPolicystrZdictformat__classdict__   "@/usr/lib64/python3.14/site-packages/setools/checker/emptyattr.py__annotate__EmptyTypeAttr.__annotate__   s9     - -y66 -3 -c3h-,0-    c                s   < \         SV `  WV4       R V n        RV n        RV n        VP                  \        4      V n        VP                  \        R 4      V n	        R# ) FN)
Zsuper__init___attr_missing_ok_pass_by_missingZgetMISSINOK_OPTr   ATTR_OPTr   )selfr   r	   r
   	__class__s   &&&&r   r   ZEmptyTypeAttr.__init__   sO     	F346
 
 !& **\2JJx,	r   c                sD   < V ^8  d   QhRS[ P                  S[,          /# r   r   )r   ZTypeAttributer   r   r   r   r   r   )   s      i--3 r   c                    V P                   # N)r   r      &r   r   EmptyTypeAttr.attr(   s    zzr   c                s2   < V ^8  d   QhRS[ R,          RR/# )r   valueNr   )r   r   r   r   r   r   -   s     ) )#* ) )r   c                s   V'       g+   \         P                  ! V P                   R \         R24      h V P                  P                  V4      V n        RV n        R#   \         P                   dQ   pT P                  '       g'   \         P                  ! T P                   RT 24      ThYn        RT n         Rp?R# Rp?ii ; i)z: "z" setting is missing.Fz: attr setting error: TN)
r    ZInvalidCheckValuer	   r   r   Zlookup_typeattrr   r   ZInvalidTyper   )r   r$   Zes   && r   r   r#   ,   s    -->>"$xj0FGI I
	)44U;DJ$)D!$$ 	)???11~~&&<QC@BGHI J$(D!!	)s   'A C2AB==Cc                r   r    )r   r!   r"   r   r   EmptyTypeAttr.missing_ok>   s    r   c                s   < V ^8  d   QhRR/# )r   r   N) r   r   r   r   r   C   s     * *4 *r   c                s    \        V4      V n        V P                  '       d*   \        V P                  \        4      '       d
   R V n        R# RV n        R# )TFN)r   r   Z
isinstancer   r   r   )r   r$   s   &&r   r   r%   B   s;    ,U3
499c : :$(D!$)D!r   c                sD   < V ^8  d   QhRS[ S[P                  ,          /# r   )listr   Typer   r   r   r   r   L   s      T)..) r   c                sn   V P                   P                  R V P                   R24       \        \        P
                  ,          ! 4       pV P                  '       d!   V P                  RV P                   R24       MV P                  P                  RV P                   R24       \        V P                  P                  4       4      pV'       d7   V F/  pV P                  VP                  4       VP                  V4       K1  	  MV P                  R4       V P                   P!                  V R24       V# )zChecking type attribute z
 is empty.z    z does not exist.zMember types of z:
z    <empty>z failure(s))ZlogZinfor   r&   r   r'   r   Zlog_infoZoutputZwriteZsortedZexpandZlog_failZnameZappendZlog_okZdebug)r   ZfailuresZtypesZtype_s   &   r   runZEmptyTypeAttr.runL   s    0:FG	')   MMD+;<=
 KK 03?@499++-.E"EMM%**-OOE* # M*(;/0r   )r   r   r   r   r   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Z
check_typeZ	frozensetr   r   Zcheck_configr   Zpropertyr   Zsetterr   r(   Z__static_attributes__Z__classdictcell__Z__classcell__)r   r   s   @@r   r   r      s     A!Jh56L- -   
[[) )"     * *  r   c                s(   V ^8  d   Qh/ ^ \         9   d   \        P                  \        ,          ;R&   ^\         9   d   \        P                  \        ,          ;R&   ^\         9   d,   \        P                  \        \        R3,          ,          ;R&   # )r   r   r   .__all__)__conditional_annotations__typingZFinalr   Ztuple)r   s   "r   r   r      s_     % $&,,s
 $  / .fll3 .  < ;eCHo	& ; r   )r   )r*   r+   r   r    r   Zcheckermoduler   Zutilr   r   r   r)   r   r   )r*   s   @r   <module>r,      s<     # ( #$ $". .); ;PM Pr   