File: //lib/python3/dist-packages/botocore/__pycache__/retryhandler.cpython-310.pyc
o
.&�a�5 � @ s$ d dl Z d dlZd dlZd dlmZ d dlmZmZmZm Z m
Z
e�e�Z
de e
eegiZdd� Zdd� Zd%d d
�Zd%dd�Zd%d
d�Zdd� Zdd� Zdd� ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG d!d"� d"e�ZG d#d$� d$e�ZdS )&� N)�crc32)�
ChecksumError�EndpointConnectionError�ReadTimeoutError�ConnectionError�ConnectionClosedError�GENERAL_CONNECTION_ERRORc C s: | dkr t � � } n
| dkrtd| ��| ||d }|S )a1 Calculate time to sleep based on exponential function.
The format is::
base * growth_factor ^ (attempts - 1)
If ``base`` is set to 'rand' then a random number between
0 and 1 will be used as the base.
Base must be greater than 0, otherwise a ValueError will be
raised.
�randr z0The 'base' param must be greater than 0, got: %s� )�random�
ValueError)�base�
growth_factor�attempts�
time_to_sleep� r �7/usr/lib/python3/dist-packages/botocore/retryhandler.py�delay_exponential'