ó
    Ãu„jæ  ã                  ó’   • S SK Jr  S SKJr  S SKJr  S SKr\R                  R                  SS9 " S S5      5       r
 " S	 S
\
5      rg)é    )Úannotations)Ú	monotonic)ÚCallableNT)Úangularc                  ó\   • \ rS rSrSr\S.SS jjrSS jrSS jrSS jr	\
SS j5       rS	rg
)ÚClocké	   z†An object to get relative time.

The `time` attribute of clock will return the time in seconds since the
Clock was created or reset.

©Úget_timec               ó:   • Xl         U R                  5       U l        g)zŽCreate a clock.

Args:
    get_time: A callable to get time in seconds.
    start: Start the clock (time is 0 unless clock has been started).
N©Ú	_get_timeÚ_start_time)Úselfr   s     Ú›C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\textual/clock.pyÚ__init__ÚClock.__init__   s   € ð "ŒØŸ>™>Ó+ˆÕó    c              #  ó(   #   • U R                   v •  g 7f©N)Útime©r   s    r   Ú__rich_repr__ÚClock.__rich_repr__   s   é € Ø�i‰i‹ùs   ‚c                ó(   • [        U R                  S9$ )z)Clone the Clock with an independent time.r
   )r   r   r   s    r   ÚcloneÚClock.clone   s   € ä˜dŸn™nÑ-Ð-r   c                ó.   • U R                  5       U l        g)zReset the clock.Nr   r   s    r   ÚresetÚClock.reset#   s   € àŸ>™>Ó+ˆÕr   c                ó<   • U R                  5       U R                  -
  $ ©zTime since creation or reset.r   r   s    r   r   Ú
Clock.time'   s   € ð �~‰~Ó $×"2Ñ"2Ñ2Ð2r   r   N)r   zCallable[[], float]ÚreturnÚNone)r$   zrich.repr.Result)r$   r   ©r$   r%   ©r$   Úfloat)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r   Úpropertyr   Ú__static_attributes__© r   r   r   r   	   s5   † ñð ;D÷ ,ôô.ô,ð ó3ó ó3r   r   c                  óf   ^ • \ rS rSrSrS	S
U 4S jjjrSS jrSS jrS
S jr\	SS j5       r
SrU =r$ )Ú	MockClocké-   z9A mock clock object where the time may be explicitly set.c                ó8   >^ • UT l         [        TT ]	  U 4S jS9  g)zConstruct a mock clock.c                 ó   >• T R                   $ r   ©Ú_timer   s   €r   Ú<lambda>Ú$MockClock.__init__.<locals>.<lambda>3   s	   ø€ ¨$¯*ª*r   r
   N)r7   Úsuperr   )r   r   Ú	__class__s   ` €r   r   ÚMockClock.__init__0   s   ù€ àˆŒ
Ü‰ÑÔ"4ÐÒ5r   c                ót   • [        U R                  5      nU R                  Ul        U R                  Ul        U$ )zEClone the mocked clock (clone will return the same time as original).)r2   r7   r   )r   Úclocks     r   r   ÚMockClock.clone5   s+   € ä˜$Ÿ*™*Ó%ˆØŸ.™.ˆŒØ—j‘jˆŒØˆr   c                ó   • g)z@A null-op because it doesn't make sense to reset a mocked clock.Nr0   r   s    r   r   ÚMockClock.reset<   s   � r   c                ó   • Xl         g)z:Set the time for the clock.

Args:
    time: Time to set.
Nr6   )r   r   s     r   Úset_timeÚMockClock.set_time?   s	   € ð �
r   c                ó"   • U R                  5       $ r"   )r   r   s    r   r   ÚMockClock.timeG   s   € ð �~‰~ÓÐr   r6   )g        )r   r(   r$   r%   )r$   r2   r&   r'   )r)   r*   r+   r,   r-   r   r   r   rC   r.   r   r/   Ú__classcell__)r;   s   @r   r2   r2   -   s4   ø† ÙC÷6ñ 6ô
ôOôð ó ó ö r   r2   )Ú
__future__r   r   r   Útypingr   Ú	rich.reprÚrichÚreprÚautor   r2   r0   r   r   Ú<module>rN      sF   ðÝ "å Ý ã ð ‡�‡�˜€Ð÷ 3ð  3ó ð 3ôF �õ  r   