§
    ‚Štj{  ã                   ó�   — d dl mZ ddlmZ ddlmZ ddlmZmZ  ed¬¦  «        e G d	„ d
e¦  «        ¦   «         ¦   «         Z	d
gZ
dS )é    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringé   )ÚCONFIG_MAPPINGÚ
AutoConfigzgoogle/shieldgemma-2-4b-it)Ú
checkpointc                   ó¸   ‡ — e Zd ZU dZdZddddœZeedœZdZe	e
z  dz  ed	<   dZe	e
z  dz  ed
<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   ˆ fd„Zˆ xZS )ÚShieldGemma2ConfigaÖ  
    tie_word_embeddings (`bool`, *optional*):
        Whether to tie the word embeddings. Defaults to the value of `text_config.tie_word_embeddings` if not set.
    mm_tokens_per_image (`int`, *optional*, defaults to 256):
        The number of tokens per image embedding.
    boi_token_index (`int`, *optional*, defaults to 255999):
        The begin-of-image token index to wrap the image prompt.
    eoi_token_index (`int`, *optional*, defaults to 256000):
        The end-of-image token index to wrap the image prompt.

    Example:

    ```python
    >>> from transformers import ShieldGemma2ForConditionalGeneration, ShieldGemma2Config, SiglipVisionConfig, ShieldGemma2TextConfig

    >>> # Initializing a Siglip-like vision config
    >>> vision_config = SiglipVisionConfig()

    >>> # Initializing a ShieldGemma2 Text config
    >>> text_config = ShieldGemma2TextConfig()

    >>> # Initializing a ShieldGemma2 gemma-3-4b style configuration
    >>> configuration = ShieldGemma2Config(vision_config, text_config)

    >>> # Initializing a model from the gemma-3-4b style configuration
    >>> model = ShieldGemma2TextConfig(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úshieldgemma2Úimage_token_indexÚboi_token_indexÚeoi_token_index)Úimage_token_idÚboi_token_idÚeoi_token_id)Útext_configÚvision_configNr   r   é   Úmm_tokens_per_imageiÿç i è i   g{®Gáz”?Úinitializer_rangec                 ó®  •— t          | j        t          ¦  «        rK| j                             dd¦  «        | j        d<   t	          | j        d                  di | j        ¤Ž| _        n | j        €t	          d         ¦   «         | _        t          | j        t          ¦  «        rK| j                             dd¦  «        | j        d<   t	          | j        d                  di | j        ¤Ž| _        n | j        €t	          d         ¦   «         | _        |                     d¦  «        €t          | j        dd¦  «        | _         t          ¦   «         j	        di |¤Ž d S )NÚ
model_typeÚsiglip_vision_modelÚgemma3_textÚtie_word_embeddingsT© )
Ú
isinstancer   ÚdictÚgetr   r   Úgetattrr   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úy/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/shieldgemma2/configuration_shieldgemma2.pyr$   z ShieldGemma2Config.__post_init__J   sL  ø€ Ý�dÔ(­$Ñ/Ô/ð 	IØ/3Ô/A×/EÒ/EÀlÐTiÑ/jÔ/jˆDÔ˜|Ñ,Ý!/°Ô0BÀ<Ô0PÔ!QÐ!gÐ!gÐTXÔTfÐ!gÐ!gˆDÔÐØÔÐ'Ý!/Ð0EÔ!FÑ!HÔ!HˆDÔå�dÔ&­Ñ-Ô-ð 	?Ø-1Ô-=×-AÒ-AÀ,ÐP]Ñ-^Ô-^ˆDÔ˜\Ñ*Ý-¨dÔ.>¸|Ô.LÔMÐaÐaÐPTÔP`ÐaÐaˆDÔÐØÔÐ%Ý-¨mÔ<Ñ>Ô>ˆDÔØ�:Š:Ð+Ñ,Ô,Ð4Ý'.¨tÔ/?ÐAVÐX\Ñ']Ô']ˆDÔ$à�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úattribute_mapr	   Úsub_configsr   r    r   Ú__annotations__r   r   Úintr   r   r   r   Úfloatr$   Ú__classcell__)r'   s   @r(   r   r      sø   ø€ € € € € € ðð ð>  €Jà-Ø)Ø)ðð €Mð
 #-¸zÐJÐJ€Kà26€K�Ð(Ñ(¨4Ñ/Ð6Ð6Ñ6Ø48€M�4Ð*Ñ*¨TÑ1Ð8Ð8Ñ8Ø"Ð˜Ð"Ð"Ñ"Ø"€O�SÐ"Ð"Ñ"Ø"€O�SÐ"Ð"Ñ"Ø$Ð�sÐ$Ð$Ñ$Ø#Ð�uÐ#Ð#Ñ#ð(ð (ð (ð (ð (ð (ð (ð (ð (r)   r   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   Úautor   r	   r   Ú__all__r   r)   r(   ú<module>r9      s´   ðð" /Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð €Ð7Ð8Ñ8Ô8Øð?(ð ?(ð ?(ð ?(ð ?(Ð)ñ ?(ô ?(ñ „ñ 9Ô8ð?(ðD  Ð
 €€€r)   