o
    "iv                     @   s	  d dl Z d dlZd dlmZmZ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
mZ ddl
mZ ddlmZmZ edZ	d^deeeef ef deeeef  deeef fddZ	d^deeeef ef deeeef  deeef fddZ	d^deeeef ef deeeef  deeef fddZ	d^deeeef ef deeeef  deeef fddZ	d^deeeef ef deeeef  deeef fddZ 	d^deeeef ef deeeef  deeef fddZ!	d^dedeeeef ef deeeef  deeef fddZ"	d^dedeeeef ef deeeef  deeef fd d!Z#	d^dedeeeef ef deeeef  deeef fd"d#Z$	d^dedeeeef ef deeeef  deeef fd$d%Z%	d^deeeef ef deeeef  deeef fd&d'Z&	d^deeeef ef deeeef  deeef fd(d)Z'	d^deeeef ef deeeef  deeef fd*d+Z(	d^deeeef ef deeeef  deeef fd,d-Z)	d^deeeef ef deeeef  deeef fd.d/Z*	d^deeeef ef deeeef  deeef fd0d1Z+	d^dedeeeef ef deeeef  deeef fd2d3Z,	d^dedeeeef ef deeeef  deeef fd4d5Z-	d^deeeef ef deeeef  deeef fd6d7Z.	d^deeeef ef deeeef  deeef fd8d9Z/	d^deeeef ef deeeef  deeef fd:d;Z0	d^deeeef ef deeeef  deeef fd<d=Z1	d^deeeef ef deeeef  deeef fd>d?Z2	d^deeeef ef deeeef  deeef fd@dAZ3	d^deeeef ef deeeef  deeef fdBdCZ4	d^deeeef ef deeeef  deeef fdDdEZ5	d^deeeef ef deeeef  deeef fdFdGZ6	d^deeeef ef deeeef  deeef fdHdIZ7	d^deeeef ef deeeef  deeef fdJdKZ8	d^deeeef ef deeeef  deeef fdLdMZ9	d^deeeef ef deeeef  deeef fdNdOZ:	d^deeeef ef deeeef  deeef fdPdQZ;	d^deeeef ef deeeef  deeef fdRdSZ<	d^deeeef ef deeeef  deeef fdTdUZ=	d^dedeeeef ef deeeef  deeef fdVdWZ>	d^dedeeeef ef deeeef  deeef fdXdYZ?G dZd[ d[e	j@ZAG d\d] d]e	j@ZBdS )_    N)AnyOptionalUnion)	urlencode   )_api_module)_common)_transformers)types)BaseApiClient)get_value_by_path)set_value_by_path)
AsyncPagerPagerzgoogle_genai.cachesfrom_objectparent_objectreturnc                 C   s   i }t | dgd urt|dgt | dg t | dgd ur!tdt | dgd ur-tdt | dgd ur9tdt | d	gd urEtd
t | dgd urQtdt | dgd ur]td|S )Napi_keyapiKeyapi_key_configz8api_key_config parameter is not supported in Gemini API.	auth_typez3auth_type parameter is not supported in Gemini API.google_service_account_configzGgoogle_service_account_config parameter is not supported in Gemini API.http_basic_auth_configz@http_basic_auth_config parameter is not supported in Gemini API.oauth_configz6oauth_config parameter is not supported in Gemini API.oidc_configz5oidc_config parameter is not supported in Gemini API.getvsetv
ValueErrorr   r   	to_object r!   X/var/www/html/crm_dreinet/venv_linux/lib/python3.10/site-packages/google/genai/caches.py_AuthConfig_to_mldev$   s(   r#   c                 C   sl   i }t | dgd urt|dgt | dg t | dgd ur!tdt | dgd ur4t|dgt | dg |S )Ndatadisplay_name6display_name parameter is not supported in Gemini API.	mime_typemimeTyper   r   r!   r!   r"   _Blob_to_mldevF   s   r)   c                    b   i  t | dgd urt dg fddt | dgD  t | dgd ur/t dgt | dg  S )Npartsc                       g | ]}t | qS r!   )_Part_to_mldev.0itemr    r!   r"   
<listcomp>`       z%_Content_to_mldev.<locals>.<listcomp>roler   r   r   r   r!   r1   r"   _Content_to_mldevW      

	r7   c                    r*   )Nr+   c                    r,   r!   )_Part_to_vertexr.   r1   r!   r"   r2   u   r3   z&_Content_to_vertex.<locals>.<listcomp>r4   r5   r6   r!   r1   r"   _Content_to_vertexl   r8   r:   c              	      s^  i  t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur;t|dgt | dg t | dgd urXt|dg fddtt | dgD  t | d	gd urqt|d
gttt | d	g  t | dgd urt|dg fddt | dgD  t | dgd urt|dgtt | dg  t | dgd urtd S )Nttlexpire_time
expireTimer%   displayNamecontentsc                    r,   r!   )r7   r.   r1   r!   r"   r2      r3   z7_CreateCachedContentConfig_to_mldev.<locals>.<listcomp>system_instructionsystemInstructiontoolsc                    r,   r!   )_Tool_to_mldevr.   r1   r!   r"   r2      r3   tool_config
toolConfigkms_key_namez6kms_key_name parameter is not supported in Gemini API.)r   r   t
t_contentsr7   	t_content_ToolConfig_to_mldevr   r6   r!   r1   r"   #_CreateCachedContentConfig_to_mldev   sP   
	

	rK   c              	      sn  i  t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur;t|dgt | dg t | dgd urXt|dg fddtt | dgD  t | d	gd urqt|d
gttt | d	g  t | dgd urt|dg fddt | dgD  t | dgd urt|dgtt | dg  t | dgd urt|ddgt | dg  S )Nr;   r<   r=   r%   r>   r?   c                    r,   r!   )r:   r.   r1   r!   r"   r2      r3   z8_CreateCachedContentConfig_to_vertex.<locals>.<listcomp>r@   rA   rB   c                    r,   r!   )_Tool_to_vertexr.   r1   r!   r"   r2      r3   rD   rE   rF   encryption_spec
kmsKeyName)r   r   rG   rH   r:   rI   _ToolConfig_to_vertexr6   r!   r1   r"   $_CreateCachedContentConfig_to_vertex   sX   
	

	
rP   
api_clientc              	   C   X   i }t |dgd urt|dgt| t |dg t |dgd ur*tt |dg| |S Nmodelconfig)r   r   rG   t_caches_modelrK   rQ   r   r   r    r!   r!   r"   '_CreateCachedContentParameters_to_mldev      rX   c              	   C   rR   rS   )r   r   rG   rV   rP   rW   r!   r!   r"   (_CreateCachedContentParameters_to_vertex  rY   rZ   c              	   C   8   i }t |dgd urt|ddgt| t |dg |S Nname_urlr   r   rG   t_cached_content_namerW   r!   r!   r"   '_DeleteCachedContentParameters_to_mldev!     ra   c              	   C   r[   r\   r_   rW   r!   r!   r"   (_DeleteCachedContentParameters_to_vertex1  rb   rc   c                 C   .   i }t | dgd urt|dgt | dg |S NsdkHttpResponsesdk_http_responser5   r   r!   r!   r"   '_DeleteCachedContentResponse_from_mldevA     rh   c                 C   rd   re   r5   r   r!   r!   r"   (_DeleteCachedContentResponse_from_vertexN  ri   rj   c                 C   sl   i }t | dgd urtdt | dgd ur!t|dgt | dg t | dgd ur4t|dgt | dg |S )Nr%   r&   file_urifileUrir'   r(   )r   r   r   r   r!   r!   r"   _FileData_to_mldev[  s   rm   c                 C   s   i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur;t|dgt | dg t | dgd urGtdt | dgd urStd|S )Nidargsr]   partial_argsz6partial_args parameter is not supported in Gemini API.will_continuez7will_continue parameter is not supported in Gemini API.r   r   r!   r!   r"   _FunctionCall_to_mldevl  s   rr   c                 C   sl   i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur4td|S )Nallowed_function_namesallowedFunctionNamesmodestream_function_call_argumentszHstream_function_call_arguments parameter is not supported in Gemini API.r   r   r!   r!   r"   _FunctionCallingConfig_to_mldev  s   
rw   c                 C   s  i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur;t|dgt | dg t | dgd urNt|dgt | dg t | dgd urat|dgt | dg t | dgd urtt|dgt | dg t | d	gd urtd
|S )Ndescriptionr]   
parametersparameters_json_schemaparametersJsonSchemaresponseresponse_json_schemaresponseJsonSchemabehaviorz1behavior parameter is not supported in Vertex AI.r   r   r!   r!   r"   _FunctionDeclaration_to_vertex  s0   

r   c              	   C   r[   r\   r_   rW   r!   r!   r"   $_GetCachedContentParameters_to_mldev  rb   r   c              	   C   r[   r\   r_   rW   r!   r!   r"   %_GetCachedContentParameters_to_vertex  rb   r   c                 C   sZ   i }t | dgd urt|dgtt | dg| t | dgd ur+t|dgt | dg |S )Nauth_config
authConfigenable_widgetenableWidget)r   r   r#   r   r!   r!   r"   _GoogleMaps_to_mldev  s   r   c                 C   s   i }t | dgd urt|dgt | dg t | dgd ur!tdt | dgd ur-tdt | dgd ur@t|dgt | dg |S )	Nsearch_typessearchTypesblocking_confidencez=blocking_confidence parameter is not supported in Gemini API.exclude_domainsz9exclude_domains parameter is not supported in Gemini API.time_range_filtertimeRangeFilterr   r   r!   r!   r"   _GoogleSearch_to_mldev  s    r   c                 C   X   i }t | dgd urt|ddgt | dg t | dgd ur*t|ddgt | dg |S N	page_size_querypageSize
page_token	pageTokenr5   r   r!   r!   r"   "_ListCachedContentsConfig_to_mldev     
r   c                 C   r   r   r5   r   r!   r!   r"   #_ListCachedContentsConfig_to_vertex!  r   r   c                 C   *   i }t | dgd urtt | dg| |S NrU   )r   r   r   r!   r!   r"   &_ListCachedContentsParameters_to_mldev6  s   r   c                 C   r   r   )r   r   r   r!   r!   r"   '_ListCachedContentsParameters_to_vertexA  s   r   c                 C      i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur@t|dgdd t | dgD  |S )	Nrf   rg   nextPageTokennext_page_tokencachedContentscached_contentsc                 S      g | ]}|qS r!   r!   r.   r!   r!   r"   r2   _      z:_ListCachedContentsResponse_from_mldev.<locals>.<listcomp>r5   r   r!   r!   r"   &_ListCachedContentsResponse_from_mldevN     r   c                 C   r   )	Nrf   rg   r   r   r   r   c                 S   r   r!   r!   r.   r!   r!   r"   r2   v  r   z;_ListCachedContentsResponse_from_vertex.<locals>.<listcomp>r5   r   r!   r!   r"   '_ListCachedContentsResponse_from_vertexe  r   r   c                 C   s2  i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur;t|dgt | dg t | dgd urQt|dgtt | dg| t | d	gd urgt|d
gtt | d	g| t | dgd urzt|dgt | dg t | dgd urt|dgtt | dg| t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg |S )Nmedia_resolutionmediaResolutioncode_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatatextthoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata	tool_calltoolCalltool_responsetoolResponsepart_metadatapartMetadata)r   r   rm   rr   r)   r   r!   r!   r"   r-   |  sp   


r-   c                 C   s  i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur;t|dgt | dg t | dgd urNt|dgt | dg t | d	gd urat|d
gt | d	g t | dgd urtt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urt|dgt | dg t | dgd urtdt | dgd urtdt | dgd urtd|S )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   z2tool_call parameter is not supported in Vertex AI.r   z6tool_response parameter is not supported in Vertex AI.r   z6part_metadata parameter is not supported in Vertex AI.r   r   r!   r!   r"   r9     sX   


r9   c                 C   s   i }t | dgd urt|dgt | dg t | dgd ur+t|dgtt | dg| t | dgd ur>t|dgt | dg |S )Nretrieval_configretrievalConfigfunction_calling_configfunctionCallingConfig$include_server_side_tool_invocations includeServerSideToolInvocations)r   r   rw   r   r!   r!   r"   rJ     s(   
rJ   c                 C   sl   i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg t | dgd ur4td|S )Nr   r   r   r   r   zMinclude_server_side_tool_invocations parameter is not supported in Vertex AI.r   r   r!   r!   r"   rO   %  s    
rO   c                 C   s  i }t | dgd urtdt | dgd ur!t|dgt | dg t | dgd ur4t|dgt | dg t | dgd urJt|dgtt | dg| t | d	gd ur`t|d
gtt | d	g| t | dgd urst|dgt | dg t | dgd urtdt | dgd urt|dgdd t | dgD  t | dgd urt|dgt | dg t | dgd urtdt | dgd urt|dgt | dg t | dgd urt|dgdd t | dgD  |S )N	retrievalz3retrieval parameter is not supported in Gemini API.computer_usecomputerUsefile_search
fileSearchgoogle_searchgoogleSearchgoogle_maps
googleMapscode_executioncodeExecutionenterprise_web_searchz?enterprise_web_search parameter is not supported in Gemini API.function_declarationsfunctionDeclarationsc                 S   r   r!   r!   r.   r!   r!   r"   r2   g  r   z"_Tool_to_mldev.<locals>.<listcomp>google_search_retrievalgoogleSearchRetrievalparallel_ai_searchz<parallel_ai_search parameter is not supported in Gemini API.url_context
urlContextmcp_servers
mcpServersc                 S   r   r!   r!   r.   r!   r!   r"   r2   }  r   )r   r   r   r   r   r   r!   r!   r"   rC   ?  sd   
rC   c                    s  i  t | dgd urt dgt | dg t | dgd ur(t dgt | dg t | dgd ur4tdt | dgd urGt dgt | dg t | dgd urZt d	gt | dg t | d
gd urmt dgt | d
g t | dgd urt dgt | dg t | dgd urt dg fddt | dgD  t | dgd urt dgt | dg t | dgd urt dgt | dg t | dgd urt dgt | dg t | dgd urtd S )Nr   r   r   r   z4file_search parameter is not supported in Vertex AI.r   r   r   r   r   r   r   enterpriseWebSearchr   r   c                    r,   r!   )r   r.   r1   r!   r"   r2     r3   z#_Tool_to_vertex.<locals>.<listcomp>r   r   r   parallelAiSearchr   r   r   z4mcp_servers parameter is not supported in Vertex AI.r   r6   r!   r1   r"   rL     sX   


	

