+
                             ~    ^ RI Ht ^RIHt ^RIHt ^RIHtHt ]! RR7       ! R R]4      4       t	 ! R	 R
]4      t
R# )    )	dataclass)
PolicyEnum)DiffResultDescriptor)
DifferenceDifferenceResultT)frozenc                   B   a  ] tR t^t o RtV 3R lR ltV 3R ltRtV tR# )ModifiedPropertyz2Difference details for a modified policy property.c                    < V ^8  d   QhRS[ /# )   return)bool)format__classdict__s   ">/usr/lib64/python3.14/site-packages/setools/diff/properties.py__annotate__ModifiedProperty.__annotate__   s     . .t .    c                4    V P                   VP                   8  # )N)property)selfothers   &&r   __lt__ModifiedProperty.__lt__   s    }}u~~--r   c                ~   < V ^8  d   Qh/ S[ ;R&   S[S[,          S[,          ;R&   S[S[,          S[,          ;R&   # )r   r   addedremoved)strr   r   int)r   r   s   "r   r   r      s?     
 M  s""  $$$ r    N)	__name__
__module____qualname____firstlineno____doc__r   __annotate_func____static_attributes____classdictcell__r   s   @r   r
   r
      s      =. .  r   r
   c                   f   a  ] tR t^t o RtV 3R lR lt]],          ! ]4      tV 3R lR lt	Rt
V tR# )PropertiesDifferencezf
Determine the difference in policy properties
(unknown permissions, MLS, etc.) between two policies.
c                   < V ^8  d   QhRR/# r   r   Nr    )r   r   s   "r   r   !PropertiesDifference.__annotate__!   s     < < <r   c                .   \         \        ,          ! 4       V n        V P                  P                  V P
                  P                  8w  dO   V P                  P                  \        R V P
                  P                  V P                  P                  4      4       V P                  P                  V P
                  P                  8w  dO   V P                  P                  \        RV P
                  P                  V P                  P                  4      4       V P                  P                  V P
                  P                  8w  dQ   V P                  P                  \        RV P
                  P                  V P                  P                  4      4       R# R# )handle_unknownMLSversionN)	listr
   modified_propertiesleft_policyr0   right_policyappendmlsr2   r   s   &r   diff_properties$PropertiesDifference.diff_properties!   s4   #'(8#9#; **d.?.?.N.NN$$++ !1!%!2!2!A!A!%!1!1!@!@BC
 4#4#4#8#88$$++ !%!2!2!6!6!%!1!1!5!578
 ##t'8'8'@'@@$$++ !%!2!2!:!:!%!1!1!9!9;< Ar   c                   < V ^8  d   QhRR/# r-   r    )r   r   s   "r   r   r.   ;   s     % %T %r   c                @    V P                   P                  R4       V =R# )z%Reset diff results on policy changes.zResetting property differencesN)logdebugr4   r9   s   &r   _reset_diff PropertiesDifference._reset_diff;   s    78$r   )r4   N)r!   r"   r#   r$   r%   r:   r   r
   r4   r@   r'   r(   r)   s   @r   r+   r+      s1     
< <* //?@Q
% %r   r+   N)dataclassesr   	policyrepr   descriptorsr   
differencer   r   r
   r+   r    r   r   <module>rF      s@   
 " " - 4 $	.' 	. 	.$%: $%r   