+
    Vß$g  ã                  óœ   € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ]'       d   ^ RIHt ^ RI	H
t
 ]P                  ! ]4      t ! R R]4      tR# )	é    )ÚannotationsN)ÚTYPE_CHECKING)Ú
BaseThread)ÚCallable)ÚFileSystemEventc                  ó\   a € ] tR t^tRtR V 3R lltR R ltR V 3R lltR R	 ltR
t	V ;t
# )ÚEventDebouncera€  Background thread for debouncing event handling.

When an event is received, wait until the configured debounce interval
passes before calling the callback.  If additional events are received
before the interval passes, reset the timer and keep waiting.  When the
debouncing interval passes, the callback will be called with a list of
events in the order in which they were received.
c               ó$   € V ^8„  d   QhRRRRRR/# )é   Údebounce_interval_secondsÚintÚevents_callbackz'Callable[[list[FileSystemEvent]], None]ÚreturnÚNone© )Úformats   "Ú@/usr/lib/python3/dist-packages/watchdog/utils/event_debouncer.pyÚ__annotate__ÚEventDebouncer.__annotate__   s)   € ÷ 
+ñ 
+à#&ð
+ð Að
+ð 
ñ	
+ó    c                	ó~   <€ \         SV `  4        Wn        W n        . V n        \
        P                  ! 4       V n        R # ©N)ÚsuperÚ__init__r   r   Ú_eventsÚ	threadingÚ	ConditionÚ_cond)Úselfr   r   Ú	__class__s   &&&€r   r   ÚEventDebouncer.__init__   s3   ø€ ô
 	‰ÑÔØ)BÔ&Ø.Ôà.0ˆŒÜ×(Ò(Ó*ˆŽ
r   c               ó    € V ^8„  d   QhRRRR/# )r   Úeventr   r   r   r   )r   s   "r   r   r   '   s   € ÷  ñ   /ð  °dñ  r   c                	óÒ   € V P                   ;_uu_ 4        V P                  P                  V4       V P                   P                  4        R R R 4       R #   + '       g   i     R # ; ir   )r   r   ÚappendÚnotify)r   r#   s   &&r   Úhandle_eventÚEventDebouncer.handle_event'   s9   € Ø�Z�Z‹ZØ�L‰L×Ñ Ô&Ø�J‰J×ÑÔ÷ �Z�ZŠZús   •6AÁA&	c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r   ,   s   € ÷  ñ  �dñ  r   c                	óº   <€ V P                   ;_uu_ 4        \        SV `	  4        V P                   P                  4        R R R 4       R #   + '       g   i     R # ; ir   )r   r   Ústopr&   )r   r    s   &€r   r,   ÚEventDebouncer.stop,   s1   ø€ Ø�Z�Z‹ZÜ‰G‰LŒNØ�J‰J×ÑÔ÷ �Z�ZŠZús   –)A	Á	A	c               ó   € V ^8„  d   QhRR/# r*   r   )r   s   "r   r   r   1   s   € ÷ -ñ -�Tñ -r   c                	óÆ  € V P                   ;_uu_ 4         V P                   P                  4        V P                  '       dF   V P                  4       '       d0   V P                   P                  V P                  R7      '       d   KD   V P                  4       '       g   M&V P                  p. V n        V P                  V4       K¯  RRR4       R#   + '       g   i     R# ; i)T)ÚtimeoutN)r   Úwaitr   Úshould_keep_runningr   r   )r   Úeventss   & r   ÚrunÚEventDebouncer.run1   s‘   € Ø�Z�Z‹ZØà—
‘
—‘Ô!à×1×1Ð1à×2Ñ2×4Ò4Ø#Ÿz™zŸ™°t×7UÑ7U˜×VÔVØ!à×/Ñ/×1Ò1ØàŸ™�Ø!�”Ø×$Ñ$ VÖ,÷! �Z�ZŠZús#   •-CÁCÁ)CÂCÂ'CÃC 	)r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r'   r,   r4   Ú__static_attributes__Ú__classcell__)r    s   @r   r	   r	      s+   ø† ñ÷
+ð 
+õ ÷
 ð  ÷
-ó -r   r	   )Ú
__future__r   Úloggingr   Útypingr   Úwatchdog.utilsr   r   Úwatchdog.eventsr   Ú	getLoggerr6   Úloggerr	   r   r   r   Ú<module>rD      s9   ðÝ "ã Û Ý  å %çÝå/à	×	Ò	˜8Ó	$€ô1-�Zö 1-r   