
    iU                     D    d dl Z  G d d          Z G d de          ZdS )    Nc                   "    e Zd ZdZdedefdZdS )JitterzJitter interfacedurationreturnc                     t                      )a  Recalculate the given duration.
        see also: https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/

        Args:
            duration: the duration in seconds

        Returns:
            A new duration that the jitter amount is added
        )NotImplementedErrorselfr   s     V/root/projects/butler/venv/lib/python3.11/site-packages/slack_sdk/http_retry/jitter.pyrecalculatezJitter.recalculate   s     "###    N__name__
__module____qualname____doc__floatr    r   r   r   r      s<        
$E 
$e 
$ 
$ 
$ 
$ 
$ 
$r   r   c                   "    e Zd ZdZdedefdZdS )RandomJitterzRandom jitter implementationr   r   c                 .    |t          j                     z   S )N)randomr	   s     r   r   zRandomJitter.recalculate   s    &-//))r   Nr   r   r   r   r   r      s<        &&*E *e * * * * * *r   r   )r   r   r   r   r   r   <module>r      sj    $ $ $ $ $ $ $ $ * * * * *6 * * * * *r   