rL   c                 C   T   i }t | dgd urt|dgt | dg t | dgd ur(t|dgt | dg |S Nr;   r<   r=   r5   r   r!   r!   r"   #_UpdateCachedContentConfig_to_mldev     r   c                 C   r   r   r5   r   r!   r!   r"   $_UpdateCachedContentConfig_to_vertex  r   r   c              	   C   Z   i }t |dgd urt|ddgt| t |dg t |dgd ur+tt |dg| |S Nr]   r^   rU   )r   r   rG   r`   r   rW   r!   r!   r"   '_UpdateCachedContentParameters_to_mldev     r   c              	   C   r   r   )r   r   rG   r`   r   rW   r!   r!   r"   (_UpdateCachedContentParameters_to_vertex  r   r   c                   @      e Zd Zdddedeej dejfddZdddedeej	 dejfd	d
Z
dddedeej dejfddZdddedeej dejfddZdddeej dejfddZdddeej deej fddZdS )CachesNrU   rT   rU   r   c                C     t j||d}| jjr!t| j|}|d}|rd|}nd}nt| j|}|d}|r4d|}nd}|d}|rF| dt| }|	dd d}|j
dur]|j
jdur]|j
j}t|}t|}| jd|||}	|	jsui nt|	j}
t jj|
| d	}| j| |S )
a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = client.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    rT   rU   r^   r   r   ?rU   Npostr|   kwargs)r
   _CreateCachedContentParameters_api_clientvertexairZ   get
