
    b6ip                    &   d dl mZ d dlZd dlZddlmZmZ ddlmZ ddl	m
Z
 ddlmZmZ ej                  rddlmZmZ dd	lmZmZ dd
lmZmZ ddlmZmZ ddlmZmZ ddlmZm Z  ddl!m"Z"m#Z# ddl$m%Z%m&Z& ddl'm(Z(m)Z) ddl*m+Z+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z:m;Z; ddl<m=Z=m>Z> ddl?m@Z@mAZA ddlBmCZCmDZD ddlEmFZFmGZG ddlHmIZImJZJ ddlKmLZLmMZM ddlNmOZOmPZP ddlQmRZRmSZS ddlTmUZUmVZV  G d  d!      ZW G d" d#      ZXdd$d&d%ZYy)'    )annotationsN   )AsyncClientWrapperSyncClientWrapper)RequestOptions)ElevenLabsEnvironment)AsyncRawBaseElevenLabsRawBaseElevenLabs)AsyncAudioIsolationClientAudioIsolationClient)AsyncAudioNativeClientAudioNativeClient)AsyncConversationalAiClientConversationalAiClient)AsyncDubbingClientDubbingClient)AsyncForcedAlignmentClientForcedAlignmentClient)AsyncHistoryClientHistoryClient)AsyncModelsClientModelsClient)AsyncMusicClientMusicClient)$AsyncPronunciationDictionariesClientPronunciationDictionariesClient)AsyncSamplesClientSamplesClient)AsyncServiceAccountsClientServiceAccountsClient)AsyncSpeechToSpeechClientSpeechToSpeechClient)AsyncSpeechToTextClientSpeechToTextClient)AsyncStudioClientStudioClient)AsyncTextToDialogueClientTextToDialogueClient)AsyncTextToSoundEffectsClientTextToSoundEffectsClient)AsyncTextToSpeechClientTextToSpeechClient)AsyncTextToVoiceClientTextToVoiceClient)AsyncTokensClientTokensClient)AsyncUsageClientUsageClient)AsyncUserClient
UserClient)AsyncVoicesClientVoicesClient)AsyncWebhooksClientWebhooksClient)AsyncWorkspaceClientWorkspaceClientc                     e Zd ZdZdej
                  dddddd	 	 	 	 	 	 	 	 	 	 	 	 	 d"dZed#d       Zdd	 	 	 	 	 	 	 d$dZ	ddd%d	Z
ed
        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Z ed         Z!ed!        Z"y)&BaseElevenLabsa~  
    Use this class to access the different functions within the SDK. You can instantiate any number of clients with different configuration that will propagate to these functions.

    Parameters
    ----------
    base_url : typing.Optional[str]
        The base url to use for requests from the client.

    environment : ElevenLabsEnvironment
        The environment to use for requests from the client. from .environment import ElevenLabsEnvironment



        Defaults to ElevenLabsEnvironment.PRODUCTION



    api_key : typing.Optional[str]
    headers : typing.Optional[typing.Dict[str, str]]
        Additional headers to send with every request.

    timeout : typing.Optional[float]
        The timeout to be used, in seconds, for requests. By default the timeout is 240 seconds, unless a custom httpx client is used, in which case this default is not enforced.

    follow_redirects : typing.Optional[bool]
        Whether the default httpx client follows redirects or not, this is irrelevant if a custom httpx client is passed in.

    httpx_client : typing.Optional[httpx.Client]
        The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.

    Examples
    --------
    from elevenlabs import ElevenLabs

    client = ElevenLabs(
        api_key="YOUR_API_KEY",
    )
    NTbase_urlenvironmentapi_keyheaderstimeoutfollow_redirectshttpx_clientc          	     h   ||n|dn|j                   j                  }t        t        ||      ||||n.|t	        j
                  ||      nt	        j
                  |      |      | _        t        | j                        | _        d | _	        d | _
        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _         y N   r>   r?   )rB   rC   )rB   )r>   r@   rA   rD   rB   client_wrapper)!rB   readr   _get_base_urlhttpxClient_client_wrapperr
   _raw_client_history_text_to_sound_effects_audio_isolation_samples_text_to_speech_text_to_dialogue_speech_to_speech_text_to_voice_user_voices_studio_dubbing_models_audio_native_usage_pronunciation_dictionaries_service_accounts	_webhooks_speech_to_text_forced_alignment_conversational_ai_music_tokens
_workspace	selfr>   r?   r@   rA   rB   rC   rD   _defaulted_timeouts	            a/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/base_client.py__init__zBaseElevenLabs.__init__P   sD    *G|7KQ]QeQeQjQj 	  1"H+N' &  + &8K[\&89&
 
 -D<P<PQ8<QU#GK8<DHHLHLBF26
