§
     Âiß:  ã                  óz  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZ d dlZd dlmZ d dlmc mZ d dlmc mZ d dlmZ d dlmZ d dlmZ d d	lmZ  d d
lm!Z! d dlm"Z" d dl#Z$d dl%Z$	 d dl&m'Z' e'j(        Z(n# e)$ r dZ(Y nw xY wdZ*dZ+ej,        d„ ¦   «         Z- G d„ dej.        ¦  «        Z. G d„ dej/        ¦  «        Z/ej0         G d„ d¦  «        ¦   «         Z1dddddddœd<d$„Z2 e1¦   «         Z3e3 2                    ¦   «          d=d'„Z4d>d)„Z5d?d+„Z6d@d-„Z7dAd/„Z8dBd1„Z9dCd3„Z:dDd5„Z;dEd7„Z<dFd9„Z=dGd;„Z>dS )Hé    )ÚannotationsN)ÚAnyÚcast)ÚSequence)ÚIOBase)Úcredentials)Ú
exceptions)Úauth)Úclient_options)Úgapic_v1)Úoperations_v1)Úversionz0.0.0zgenai-pyz9https://generativelanguage.googleapis.com/$discovery/restc               #  óÄ   K  — t           j        j        } dt          j        v rd„ t           j        _        	 d V — | t           j        _        d S # | t           j        _        w xY w)NÚCOLAB_RELEASE_TAGc                 ó   — dS )N)NN© )ÚargsÚkwargss     úd/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/google/generativeai/client.pyú<lambda>z-patch_colab_gce_credentials.<locals>.<lambda>9   s   € À\€ ó    )r
   Ú_defaultÚ_get_gce_credentialsÚosÚenviron)Úget_gces    r   Úpatch_colab_gce_credentialsr   5   s^   è è € åŒmÔ0€GØ�bœjÐ(Ð(Ø-QÐ-Q�ŒÔ*ð5Øˆˆˆà-4�ŒÔ*Ð*Ð*ø¨W�ŒÔ*Ð4Ð4Ð4Ð4s   µA ÁAc                  ó>   ‡ — e Zd Zˆ fd„Zddd„Zddddddœdd„Zˆ xZS )ÚFileServiceClientc                óx   •— d | _         t          j        ¦   «         | _         t	          ¦   «         j        |i |¤Ž d S ©N)Ú_discovery_apiÚ	threadingÚlocalÚ_localÚsuperÚ__init__)Úselfr   r   Ú	__class__s      €r   r'   zFileServiceClient.__init__B   s<   ø€ Ø"ˆÔÝ”oÑ'Ô'ˆŒØ�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)r   r   Úmetadataú dict | Sequence[tuple[str, str]]c                ó¸  — | j         j        }|€t          d¦  «        ‚t          j                             t          j        ¦   «         d„ t          › d|› �t          |¦  «        ¬¦  «        }| 
                    ¦   «         \  }}|j                             ¦   «          |                     d¦  «        }t          j                             ||¬¦  «        | j        _        d S )NzaInvalid operation: Uploading to the File API requires an API key. Please provide a valid API key.c                ó
   — | |fS r!   r   )ÚrespÚcontents     r   r   z8FileServiceClient._setup_discovery_api.<locals>.<lambda>P   s
   € ¨D°'¨?€ r   z?version=v1beta&key=)ÚhttpÚpostprocÚuriÚheaderszutf-8)ÚdeveloperKey)Ú_client_optionsÚapi_keyÚ
