+
     Gi  c                   s@    ^ RI Ht ^ RIHt ^ RIHt  ! R R]4      tR# )i    N)reduce)Profilec                   s6   a  ] tR t^t o RtR tR tR tRtV t	R# )Mergerz.
Tool for merging multiple profiles into one.
c                s    R # )N )selfs   &:/usr/lib/python3.14/site-packages/tuned/profiles/merger.py__init__ZMerger.__init__
   s        c                sD    \        V P                  V\        4       4      pV# )z
Merge multiple configurations into one. If there are multiple units of the same type, option 'devices'
is set for each unit with respect to eliminating any duplicate devices.
)r    
_merge_twor   )r   ZconfigsZmerged_configs   && r   mergeZMerger.merge   s    
 '79=-	r   c                sb	   VP                   f   VP                   Vn         VP                  P                  VP                  4       \        VP                  P                  4       4       EFB  w  r4VP                  \        P                  8X  d   VP                  '       d   VP                  P                  4        \        VP                  P                  4       4      \        VP                  P                  4       4      ,          pVP                  P                  VP                  4       VP                  '       dE   \        VP                  4       F(  pWe9  g   K  VP                  P!                  VRR7       K*  	  EK  EK  VP                  '       g   W1P                  9  d   WAP                  V&   EKM  VP                  VP                  V,          n        VP"                  VP                  V,          n        VP$                  VP                  V,          n        VP&                  e#   VP&                  VP                  V,          n        VP(                  e#   VP(                  VP                  V,          n        VP*                  e#   VP*                  VP                  V,          n        VP,                  e#   VP,                  VP                  V,          n        VP.                  e#   VP.                  VP                  V,          n        VP0                  e#   VP0                  VP                  V,          n        VP2                  eH   VP2                   F0  pVP                  V,          P                  P5                  VR4       K2  	  RVn        VR8X  d   VP                  V,          P                  P7                  RR4      e   VP                  V,          P                  P7                  RR4      pVP                  V,          P                  P                  VP                  4       WP                  V,          P                  R,          ,           VP                  V,          P                  R&   EK  VP                  V,          P                  P                  VP                  4       EKE  	  V# )z
Merge two profiles. The configuration of units with matching names are updated with options
from the newer profile. If the 'replace' options of the newer unit is 'True', all options from the
older unit are dropped.
NF)Zlastscript)ZnameZoptionsZupdateZlistZunitsZitemsZtypeconstsZPLUGIN_VARIABLES_UNIT_NAMEZreplaceZ	variablesZclearZsetZkeysZprependZreversedZmove_to_endZenabledZdevicesZpriorityZdevices_udev_regexZcpuinfo_regexZuname_regexZ
script_preZscript_postZdropZpopZget)	r   Z	profile_aZ	profile_bZ	unit_nameZunitZoverwritten_variablesZvariableZoptionr
   s	   &&&      r   r   ZMerger._merge_two   s6    ^^NN9>9,,-ioo3356oi
ii6444||| 	 3 3 8 8 :;c$,,BSBSBU>VVt||,|||dll+		.&&xe&< ,  		8!%OOI&*iiIOOI#)-IOOI&)-IOOI&}} +/==Y__Y(*595L5LY__Y2%040B0BY__Y-#.2.>.>Y__Y+"-1__Y__Y*#.2.>.>Y__Y+yy99ooi ((,,VT: TYH!;!C!C!G!GRV!W!cooi(0044XtDV__Y''..t||<4:__Y=W=_=_`h=i4iY__Y''1__Y''..t||<K 7N 
r   r   N)
Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r	   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s     2 2r   r   )Ztuned.constsr   Z	functoolsr    Ztuned.profiles.profiler   Zobjectr   r   r   r   <module>r      s      *BV Br   