format_maprX   r   poprU   http_optionsr   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsCachedContent_from_response
model_dump_verify_responseselfrT   rU   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr   r|   response_dictreturn_valuer!   r!   r"   create  sL   





zCaches.creater]   c                C   r   )
zGets cached content configurations.

    .. code-block:: python

      client.caches.get(name= ... ) // The server-generated resource name.
    r]   rU   r^   {name}r   r   rU   Nr   r   )r
   _GetCachedContentParametersr   r   r   r   r   r   r   r   rU   r   r   r   r   r   r   r   r   r   r   r   r  r  r]   rU   r  r  r  r  r  r   r|   r	  r
  r!   r!   r"   r   Z  sH   





z
Caches.getc                C   sJ  t j||d}| jjr!t| j|}|d}|rd|}nd}nt| j|}|d}|r4d|}nd}|d}|rF| dt| }|	dd d}|j
dur]|j
jdur]|j
j}t|}t|}| jd|||}	|	jsui nt|	j}
| jjrt|
}
| jjst|
}
t jj|
| d	}t j|	jd
|_| j| |S )zDeletes cached content.

    Usage:

    .. code-block:: python

      client.caches.delete(name= ... ) // The server-generated resource name.
    r  r^   r  r   r   rU   Ndeleter   headers)r
   _DeleteCachedContentParametersr   r   rc   r   r   ra   r   r   rU   r   r   r   r   r   r   r   r   rj   rh   DeleteCachedContentResponser   r   HttpResponser  rg   r  r  r!   r!   r"   r    sZ   