ValueErrorÚgoogleapiclientr0   ÚHttpRequestÚhttplib2ÚHttpÚGENAI_API_DISCOVERY_URLÚdictÚexecuteÚcloseÚdecodeÚ	discoveryÚbuild_from_documentr%   Údiscovery_api)r(   r*   r6   ÚrequestÚresponser/   Údiscovery_docs          r   Ú_setup_discovery_apiz&FileServiceClient._setup_discovery_apiG   sØ   € ØÔ&Ô.ˆØˆ?ÝØsñô ð õ "Ô&×2Ò2Ý”‘”Ø:Ð:Ý*ÐIÐIÀÐIÐIÝ˜‘N”Nð	 3ñ 
ô 
ˆð $ŸOšOÑ-Ô-Ñˆ�'ØŒ×ÒÑÔÐàŸš wÑ/Ô/ˆÝ$3Ô$=×$QÒ$QØ¨ð %Rñ %
ô %
ˆŒÔ!Ð!Ð!r   NT)Ú	mime_typeÚnameÚdisplay_nameÚ	resumabler*   Úpathú)str | pathlib.Path | os.PathLike | IOBaserH   ú
str | NonerI   rJ   rK   ÚboolúSequence[tuple[str, str]]Úreturnúprotos.Filec               ó
  — | j         €|                      |¦  «         i }|�||d<   |�||d<   t          |t          ¦  «        r#t          j                             |||¬¦  «        }n"t          j                             |||¬¦  «        }| j        j	         
                    ¦   «                              d|i|¬¦  «        }	|D ]\  }
}||	j        |
<   Œ|	                     ¦   «         }|                      d|d         d         i¦  «        S )NrI   ÚdisplayName)ÚfdÚmimetyperK   )ÚfilenamerV   rK   Úfile)ÚbodyÚ
media_body)r"   rG   Ú
isinstancer   r8   r0   ÚMediaIoBaseUploadÚMediaFileUploadr%   rC   ÚmediaÚuploadr3   r>   Úget_file)r(   rL   rH   rI   rJ   rK   r*   rX   r^   rD   ÚkeyÚvalueÚresults                r   Úcreate_filezFileServiceClient.create_file\   s$  € ð ÔÐ&Ø×%Ò% hÑ/Ô/Ð/àˆØÐØˆD�‰LØÐ#Ø".ˆD�Ñå�d�FÑ#Ô#ð 	Ý#Ô(×:Ò:Ø )°yð ;ñ ô ˆEˆEõ $Ô(×8Ò8Ø¨	¸Yð 9ñ ô ˆEð ”+Ô+×1Ò1Ñ3Ô3×:Ò:ÀÈÀÐ[`Ð:ÑaÔaˆØ"ð 	)ð 	)‰JˆC�Ø#(ˆGŒO˜CÑ Ð Ø—’Ñ"Ô"ˆà�}Š}˜f f¨V¤n°VÔ&<Ð=Ñ>Ô>Ð>r   )r   )r*   r+   )rL   rM   rH   rN   rI   rN   rJ   rN   rK   rO   r*   rP   rQ   rR   )Ú__name__Ú
__module__Ú__qualname__r'   rG   rd   Ú__classcell__)r)   s   @r   r   r   A   s€   ø€ € € € € ð*ð *ð *ð *ð *ð

ð 
ð 
ð 
ð 
ð2 !%ØØ#'ØØ.0ð!?ð !?ð !?ð !?ð !?ð !?ð !?ð !?ð !?ð !?r   r   c                  ó   — e Zd Zd„ ZdS )ÚFileServiceAsyncClientc              �  ó$   K  — t          d¦  «        ‚)NzPThe `create_file` method is currently not supported for the asynchronous client.)ÚNotImplementedError)r(   r   r   s      r   rd   z"FileServiceAsyncClient.create_file�   s   è è € Ý!Ø^ñ
ô 
ð 	
r   N)re   rf   rg   rd   r   r   r   rj   rj   €   s#   € € € € € ð
ð 
ð 
ð 
ð 
r   rj   c                  ó¢   — e Zd ZU  ej        e¬¦  «        Zded<   dZded<    ej        e¬¦  «        Z	ded<   ddddddd	œdd„Z
d„ Zd„ Zdd„ZdS )Ú_ClientManager)Údefault_factoryzdict[str, Any]Úclient_configr   rP   Údefault_metadataÚclientsN©r6   r   Ú	transportr   Úclient_inforq   r6   rN   r   ú(ga_credentials.Credentials | dict | Nonert   r   ú8client_options_lib.ClientOptions | dict[str, Any] | Noneru   ú&gapic_v1.client_info.ClientInfo | NonerQ   ÚNonec               ó†  — t          |t          ¦  «        rt          j        |¦  «        }|€t          j        ¦   «         }t          t          j        |¦  «        }t          |dd¦  «        }|r|�t          d¦  «        ‚n3|st          j	        d¦  «        }|st          j	        d¦  «        }||_
        t          › dt          › �}|r#|j        r|xj        d|› �z  c_        n(||_        n t          j                             |¬¦  «        }||||d	œ}	d
