Ë
    qPêjŠ  ã                   óD   — d dl mZ d dlmZ  G d„ d«      Z G d„ d«      Zy)é    )ÚClientError)Úget_service_module_namec                   ó"   — e Zd ZeZd„ Zd„ Zd„ Zy)ÚBaseClientExceptionsc                 ó   — || _         y)a  Base class for exceptions object on a client

        :type code_to_exception: dict
        :param code_to_exception: Mapping of error codes (strings) to exception
            class that should be raised when encountering a particular
            error code.
        N)Ú_code_to_exception)ÚselfÚcode_to_exceptions     úZ/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/botocore/errorfactory.pyÚ__init__zBaseClientExceptions.__init__   s   € ð #4ˆÕó    c                 óN   — | j                   j                  || j                  «      S )aN  Retrieves the error class based on the error code

        This is helpful for identifying the exception class needing to be
        caught based on the ClientError.parsed_reponse['Error']['Code'] value

        :type error_code: string
        :param error_code: The error code associated to a ClientError exception

        :rtype: ClientError or a subclass of ClientError
        :returns: The appropriate modeled exception class for that error
            code. If the error code does not match any of the known
            modeled exceptions then return a generic ClientError.
        )r   Úgetr   )r	   Ú
error_codes     r   Ú	from_codezBaseClientExceptions.from_code   s#   € ð ×&Ñ&×*Ñ*¨:°t×7GÑ7GÓHÐHr   c           	      ó²   — | j                   j                  «       D �cg c]  }|j                  ‘Œ }}t        | › d|› ddj	                  |«      › �«      ‚c c}w )Nz object has no attribute z. Valid exceptions are: z, )r   ÚvaluesÚ__name__ÚAttributeErrorÚjoin)r	   ÚnameÚexception_clsÚexception_cls_namess       r   Ú__getattr__z BaseClientExceptions.__getattr__.   sr   € ð "&×!8Ñ!8×!?Ñ!?Ó!Aö
àð ×"Ó"ð
Ðð 
ô ØˆvÐ.¨t¨fð 5&Ø&*§i¡iÐ0CÓ&DÐ%EðGó
ð 	
ùò	
s   �AN)r   Ú
__module__Ú__qualname__r   r   r   r   © r   r   r   r      s   „ Ø€Kò4òIó 
r   r   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚClientExceptionsFactoryc                 ó   — i | _         y )N)Ú_client_exceptions_cache)r	   s    r   r   z ClientExceptionsFactory.__init__:   s
   € Ø(*ˆÕ%r   c                 ó”   — |j                   }|| j                  vr | j                  |«      }|| j                  |<   | j                  |   S )aŠ  Creates a ClientExceptions object for the particular service client

        :type service_model: botocore.model.ServiceModel
        :param service_model: The service model for the client

        :rtype: object that subclasses from BaseClientExceptions
        :returns: The exceptions object of a client that can be used
            to grab the various different modeled exceptions.
        )Úservice_namer!   Ú_create_client_exceptions)r	   Úservice_modelr#   Úclient_exceptionss       r   Úcreate_client_exceptionsz0ClientExceptionsFactory.create_client_exceptions=   sO   € ð %×1Ñ1ˆØ˜t×<Ñ<Ñ<Ø $× >Ñ >¸}Ó MÐØ:KˆD×)Ñ)¨,Ñ7Ø×,Ñ,¨\Ñ:Ð:r   c                 ó  — i }i }|j                   D ]H  }t        |j                  «      }t        |t        fi «      }|||<   t        |j
                  «      }|||<   ŒJ t        t        |«      dz   «      }t        |t        f|«      }	 |	|«      S )NÚ
Exceptions)Úerror_shapesÚstrr   Útyper   r   r   r   )
r	   r%   Ú	cls_propsr
   Úerror_shapeÚexception_namer   ÚcodeÚcls_nameÚclient_exceptions_clss
             r   r$   z1ClientExceptionsFactory._create_client_exceptionsM   s¢   € Øˆ	ØÐØ(×5Ñ5ò 	4ˆKÜ  ×!1Ñ!1Ó2ˆNÜ  ´+°ÀÓDˆMØ(5ˆI�nÑ%Ü�{×-Ñ-Ó.ˆDØ&3Ð˜dÒ#ð	4ô Ô.¨}Ó=ÀÑLÓMˆÜ $ØÔ+Ð-¨yó!
Ðñ %Ð%6Ó7Ð7r   N)r   r   r   r   r'   r$   r   r   r   r   r   9   s   „ ò+ò;ó 8r   r   N)Úbotocore.exceptionsr   Úbotocore.utilsr   r   r   r   r   r   ú<module>r5      s"   ðõ ,Ý 2÷%
ñ %
÷P!8ò !8r   