zCaches.deletec                C   r   )
zUpdates cached content configurations.

    .. code-block:: python

      response = client.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r  r^   r  r   r   rU   Npatchr   )r
   _UpdateCachedContentParametersr   r   r   r   r   r   r   r   rU   r   r   r   r   r   r   r   r   r   r   r   r  r  r!   r!   r"   update  sL   





zCaches.updatec                C   s@  t j|d}| jjrt|}|d}|rd|}nd}nt|}|d}|r/d|}nd}|d}|rA| dt| }|	dd  d }|j
d urX|j
jd urX|j
j}t|}t|}| jd|||}|jspi nt|j}	| jjr~t|	}	| jjst|	}	t jj|	| d}
t j|jd	|
_| j|
 |
S 
Nr   r^   r   r   r   rU   r   r   r  )r
   _ListCachedContentsParametersr   r   r   r   r   r   r   r   rU   r   r   r   r   r   r   r   r   r   r   ListCachedContentsResponser   r   r  r  rg   r  r  rU   r  r  r  r  r  r   r|   r	  r
  r!   r!   r"   _list0  sL   





zCaches._listc                C   s   | j }td|| j |d|S )a  Lists cached contents.

    Args:
      config (ListCachedContentsConfig): Optional configuration for the list
        request.

    Returns:
      A Pager object that contains one page of cached contents. When iterating
      over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python
      for cached_content in client.caches.list():
        print(cached_content.name)
    r   r   )r  r   r  rU   list_requestr!   r!   r"   listj  s   