„ |	                     ¦   «         D ¦   «         }	|	| _        || _        i | _        dS )a”  Initializes default client configurations using specified parameters or environment variables.

        If no API key has been provided (either directly, or on `client_options`) and the
        `GEMINI_API_KEY` environment variable is set, it will be used as the API key. If not,
        if the `GOOGLE_API_KEY` environement variable is set, it will be used as the API key.

        Note: Not all arguments are detailed below. Refer to the `*ServiceClient` classes in
        `google.ai.generativelanguage` for details on the other arguments.

        Args:
            transport: A string, one of: [`rest`, `grpc`, `grpc_asyncio`].
            api_key: The API-Key to use when creating the default clients (each service uses
                a separate client). This is a shortcut for `client_options={"api_key": api_key}`.
                If omitted, and the `GEMINI_API_KEY` or the `GOOGLE_API_KEY` environment variable
                are set, they will be used in this order of priority.
            default_metadata: Default (key, value) metadata pairs to send with every request.
                when using `transport="rest"` these are sent as HTTP headers.
        Nr6   z`Invalid configuration: Please set either `api_key` or `client_options['api_key']`, but not both.ÚGEMINI_API_KEYÚGOOGLE_API_KEYú/ú )Ú
user_agent)r   rt   r   ru   c                ó   — i | ]
\  }}|®||“ŒS r!   r   )Ú.0ra   rb   s      r   ú
<dictcomp>z,_ClientManager.configure.<locals>.<dictcomp>Ù   s#   € ÐaÐaÐa©
¨¨UÈuÐO`˜˜eÐO`ÐO`ÐO`r   )r[   r=   Úclient_options_libÚ	from_dictÚClientOptionsr   Úgetattrr7   r   Úgetenvr6   Ú
USER_AGENTÚ__version__r   r   ru   Ú
ClientInfoÚitemsrp   rq   rr   )
r(   r6   r   rt   r   ru   rq   Úhad_api_key_valuer   rp   s
             r   Ú	configurez_ClientManager.configure�   s‰  € õD �n¥dÑ+Ô+ð 	JÝ/Ô9¸.ÑIÔIˆNØÐ!Ý/Ô=Ñ?Ô?ˆNÝÕ0Ô>ÀÑOÔOˆÝ# N°I¸tÑDÔDÐàð 	-ØÐ"Ý Øvñô ð ð #ð
 ð 6õ œ)Ð$4Ñ5Ô5�àð 6õ œ)Ð$4Ñ5Ô5�à%,ˆNÔ"å"Ð2Ð2¥[Ð2Ð2ˆ
Øð 	QàÔ%ð 4ØÐ&Ô&Ð*:¨jÐ*:Ð*:Ñ:Ð&Ô&Ð&à)3�Ô&Ð&å"Ô.×9Ò9ÀZÐ9ÑPÔPˆKð 'Ø"Ø,Ø&ð	
ð 
ˆð bÐa°m×6IÒ6IÑ6KÔ6KÐaÑaÔaˆà*ˆÔØ 0ˆÔàˆŒˆˆr   c                óæ  ‡ — |dk    rt           }n“|dk    rt          }n…|                     d¦  «        rF|                     d¦  «        d         }t	          t
          |                     ¦   «         dz   ¦  «        }n*t	          t
          |                     ¦   «         dz   ¦  «        }‰ j        st          ¦   «          	 t          ¦   «         5   |di ‰ j        ¤Ž}d d d ¦  «         n# 1 swxY w Y   n # t          j        $ r}d|_        |‚d }~ww xY w‰ j        s|S d	„ }ˆ fd
„}t          j        |¦  «        D ]>\  }} |||¦  «        sŒt	          ||¦  «        } ||¦  «        }t!          |||¦  «         Œ?|S )NrX   Ú
file_asyncÚ_asyncÚ_r   ÚServiceAsyncClientÚServiceClient)a  
  No API_KEY or ADC found. Please either:
    - Set the `GOOGLE_API_KEY` environment variable.
    - Manually pass the key with `genai.configure(api_key=my_api_key)`.
    - Or set up Application Default Credentials, see https://ai.google.dev/gemini-api/docs/oauth for more information.c                ó´   — |                       d¦  «        rdS t          |¦  «        sdS dt          j        |¦  «        j                             ¦   «         vrdS dS )Nr‘   Fr*   T)Ú
startswithÚcallableÚinspectÚ	signatureÚ
parametersÚkeys)rI   Úfs     r   Úkeepz(_ClientManager.make_client.<locals>.keepþ   s]   € Ø�Š˜sÑ#Ô#ð Ø�uå˜A‘;”;ð Ø�uà¥Ô!2°1Ñ!5Ô!5Ô!@×!EÒ!EÑ!GÔ!GÐGÐGØ�uà�4r   c                ó   •‡ — ddœˆ ˆfd„
}|S )Nr   )r*   c                ód   •— t          | ¦  «        t          ‰j        ¦  «        z   }  ‰|i |¤d| i¤ŽS )Nr*   )Úlistrq   )r*   r   r   r›   r(   s      €€r   ÚcallzN_ClientManager.make_client.<locals>.add_default_metadata_wrapper.<locals>.call  s>   ø€ Ý ™>œ>­D°Ô1FÑ,GÔ,GÑG�Ø�q˜$Ð< &Ð<Ð<°8Ð<Ð<Ð<Ð<r   r   )r›   r    r(   s   ` €r   Úadd_default_metadata_wrapperz@_ClientManager.make_client.<locals>.add_default_metadata_wrapper
  s6   øø€ Ø%'ð =ð =ð =ð =ð =ð =ð =ð =ð ˆKr   r   )r   rj   ÚendswithÚsplitr†   ÚglmÚtitlerp   r�   r   Úga_exceptionsÚDefaultCredentialsErrorr   rq   r—   Ú
