§
    šŠtj9  ã                   óf   — d Z ddlmZmZmZmZ ddlmZmZ ddl	m
Z
mZmZmZ  G d„ de
¦  «        ZdS )z&Util that calls Google Finance Search.é    )ÚAnyÚDictÚOptionalÚcast)Úconvert_to_secret_strÚget_from_dict_or_env)Ú	BaseModelÚ
ConfigDictÚ	SecretStrÚmodel_validatorc                   ó¨   — e Zd ZU dZdZeed<   dZee	         ed<    e
d¬¦  «        Z ed¬¦  «        ed	ed
efd„¦   «         ¦   «         Zded
efd„ZdS )ÚGoogleFinanceAPIWrappera`  Wrapper for SerpApi's Google Finance API

    You can create SerpApi.com key by signing up at: https://serpapi.com/users/sign_up.
    The wrapper uses the SerpApi.com python package:
    https://serpapi.com/integrations/python
    To use, you should have the environment variable ``SERPAPI_API_KEY``
    set with your API key, or pass `serp_api_key` as a named parameter
    to the constructor.
    Example:
        .. code-block:: python
        from langchain_community.utilities import GoogleFinanceAPIWrapper
        google_Finance = GoogleFinanceAPIWrapper()
        google_Finance.run('langchain')
    NÚserp_search_engineÚserp_api_keyÚforbid)ÚextraÚbefore)ÚmodeÚvaluesÚreturnc                 ó    — t          t          |dd¦  «        ¦  «        |d<   	 ddlm} n# t          $ r t	          d¦  «        ‚w xY w|}||d<   |S )z?Validate that api key and python package exists in environment.r   ÚSERPAPI_API_KEYr   )ÚSerpApiClientzigoogle-search-results is not installed. Please install it with `pip install google-search-results>=2.4.2`r   )r   r   Úserpapir   ÚImportError)Úclsr   r   r   s       új/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/utilities/google_finance.pyÚvalidate_environmentz,GoogleFinanceAPIWrapper.validate_environment    sŒ   € õ "7Ý  ¨Ð9JÑKÔKñ"
ô "
ˆˆ~Ñð	Ø-Ð-Ð-Ð-Ð-Ð-Ð-øåð 	ð 	ð 	Ýðñô ð ð	øøøð +ÐØ'9ˆÐ#Ñ$àˆs	   £* ªAÚqueryc                 óº  — t          t          | j        ¦  «        }d|                     ¦   «         |dœ}i }|                      |¦  «        }|                     ¦   «         }|sd|z   S |                     di ¦  «        }d|z   dz   }d|v rc|                     dg ¦  «        d         }|d	         }	|d
         }
|d         }|d         }|d         }|d|	› d�d|
› d�z   d|› d�z   d|› d�z   z  }n|dz  }|D ]i}|dk    s|dk    s|dk    rU||z  }|dz  }|t          ||         d         d
         ¦  «        z  }|dz  }|||         d         d         d         z  }|dz  }Œj|S )z-Run query through Google Finance with SerpapiÚgoogle_finance)ÚengineÚapi_keyÚqz"Nothing was found from the query: Úmarketsz
Query: ú
Úfutures_chainr   ÚstockÚpriceÚprice_movementÚ
percentageÚmovementzstock: zprice: zpercentage: z
movement: zNo summary information
ÚusÚasiaÚeuropez
: price = z, movement = )r   r   r   Úget_secret_valuer   Úget_dictÚgetÚstr)Úselfr   Úserpapi_api_keyÚparamsÚtotal_resultsÚclientr%   Úresr'   r(   r)   Útempr+   r,   Úkeys                  r   ÚrunzGoogleFinanceAPIWrapper.run6   sà  € å�y¨$Ô*;Ñ<Ô<ˆà&Ø&×7Ò7Ñ9Ô9Øð
ð 
ˆð ˆØ×(Ò(¨Ñ0Ô0ˆØŸšÑ)Ô)ˆàð 	@Ø7¸%Ñ?Ð?à×#Ò# I¨rÑ2Ô2ˆØ˜EÑ! DÑ(ˆà˜mÐ+Ð+Ø)×-Ò-¨o¸rÑBÔBÀ1ÔEˆMØ! 'Ô*ˆEØ! 'Ô*ˆEØ Ð!1Ô2ˆDØ˜lÔ+ˆJØ˜JÔ'ˆHØØ#˜%Ð#Ð#Ð#Ø%˜EÐ%Ð%Ð%ñ&à/ Ð/Ð/Ð/ñ0ð ,˜xÐ+Ð+Ð+ñ,ñˆCˆCð Ð-Ñ-ˆCàð 	ð 	ˆCØ�t’� ¨¢ °C¸8²O°OØ�s‘
�Ø�|Ñ#�Ø•s˜7 3œ<¨œ?¨7Ô3Ñ4Ô4Ñ4�Ø�Ñ&�Ø�w˜s”| A”Ð'7Ô8¸ÔDÑD�Ø�t‘�øàˆ
ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__annotations__r   r   r   r
   Úmodel_configr   Úclassmethodr   r   r3   r<   © r=   r   r   r   	   sÉ   € € € € € € ðð ð #Ð˜Ð"Ð"Ñ"Ø(,€L�(˜9Ô%Ð,Ð,Ñ,à�:Øðñ ô €Lð €_˜(Ð#Ñ#Ô#Øð¨$ð °3ð ð ð ñ „[ñ $Ô#ðð(-˜ð - ð -ð -ð -ð -ð -ð -r=   r   N)rA   Útypingr   r   r   r   Úlangchain_core.utilsr   r   Úpydanticr	   r
   r   r   r   rE   r=   r   ú<module>rI      s©   ðØ ,Ð ,à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FðZð Zð Zð Zð Z˜iñ Zô Zð Zð Zð Zr=   