+
     i  c                   sl    R t ^ RIt^ RIHt ^ RIHtHt ^ RIt]! R]4      t	R R lt
R R ltR	 R
 ltR# )zUtility functions.N)md5)OptionalNewType
DeviceHashc                s$    V ^8  d   QhR\         /# )   return)ZboolZformat   "8/usr/lib/python3.14/site-packages/inputremapper/utils.py__annotate__r	       s     : :D :    c                  sN    \         P                  ^ ,          P                  R4      # )i    zinput-remapper-service)sysZargvZendswith r
   r   
is_servicer       s    88A; 899r
   c                sD    V ^8  d   QhR\         P                  R\        /# )r   devicer   )evdevZInputDevicer   r   r   r   r	   r	   $   s      ; ;E-- ;* ;r
   c                s    \        V P                  RR7      4      V P                  ,           p\        \	        VP                  4       4      P                  4       P                  4       4      # )z'get a unique hash for the given device.F)Zabsinfo)strZcapabilitiesnamer   r    ZencodeZ	hexdigestZlower)r   Zss   & r   get_device_hashr   $   sL     	F./&++=Ac!((*o//1779::r
   c                sh    V ^8  d   QhR\         \        ,          R\         \        ,          R\        /# )r   type_coder   )r   Zintr   r   r   r   r	   r	   /   s)      8C=  c r
   c                s    \         P                  P                  P                  V / 4      P                  V4      p\	        V4      \
        \        39   d
   V^ ,          pVf   R# V# )zkHandy function to get the evdev constant name for display purposes.

Returns "unknown" for unknown events.
Zunknown)r   ZecodesZbytypeZgetZtypeZlistZtuple)r   r   Z_r   s   &&* r   get_evdev_constant_namer   /   sQ     <<""5"-11$7DDzdE]"Aw|Kr
   )Z__doc__r   Zhashlibr    Ztypingr   r   r   r   r   r   r   r   r   r
   r   <module>r      s1   *  
  $ \3'
:;r
   