getmembersÚsetattr)	r(   rI   ÚclsÚclientÚerœ   r¡   rb   r›   s	   `        r   Úmake_clientz_ClientManager.make_clientà   sù  ø€ Ø�6Š>ˆ>Ý#ˆCˆCØ�\Ò!Ð!Ý(ˆCˆCØ�]Š]˜8Ñ$Ô$ð 	?Ø—:’:˜c‘?”? 1Ô%ˆDÝ�#˜tŸzšz™|œ|Ð.BÑBÑCÔCˆCˆCå�#˜tŸzšz™|œ|¨oÑ=Ñ>Ô>ˆCð Ô!ð 	Ý‰KŒKˆKð
	Ý,Ñ.Ô.ð 3ð 3Ø˜Ð2Ð2˜tÔ1Ð2Ð2�ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3øøåÔ4ð 	ð 	ð 	ðˆAŒFð ˆGøøøøð	øøøð Ô$ð 	ØˆMð
	ð 
	ð 
	ð	ð 	ð 	ð 	ð 	õ #Ô-¨cÑ2Ô2ð 	%ð 	%‰KˆD�%Ø�4˜˜eÑ$Ô$ð ØÝ˜ Ñ%Ô%ˆAØ,Ð,¨QÑ/Ô/ˆAÝ�F˜D !Ñ$Ô$Ð$Ð$àˆs<   Â9C- ÃC!ÃC- Ã!C%Ã%C- Ã(C%Ã)C- Ã-D
Ã<	DÄD
c                óØ   — |                      ¦   «         }|dk    r|                      ¦   «         S | j                             |¦  «        }|€|                      |¦  «        }|| j        |<   |S ©NÚ
operations)ÚlowerÚget_default_operations_clientrr   Úgetr­   )r(   rI   r«   s      r   Úget_default_clientz!_ClientManager.get_default_client  sj   € Ø�zŠz‰|Œ|ˆØ�<ÒÐØ×5Ò5Ñ7Ô7Ð7à”×!Ò! $Ñ'Ô'ˆØˆ>Ø×%Ò% dÑ+Ô+ˆFØ!'ˆDŒL˜ÑØˆr   úoperations_v1.OperationsClientc                ó–   — | j                              dd ¦  «        }|€+|                      d¦  «        }|j        j        }|| j         d<   |S )Nr°   ÚModel)rr   r³   r´   Ú
_transportÚoperations_client)r(   r«   Úmodel_clients      r   r²   z,_ClientManager.get_default_operations_client%  sM   € Ø”×!Ò! ,°Ñ5Ô5ˆØˆ>Ø×2Ò2°7Ñ;Ô;ˆLØ!Ô,Ô>ˆFØ)/ˆDŒL˜Ñ&Øˆr   )r6   rN   r   rv   rt   rN   r   rw   ru   rx   rq   rP   rQ   ry   ©rQ   rµ   )re   rf   rg   ÚdataclassesÚfieldr=   rp   Ú__annotations__rq   rr   r�   r­   r´   r²   r   r   r   rn   rn   ‡   sØ   € € € € € € à$5 KÔ$5ÀdÐ$KÑ$KÔ$K€MÐKÐKÐKÑKØ24ÐÐ4Ð4Ð4Ñ4Ø/˜kÔ/ÀÐEÑEÔE€GÐEÐEÐEÑEð
 #Ø@Dð !%ØSWØ>BØ68ðQð Qð Qð Qð Qð Qðf8ð 8ð 8ðt	ð 	ð 	ðð ð ð ð ð r   rn   r   rs   r6   rN   r   rv   rt   r   ú.client_options_lib.ClientOptions | dict | Noneru   rx   rq   rP   c                óB   — t                                | |||||¬¦  «        S )a�  Captures default client configuration.

    If no API key has been provided (either directly, or on `client_options`) and the
    `GOOGLE_API_KEY` environment variable is set, it will be used as the API key.

    Note: Not all arguments are detailed below. Refer to the `*ServiceClient` classes in
    `google.ai.generativelanguage` for details on the other arguments.

    Args:
        transport: A string, one of: [`rest`, `grpc`, `grpc_asyncio`].
        api_key: The API-Key to use when creating the default clients (each service uses
            a separate client). This is a shortcut for `client_options={"api_key": api_key}`.
            If omitted, and the `GOOGLE_API_KEY` environment variable is set, it will be
            used.
        default_metadata: Default (key, value) metadata pairs to send with every request.
            when using `transport="rest"` these are sent as HTTP headers.
    rs   )Ú_client_managerr�   rs   s         r   r�   r�   .  s3   € õ> ×$Ò$ØØØØ%ØØ)ð %ñ ô ð r   rQ   úglm.CacheServiceClientc                 ó6   — t                                d¦  «        S )NÚcache©rÁ   r´   r   r   r   Úget_default_cache_clientrÆ   [  ó   € Ý×-Ò-¨gÑ6Ô6Ð6r   úglm.FilesServiceClientc                 ó6   — t                                d¦  «        S )NrX   rÅ   r   r   r   Úget_default_file_clientrÊ   _  s   € Ý×-Ò-¨fÑ5Ô5Ð5r   úglm.FilesServiceAsyncClientc                 ó6   — t                                d¦  «        S )Nr�   rÅ   r   r   r   Úget_default_file_async_clientrÍ   c  ó   € Ý×-Ò-¨lÑ;Ô;Ð;r   úglm.GenerativeServiceClientc                 ó6   — t                                d¦  «        S )NÚ
generativerÅ   r   r   r   Úget_default_generative_clientrÒ   g  rÎ   r   ú glm.GenerativeServiceAsyncClientc                 ó6   — t                                d¦  «        S )NÚgenerative_asyncrÅ   r   r   r   Ú#get_default_generative_async_clientrÖ   k  ó   € Ý×-Ò-Ð.@ÑAÔAÐAr   rµ   c                 ó6   — t                                d¦  «        S r¯   rÅ   r   r   r   r²   r²   o  rÎ   r   úglm.ModelServiceAsyncClientc                 ó6   — t                                d¦  «        S )NÚmodelrÅ   r   r   r   Úget_default_model_clientrÜ   s  rÇ   r   úglm.RetrieverClientc                 ó6   — t                                d¦  «        S )NÚ	retrieverrÅ   r   r   r   Úget_default_retriever_clientrà   w  s   € Ý×-Ò-¨kÑ:Ô:Ð:r   úglm.RetrieverAsyncClientc                 ó6   — t                                d¦  «        S )NÚretriever_asyncrÅ   r   r   r   Ú"get_default_retriever_async_clienträ   {  s   € Ý×-Ò-Ð.?Ñ@Ô@Ð@r   úglm.PermissionServiceClientc                 ó6   — t                                d¦  «        S )NÚ
permissionrÅ   r   r   r   Úget_default_permission_clientrè     rÎ   r   ú glm.PermissionServiceAsyncClientc                 ó6   — t                                d¦  «        S )NÚpermission_asyncrÅ   r   r   r   Ú#get_default_permission_async_clientrì   ƒ  r×   r   )r6   rN   r   rv   rt   rN   r   r¿   ru   rx   rq   rP   )rQ   rÂ   )rQ   rÈ   )rQ   rË   )rQ   rÏ   )rQ   rÓ   r»   )rQ   rÙ   )rQ   rÝ   )rQ   rá   )rQ   rå   )rQ   ré   )?Ú
__future__r   r   Ú
contextlibr—   r¼   Úpathlibr#   Útypingr   r   Úcollections.abcr   r:   Úior   Úgoogle.ai.generativelanguageÚaiÚgenerativelanguager¤   Úgoogle.generativeai.protosÚgenerativeaiÚprotosÚgoogle.authr   Úga_credentialsr	   r¦   Úgoogler
   Úgoogle.api_corer   rƒ   r   r   Úgoogleapiclient.httpr8   Úgoogleapiclient.discoveryÚgoogle.generativeair   r‰   ÚImportErrorrˆ   r<   Úcontextmanagerr   r   rj   Ú	dataclassrn   r�   rÁ   rÆ   rÊ   rÍ   rÒ   rÖ   r²   rÜ   rà   rä   rè   rì   r   r   r   ú<module>r     s¯  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø €€€Ø Ð Ð Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ø $Ð $Ð $Ð $Ð $Ð $Ø )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð Ø  Ð  Ð  Ð  ðØ+Ð+Ð+Ð+Ð+Ð+àÔ%€K€KøØð ð ð Ø€K€K€Kðøøøð €
ð  VÐ ð Ôð5ð 5ñ Ôð5ð<?ð <?ð <?ð <?ð <?˜Ô-ñ <?ô <?ð <?ð~
ð 
ð 
ð 
ð 
˜SÔ7ñ 
ô 
ð 
ð Ôðcð cð cð cð cñ cô cñ ÔðcðP Ø<@ð !ØEIØ:>Ø24ð&ð &ð &ð &ð &ð &ðR !�.Ñ"Ô"€Ø × Ò Ñ Ô Ð ð7ð 7ð 7ð 7ð6ð 6ð 6ð 6ð<ð <ð <ð <ð<ð <ð <ð <ðBð Bð Bð Bð<ð <ð <ð <ð7ð 7ð 7ð 7ð;ð ;ð ;ð ;ðAð Að Að Að<ð <ð <ð <ðBð Bð Bð Bð Bð Bs   Á6B ÂBÂB