+
    ,ii	  c                   s    ^ RI Ht ^RIHt ^RIHtHtHt ^RIH	t	 ]! RRR7       ! R R]4      4       t
 ! R	 R
]4      tR# )i    )	dataclass)DiffResultDescriptor)
DifferenceDifferenceResultSymbolWrapper)	policyrepT)ZfrozenZorderc                   s0   a  ] tR t^t o RtV 3R ltRtV tR# )ModifiedCommonz8Difference details for a modified common permission set.c                s   < V ^8  d   Qh/ S[ P                  ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   # )   Zcommonadded_permsremoved_permsmatched_perms)r   CommonZsetZstrZformat__classdict__   ";/usr/lib64/python3.14/site-packages/setools/diff/commons.py__annotate__ZModifiedCommon.__annotate__   sK     
   S  s8  s8      N)__name__
__module____qualname____firstlineno____doc__Z__annotate_func____static_attributes____classdictcell__r      @r   r   r      s      C  r   r   c                   s   a  ] tR t^t o RtV 3R lR lt]]P                  ,          ! ]4      t	]]P                  ,          ! ]4      t
]],          ! ]4      tV 3R lR ltRtV tR# )CommonDifferencezJ
Determine the difference in common permission sets
between two policies.
c                   < V ^8  d   QhRR/# r   ZreturnNr   r   r   r   r   CommonDifference.__annotate__   s     L Ld Lr   c           	     s@   V P                   P                  RV P                   RV P                   24       V P	                  R V P                  P                  4        4       R V P                  P                  4        4       4      w  V n        V n        p\        \        ,          ! 4       V n
        V Fi  w  r#V P	                  VP                  VP                  RR7      w  rEpV'       g   V'       g   KB  V P                  P                  \        VVVV4      4       Kk  	  R# )z8Generate the difference in commons between the policies.z#Generating common differences from z to c              3   8   "   T F  p\        V4      x  K  	  R # 5iNr   Z.0Zc   & r   	<genexpr>0CommonDifference.diff_commons.<locals>.<genexpr>%   s     B'A!]1'A   c              3   r    r!   r"   r#   r$   r   r%   r&   &   s     C'B!]1'Br'   F)ZunwrapN)logZinfoZleft_policyZright_policyZ	_set_diffZcommonsadded_commonsremoved_commonsZlistr   modified_commonsZpermsZappend)selfZmatched_commonsZleft_commonZright_commonr   r	   r
   s   &      r   diff_commonsZCommonDifference.diff_commons   s    	1$2B2B1C4HYHYGZ[	] EINNBt'7'7'?'?'ABCt'8'8'@'@'BCEEAD0/ !%^ 4 6)8%K 9={GXGXGSGYGYNS 9G 9U5K mm%%,,^K<G<I<I.K L *9r   c                r   r   r   r   r   r   r   r   >   s     " "T "r   c                sH    V P                   P                  R4       V =V =V =R# )z%Reset diff results on policy changes.zResetting common differencesN)r(   Zdebugr)   r*   r+   )r,   s   &r   _reset_diffZCommonDifference._reset_diff>   s%    56 !r   )r)   r+   r*   N)r   r   r   r   r   r-   r   r   r   r)   r*   r   r+   r.   r   r   r   r   r   r   r      s\     
L L2 ))9)9:<HM*9+;+;<\JO+N;LI
" "r   r   N)Zdataclassesr    Zdescriptorsr   Z
differencer   r   r   Z r   r   r   r   r   r   <module>r/      sE   
 " - C C  $d#%  $,"z ,"r   