zCaches.list)__name__
__module____qualname__strr   r
   CreateCachedContentConfigOrDictr   r  GetCachedContentConfigOrDictr   DeleteCachedContentConfigOrDictr  r  UpdateCachedContentConfigOrDictr  ListCachedContentsConfigOrDictr  r  r   r   r!   r!   r!   r"   r   
  sZ    
R
E
Q
I
;r   c                   @   r   )AsyncCachesNr   rT   rU   r   c                   "  t j||d}| jjr"t| j|}|d}|rd|}nd}nt| j|}|d}|r5d|}nd}|d}|rG| dt| }|	dd d}|j
dur^|j
jdur^|j
j}t|}t|}| jd|||I dH }	|	jsyi nt|	j}
t jj|
| d	}| j| |S )
a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = await client.aio.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    r   r^   r   r   r   rU   Nr   r   )r
   r   r   r   rZ   r   r   rX   r   r   rU   r   r   r   r   async_requestr   r   r   r   r   r   r  r  r!   r!   r"   r    sN   






zAsyncCaches.creater]   c                   r+  )
zGets cached content configurations.

    .. code-block:: python

      await client.aio.caches.get(name= ... ) // The server-generated resource
      name.
    r  r^   r  r   r   rU   Nr   r   )r
   r  r   r   r   r   r   r   r   r   rU   r   r   r   r   r,  r   r   r   r   r   r   r  r  r!   r!   r"   r     sN   