6:6:8<6:AE48]a(IM:>DHIMKO486:<@    c                    | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawBaseElevenLabs
        rP   rj   s    rl   with_raw_responsez BaseElevenLabs.with_raw_response        rn   request_optionsc               V    | j                   j                  |||      }|j                  S )a   
        Parameters
        ----------
        agent_id : str

        branch_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.delete_v_1_convai_agents_agent_id_branches_branch_id(
            agent_id="agent_id",
            branch_id="branch_id",
        )
        rt   rP   4delete_v_1_convai_agents_agent_id_branches_branch_iddatarj   agent_id	branch_idru   	_responses        rl   rx   zCBaseElevenLabs.delete_v_1_convai_agents_agent_id_branches_branch_id   s3    : $$YYi Z 
	 ~~rn   c               R    | j                   j                  |      }|j                  S )a  
        Add a generated voice to the voice library.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.save_a_voice_preview()
        rt   rP   save_a_voice_previewry   rj   ru   r}   s      rl   r   z#BaseElevenLabs.save_a_voice_preview   s'    , $$99/9Z	~~rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rQ   history.clientr   rO   )rj   r   s     rl   historyzBaseElevenLabs.history   +    == 5)9M9MNDM}}rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r*   rI   )rR   text_to_sound_effects.clientr*   rO   )rj   r*   s     rl   text_to_sound_effectsz$BaseElevenLabs.text_to_sound_effects   s1    &&.N*BRVRfRf*gD'***rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rS   audio_isolation.clientr   rO   )rj   r   s     rl   audio_isolationzBaseElevenLabs.audio_isolation   s0      (D$8H\H\$]D!$$$rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rT   samples.clientr   rO   )rj   r   s     rl   sampleszBaseElevenLabs.samples   r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r,   rI   )rU   text_to_speech.clientr,   rO   )rj   r,   s     rl   text_to_speechzBaseElevenLabs.text_to_speech   0    'A#5TEYEY#ZD ###rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r(   rI   )rV   text_to_dialogue.clientr(   rO   )rj   r(   s     rl   text_to_dialoguezBaseElevenLabs.text_to_dialogue   0    !!)E%9I]I]%^D"%%%rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r"   rI   )rW   speech_to_speech.clientr"   rO   )rj   r"   s     rl   speech_to_speechzBaseElevenLabs.speech_to_speech   r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r.   rI   )rX   text_to_voice.clientr.   rO   )rj   r.   s     rl   text_to_voicezBaseElevenLabs.text_to_voice  s0    &?"34CWCW"XD"""rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r4   rI   )rY   user.clientr4   rO   )rj   r4   s     rl   userzBaseElevenLabs.user	  s+    ::/#43G3GHDJzzrn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r6   rI   )rZ   voices.clientr6   rO   )rj   r6   s     rl   voiceszBaseElevenLabs.voices  +    <<3't7K7KLDL||rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r&   rI   )r[   studio.clientr&   rO   )rj   r&   s     rl   studiozBaseElevenLabs.studio  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r\   dubbing.clientr   rO   )rj   r   s     rl   dubbingzBaseElevenLabs.dubbing!  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r]   models.clientr   rO   )rj   r   s     rl   modelszBaseElevenLabs.models)  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r^   audio_native.clientr   rO   )rj   r   s     rl   audio_nativezBaseElevenLabs.audio_native1  s0    %>!2$BVBV!WD!!!rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r2   rI   )r_   usage.clientr2   rO   )rj   r2   s     rl   usagezBaseElevenLabs.usage9  +    ;;1%T5I5IJDK{{rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r`   !pronunciation_dictionaries.clientr   rO   )rj   r   s     rl   pronunciation_dictionariesz)BaseElevenLabs.pronunciation_dictionariesA  s1    ++3Z/N^b^r^r/sD,///rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r    rI   )ra   service_accounts.clientr    rO   )rj   r    s     rl   service_accountszBaseElevenLabs.service_accountsI  0    !!)F%:$J^J^%_D"%%%rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r8   rI   )rb   webhooks.clientr8   rO   )rj   r8   s     rl   webhookszBaseElevenLabs.webhooksQ  s+    >>!7+4;O;OPDN~~rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r$   rI   )rc   speech_to_text.clientr$   rO   )rj   r$   s     rl   speech_to_textzBaseElevenLabs.speech_to_textY  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rd   forced_alignment.clientr   rO   )rj   r   s     rl   forced_alignmentzBaseElevenLabs.forced_alignmenta  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )re   conversational_ai.clientr   rO   )rj   r   s     rl   conversational_aiz BaseElevenLabs.conversational_aii  s0    ""*H&<DL`L`&aD#&&&rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rf   music.clientr   rO   )rj   r   s     rl   musiczBaseElevenLabs.musicq  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r0   rI   )rg   tokens.clientr0   rO   )rj   r0   s     rl   tokenszBaseElevenLabs.tokensy  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r:   rI   )rh   workspace.clientr:   rO   )rj   r:   s     rl   	workspacezBaseElevenLabs.workspace  s+    ??"9-T=Q=QRDOrn   )r>   typing.Optional[str]r?   r   r@   r   rA   &typing.Optional[typing.Dict[str, str]]rB   typing.Optional[float]rC   typing.Optional[bool]rD   ztyping.Optional[httpx.Client])returnr
   r{   strr|   r   ru   typing.Optional[RequestOptions]r   Noneru   r   r   r   #__name__
__module____qualname____doc__r   
PRODUCTIONrm   propertyrr   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    rn   rl   r<   r<   (   s   %T *.-B-M-M(,:>*.266:1A '1A +	1A
 &1A 81A (1A 01A 41Af     dh  (+ A` 	 D Z^ 2   + + % %   $ $ & & & & # #           " "   0 0 & &   $ $ & & ' '      rn   r<   c                     e Zd ZdZdej
                  dddddd	 	 	 	 	 	 	 	 	 	 	 	 	 d"dZed#d       Zdd	 	 	 	 	 	 	 d$dZ	ddd%d	Z
ed
        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Z ed         Z!ed!        Z"y)&AsyncBaseElevenLabsa  
    Use this class to access the different functions within the SDK. You can instantiate any number of clients with different configuration that will propagate to these functions.

    Parameters
    ----------
    base_url : typing.Optional[str]
        The base url to use for requests from the client.

    environment : ElevenLabsEnvironment
        The environment to use for requests from the client. from .environment import ElevenLabsEnvironment



        Defaults to ElevenLabsEnvironment.PRODUCTION



    api_key : typing.Optional[str]
    headers : typing.Optional[typing.Dict[str, str]]
        Additional headers to send with every request.

    timeout : typing.Optional[float]
        The timeout to be used, in seconds, for requests. By default the timeout is 240 seconds, unless a custom httpx client is used, in which case this default is not enforced.

    follow_redirects : typing.Optional[bool]
        Whether the default httpx client follows redirects or not, this is irrelevant if a custom httpx client is passed in.

    httpx_client : typing.Optional[httpx.AsyncClient]
        The httpx client to use for making requests, a preconfigured client is used by default, however this is useful should you want to pass in any custom httpx configuration.

    Examples
    --------
    from elevenlabs import AsyncElevenLabs

    client = AsyncElevenLabs(
        api_key="YOUR_API_KEY",
    )
    NTr=   c          	     h   ||n|dn|j                   j                  }t        t        ||      ||||n.|t	        j
                  ||      nt	        j
                  |      |      | _        t        | j                        | _        d | _	        d | _
        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _         y rF   )!rB   rK   r   rL   rM   AsyncClientrO   r	   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   s	            rl   rm   zAsyncBaseElevenLabs.__init__  sH    *G|7KQ]QeQeQjQj 	  2"H+N' &  + ""+=P`a""+=>&
 
 2AUAUV=AVZ#LP=AIMMQMQGK7;
;?;?=A;?FJ9=bf(NR?CIMNRPT9=;?AErn   c                    | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawBaseElevenLabs
        rp   rq   s    rl   rr   z%AsyncBaseElevenLabs.with_raw_response  rs   rn   rt   c               r   K   | j                   j                  |||       d{   }|j                  S 7 w)a  
        Parameters
        ----------
        agent_id : str

        branch_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.delete_v_1_convai_agents_agent_id_branches_branch_id(
                agent_id="agent_id",
                branch_id="branch_id",
            )


        asyncio.run(main())
        rt   Nrw   rz   s        rl   rx   zHAsyncBaseElevenLabs.delete_v_1_convai_agents_agent_id_branches_branch_id  sB     J **__i ` 
 
	 ~~
s   "757c               n   K   | j                   j                  |       d{   }|j                  S 7 w)a%  
        Add a generated voice to the voice library.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.save_a_voice_preview()


        asyncio.run(main())
        rt   Nr   r   s      rl   r   z(AsyncBaseElevenLabs.save_a_voice_preview  s5     < **??P_?``	~~ as    535c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rQ   r   r   rO   )rj   r   s     rl   r   zAsyncBaseElevenLabs.history;  +    == :.d>R>RSDM}}rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r)   rI   )rR   r   r)   rO   )rj   r)   s     rl   r   z)AsyncBaseElevenLabs.text_to_sound_effectsC  s1    &&.S*GW[WkWk*lD'***rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rS   r   r   rO   )rj   r   s     rl   r   z#AsyncBaseElevenLabs.audio_isolationK  s0      (I$=TMaMa$bD!$$$rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rT   r   r   rO   )rj   r   s     rl   r   zAsyncBaseElevenLabs.samplesS  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r+   rI   )rU   r   r+   rO   )rj   r+   s     rl   r   z"AsyncBaseElevenLabs.text_to_speech[  0    'F#:$J^J^#_D ###rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r'   rI   )rV   r   r'   rO   )rj   r'   s     rl   r   z$AsyncBaseElevenLabs.text_to_dialoguec  0    !!)J%>dNbNb%cD"%%%rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r!   rI   )rW   r   r!   rO   )rj   r!   s     rl   r   z$AsyncBaseElevenLabs.speech_to_speechk  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r-   rI   )rX   r   r-   rO   )rj   r-   s     rl   r   z!AsyncBaseElevenLabs.text_to_voices  s0    &D"8H\H\"]D"""rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r3   rI   )rY   r   r3   rO   )rj   r3   s     rl   r   zAsyncBaseElevenLabs.user{  s+    ::4(8L8LMDJzzrn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r5   rI   )rZ   r   r5   rO   )rj   r5   s     rl   r   zAsyncBaseElevenLabs.voices  +    <<8,D<P<PQDL||rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r%   rI   )r[   r   r%   rO   )rj   r%   s     rl   r   zAsyncBaseElevenLabs.studio  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r\   r   r   rO   )rj   r   s     rl   r   zAsyncBaseElevenLabs.dubbing  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r]   r   r   rO   )rj   r   s     rl   r   zAsyncBaseElevenLabs.models  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r^   r   r   rO   )rj   r   s     rl   r   z AsyncBaseElevenLabs.audio_native  s0    %C!7tG[G[!\D!!!rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r1   rI   )r_   r   r1   rO   )rj   r1   s     rl   r   zAsyncBaseElevenLabs.usage  +    ;;6*$:N:NODK{{rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )r`   r   r   rO   )rj   r   s     rl   r   z.AsyncBaseElevenLabs.pronunciation_dictionaries  s1    ++3_/Scgcwcw/xD,///rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )ra   r   r   rO   )rj   r   s     rl   r   z$AsyncBaseElevenLabs.service_accounts  0    !!)K%?tOcOc%dD"%%%rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r7   rI   )rb   r   r7   rO   )rj   r7   s     rl   r   zAsyncBaseElevenLabs.webhooks  s+    >>!<0@T@TUDN~~rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r#   rI   )rc   r   r#   rO   )rj   r#   s     rl   r   z"AsyncBaseElevenLabs.speech_to_text  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rd   r   r   rO   )rj   r   s     rl   r   z$AsyncBaseElevenLabs.forced_alignment  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )re   r   r   rO   )rj   r   s     rl   r   z%AsyncBaseElevenLabs.conversational_ai  s1    ""*M&AQUQeQe&fD#&&&rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   rI   )rf   r   r   rO   )rj   r   s     rl   r   zAsyncBaseElevenLabs.music  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r/   rI   )rg   r   r/   rO   )rj   r/   s     rl   r   zAsyncBaseElevenLabs.tokens  r   rn   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r9   rI   )rh   r   r9   rO   )rj   r9   s     rl   r   zAsyncBaseElevenLabs.workspace  s+    ??">2$BVBVWDOrn   )r>   r   r?   r   r@   r   rA   r   rB   r   rC   r   rD   z"typing.Optional[httpx.AsyncClient])r   r	   r   r   r   r   rn   rl   r   r     s   %T *.-B-M-M(,:>*.26;?1F '1F +	1F
 &1F 81F (1F 01F 91Ff     dh(((+(A`(	(T `d B   + + % %   $ $ & & & & # #           " "   0 0 & &   $ $ & & ' '      rn   r   )r>   c                <    | | S ||j                   S t        d      )NzEPlease pass in either base_url or environment to construct the client)value	ExceptionrH   s     rl   rL   rL     s+    		    _``rn   )r>   r   r?   r   r   r   )Z
__future__r   typingrM   core.client_wrapperr   r   core.request_optionsr   r?   r   raw_base_clientr	   r
   TYPE_CHECKINGr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r!   r"   r   r#   r$   r   r%   r&   r   r'   r(   r   r)   r*   r   r+   r,   r   r-   r.   r   r/   r0   r   r1   r2   r   r3   r4   r   r5   r6   r   r7   r8   r   r9   r:   r<   r   rL   r   rn   rl   <module>r     s    #   F 0 . F	WN]AZA>;xAZXR>XeRO>;8>DG_ _Do od 7; arn   