zAsyncCaches.getc                   sR  t j||d}| jjr"t| j|}|d}|rd|}nd}nt| j|}|d}|r5d|}nd}|d}|rG| dt| }|	dd d}|j
dur^|j
jdur^|j
j}t|}t|}| jd|||I dH }	|	jsyi nt|	j}
| jjrt|
}
| jjst|
}
t jj|
| d	}t j|	jd
|_| j| |S )zDeletes cached content.

    Usage:

    .. code-block:: python

      await client.aio.caches.delete(name= ... ) // The server-generated
      resource name.
    r  r^   r  r   r   rU   Nr  r   r  )r
   r  r   r   rc   r   r   ra   r   r   rU   r   r   r   r   r,  r   r   r   rj   rh   r  r   r   r  r  rg   r  r  r!   r!   r"   r    s\   






zAsyncCaches.deletec                   r+  )
zUpdates cached content configurations.

    .. code-block:: python

      response = await client.aio.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r  r^   r  r   r   rU   Nr  r   )r
   r  r   r   r   r   r   r   r   r   rU   r   r   r   r   r,  r   r   r   r   r   r   r  r  r!   r!   r"   r  j  sN   






zAsyncCaches.updatec                   sH  t j|d}| jjrt|}|d}|rd|}nd}nt|}|d}|r0d|}nd}|d}|rB| dt| }|	dd  d }|j
d urY|j
jd urY|j
j}t|}t|}| jd|||I d H }|jsti nt|j}	| jjrt|	}	| jjst|	}	t jj|	| d}
t j|jd	|
_| j|
 |
S r  )r
   r  r   r   r   r   r   r   r   r   rU   r   r   r   r   r,  r   r   r   r   r   r  r   r   r  r  rg   r  r  r!   r!   r"   r    sR   






zAsyncCaches._listc                   s$   | j }td|| j |dI dH |S )a  Lists cached contents asynchronously.

    Args:
      config (ListCachedContentsConfig): Optional configuration for the list
        request.

    Returns:
      A Pager object that contains one page of cached contents. When iterating
      over
      the pager, it automatically fetches the next page if there are more.

    Usage:

    .. code-block:: python
      async for cached_content in await client.aio.caches.list():
        print(cached_content.name)
    r   r   N)r  r   r  r!   r!   r"   r     s   zAsyncCaches.list)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*    sZ    
R
H
R
I
=r*  )N)Cr   loggingtypingr   r   r   urllib.parser    r   r   r	   rG   r
   r   r   r   r   r   r   pagersr   r   	getLoggerloggerdictr$  objectr#   r)   r7   r:   rK   rP   rX   rZ   ra   rc   rh   rj   rm   rr   rw   r   r   r   r   r   r   r   r   r   r   r   r-   r9   rJ   rO   rC   rL   r   r   r   r   
BaseModuler   r*  r!   r!   r!   r"   <module>   s  


$







;

@



















(





















N

B





F

A







   