
    i(                   &   U d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZ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m Z m!Z!m"Z"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-m.Z. ddl.m/Z/ ddl0m1Z1  ej2        e3          Z4erddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZIm;Z;mJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTm=Z=mUZUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\ ddl?m]Z]  ed          Z^ ede_          Z`e	eee^f         ZadXdZb G d  d!e          Zce/fe/e/d"de/e/e/e/e/e/e/e/e/e/dde/e/e/e/d#dYdKZddLaedMefdN<   dZdPZg G dQ dR          Zh G dS dT          ZidUejj        _k         G dV dW          ZldS )[a:  
The MIT License (MIT)

Copyright (c) 2015-present Rapptz

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
    )annotationsN)AnyClassVar	CoroutineDictIterableListLiteral
NamedTupleOptionaloverloadSequenceTupleTYPE_CHECKINGTypeTypeVarUnion)quote)deque   )HTTPExceptionRateLimited	ForbiddenNotFoundLoginFailureDiscordServerErrorGatewayNotFound)DiscordClientWebSocketResponse)File)AllowedMentions)__version__utils)MISSING)MessageFlags)Self)BaseView)Embed)
Attachment)Poll)appinfo	audit_logautomodchannelcommandemojiguildintegrationinvitemembermessage
onboardingtemplateroleuserwebhookwidgetthreadsscheduled_eventstickerwelcome_screenskupollvoice
soundboardsubscription)	SnowflakeSnowflakeList)SessionStartLimit)TracebackTypeTBE)boundresponseaiohttp.ClientResponsereturnUnion[Dict[str, Any], str]c                   K   |                      d           d {V }	 | j        d         dk    rt          j        |          S n# t          $ r Y nw xY w|S )Nzutf-8)encodingzcontent-typeapplication/json)textheadersr"   
_from_jsonKeyError)rK   rR   s     S/home/ubuntu/.hermes/hermes-agent/venv/lib/python3.11/site-packages/discord/http.pyjson_or_textrW   n   s      00000000DN+/AAA#D))) B    Ks   $A 
AAc                  >    e Zd ZU ded<   ded<   ded<   dd	ZddZdS )MultipartParameterszOptional[Dict[str, Any]]payloadzOptional[List[Dict[str, Any]]]	multipartOptional[Sequence[File]]filesrM   r%   c                    | S N selfs    rV   	__enter__zMultipartParameters.__enter__   s        exc_typeOptional[Type[BE]]excOptional[BE]	tracebackOptional[TracebackType]Nonec                T    | j         r| j         D ]}|                                 d S d S r_   )r]   close)rb   re   rg   ri   files        rV   __exit__zMultipartParameters.__exit__   sB     : 	
  

	 	 rd   NrM   r%   )re   rf   rg   rh   ri   rj   rM   rk   )__name__
__module____qualname____annotations__rc   ro   r`   rd   rV   rY   rY   z   sb         %%%%----####        rd   rY   F)username
avatar_urlttsnonceflagsrn   r]   embedembedsattachmentsviewallowed_mentionsmessage_referencestickersprevious_allowed_mentionsmention_authorthread_namechannel_payloadapplied_tagsr@   contentOptional[str]ru   strrv   r   rw   boolrx   Optional[Union[int, str]]ry   r$   rn   r   r]   Sequence[File]rz   Optional[Embed]r{   Sequence[Embed]r|   !Sequence[Union[Attachment, File]]r}   Optional[BaseView]r~   Optional[AllowedMentions]r   "Optional[message.MessageReference]r   Optional[SnowflakeList]r   r   Optional[bool]r   r   Dict[str, Any]r   r@   Optional[Poll]c                  |t           ur|t           urt          d          |	t           ur|t           urt          d          |t           ur|g}|
t           ur|t           urt          d          i }|	t           ur1t          |	          dk    rt          d          d |	D             |d<   |t           ur |g |d<   n|                                g|d<   | t           ur| t          |           |d<   nd |d<   |t           urT|M|                                |d	<   |                                r!|t           urd
|_        nt          d
          }ng |d	<   |t          |          |d<   d
|d<   |t           ur||d<   |t           ur|||d<   ng |d<   ||d<   |rt          |          |d<   |r||d<   |t           ur
|j
        |d<   |t           ur||d<   |rE|+|                    |                                          |d<   n1|                                |d<   n||                                |d<   |2d|vr#t                                                      |d<   ||d         d<   |
t           u r|}
nd |
D             }|
t           urxd}g }|
D ]l}t          |t                    r.|                    |                    |                     |dz  }E|                    |                                           m||d<   |t           ur|||d<   ng |d<   |t           urd|i}|                    |           |t           d fvr |j                    |d<   g }|ri|                    dt%          j        |          d           d }t)          |          D ]-\  }}|                    d | d!|j        |j        d"d#           .t/          |||$          S )%Nz,Cannot mix file and files keyword arguments.z.Cannot mix embed and embeds keyword arguments.z3Cannot mix attachments and files keyword arguments.
   z$embeds has a maximum of 10 elements.c                6    g | ]}|                                 S r`   )to_dict).0es     rV   
<listcomp>z-handle_message_parameters.<locals>.<listcomp>   s     999QQYY[[999rd   r{   r   
componentsT)components_v2rx   enforce_noncer   sticker_idsrw   rv   ru   ry   r   r~   replied_userc                <    g | ]}t          |t                    |S r`   )
isinstancer   )r   as     rV   r   z-handle_message_parameters.<locals>.<listcomp>   s'    ???q:a+>+>????rd   r   r   r|   r   r4   r@   payload_jsonnamevaluezfiles[]application/octet-streamr   r   filenamecontent_type)rZ   r[   r]   )r#   	TypeErrorlen
ValueErrorr   r   to_componentshas_components_v2r   r$   r   merger    r   r   appendupdate_to_dictr"   _to_json	enumeratefpr   rY   )r   ru   rv   rw   rx   ry   rn   r]   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r@   rZ   
file_indexattachments_payload
attachmentr[   indexs                              rV   handle_message_parametersr      s   0 GG 3 3FGGGWg!5!5HIII7'!!e7&:&:MNNNGWv;;CDDD99&999G= "GH!& 1GHg!$WGI!%GI7$($6$6$8$8GL!%%'' =''*.E''(t<<<E$&GL!u::#' '''8#$w%-GM""%'GM"GEN 0 #J '&
G ;'!!!, J$0*C*I*IJZ*[*[*c*c*e*eG&''*:*B*B*D*DG&''	"	.&?&G&G&I&I"#!W,,*9*;*;*C*C*E*EG&'6D"#N3g??K???'!!
 % 	A 	AJ*d++ A#**:+=+=j+I+IJJJa

#**:+=+=+?+?@@@@!47""#&2GN##&(GN#g%%w
 	'''GT?""'$-//I .5>';R;RSSTTT$U++ 	 	KE4-U---!W $$>	     w)5QQQQrd   r   intINTERNAL_API_VERSIONr   c                    t          | t                    st          d| j        j                   | dvrt          d|            | ad|  t          _        d S )Nzexpected int not )	   r   zexpected either 9 or 10 not zhttps://discord.com/api/v)	r   r   r   	__class__rq   r   r   RouteBASE)r   s    rV   _set_api_versionr   (  sn     eS!! HFEO,DFFGGGG???@@@ 4U44EJJJrd   c                  \    e Zd ZU dZded<   ddddZedd            Zedd            ZdS )r   zhttps://discord.com/api/v10zClassVar[str]r   N)metadatamethodr   pathr   r   
parametersr   rM   rk   c                  || _         || _        || _        | j        | j         z   }|r1|                    d |                                D                       }|| _        |                    d          | _        |                    d          | _	        |                    d          | _
        |                    d          | _        d S )Nc                f    i | ].\  }}|t          |t                    rt          |d           n|/S ) safe)r   r   	_uriquote)r   kvs      rV   
<dictcomp>z"Route.__init__.<locals>.<dictcomp>@  sC    !w!w!w\`\]_`!jC>P>P%WYqr%:%:%:%:VW!w!w!wrd   
channel_idguild_id
webhook_idwebhook_token)r   r   r   r   
format_mapitemsurlgetr   r   r   r   )rb   r   r   r   r   r   s         rV   __init__zRoute.__init__8  s    	! (0i$)# 	y..!w!wdndtdtdvdv!w!w!wxxC 0:~~l/K/K-7^^J-G-G/9~~l/K/K,6NN?,K,Krd   c                d    | j         r| j         d| j         d| j          S | j         d| j         S )zBThe bucket key is used to represent the route in various mappings. :)r   r   r   ra   s    rV   keyz	Route.keyI  sI     = 	@k??DI?????+++	+++rd   c                p    d                     d | j        | j        | j        | j        fD                       S )zReturns the major parameters formatted a string.

        This needs to be appended to a bucket hash to constitute as a full rate limit key.
        +c              3  8   K   | ]}|t          |          V  d S r_   )r   )r   r   s     rV   	<genexpr>z)Route.major_parameters.<locals>.<genexpr>V  s7       
 
eferCFFerererer
 
rd   )joinr   r   r   r   ra   s    rV   major_parameterszRoute.major_parametersP  sH     xx 
 
!_dmT_dN`a
 
 
 
 
 	
rd   )
r   r   r   r   r   r   r   r   rM   rk   rM   r   )	rq   rr   rs   r   rt   r   propertyr   r   r`   rd   rV   r   r   5  s         7D7777LP L L L L L L" , , , X, 
 
 
 X
 
 
rd   r   c                      e Zd ZdZdZd(dZd)d	Zd
 Zddd*dZd+dZ	d,ddd-dZ
d+dZd.dZd.dZd+dZd/d Zd0d'ZdS )1	Ratelimitar  Represents a Discord rate limit.

    This is similar to a semaphore except tailored to Discord's rate limits. This is aware of
    the expiry of a token window, along with the number of tokens available. The goal of this
    design is to increase throughput of requests being sent concurrently rather than forcing
    everything into a single lock queue per route.
    )limit	remainingoutgoingreset_afterexpiresdirty_last_request_max_ratelimit_timeout_loop_pending_requests	_sleepingmax_ratelimit_timeoutOptional[float]rM   rk   c                4   d| _         | j         | _        d| _        d| _        d | _        d| _        || _        t          j                    | _	        t                      | _        t          j                    | _        | j	                                        | _        d S )Nr   r           F)r   r   r   r   r   r   r   asyncioget_running_loopr   r   r   Lockr   timer   )rb   r   s     rV   r   zRatelimit.__init__r  s|    
"j"%(, 
7L#070H0J0J
=BWW (/|~~$(JOO$5$5rd   r   c                R    d| j          d| j         dt          | j                   dS )Nz<RateLimitBucket limit=z remaining=z pending_requests=>)r   r   r   r   ra   s    rV   __repr__zRatelimit.__repr__  s6    }dj}}T^}}_bcgcy_z_z}}}	
rd   c                X    | j         | j        z
  | _        d | _        d| _        d| _        d S )Nr   F)r   r   r   r   r   r   ra   s    rV   resetzRatelimit.reset  s,    dm3


rd   F	use_clockrK   rL   r  r   c                  |j         }t          |                    dd                    | _        | j        rDt          t          |                    dd                    | j        | j        z
            | _        n/t          |                    dd                    | _        d| _        |                    d          }|s|st          j	        j
        }t          j                            |          }t          j                            t          |d                   |          }||z
                                  | _        nt          |          | _        | j                                        | j        z   | _        d S )NzX-Ratelimit-Limitr   X-Ratelimit-Remainingr   TzX-Ratelimit-Reset-AfterzX-Ratelimit-Reset)rS   r   r   r   r   minr   r   datetimetimezoneutcnowfromtimestampfloattotal_secondsr   r   r   r   )rb   rK   r  rS   r   r  r  r  s           rV   r   zRatelimit.update  s?   "%8!<<==
: 	 W[[1H!%L%L!M!Mtz\`\iOijjDNN -Da!H!HIIDNDJkk";<< 	2K 	2#'C#'',,C%33E'BU:V4W4WY\]]E %::<<D$[11Dz((4+;;rd   c                    | j         rM| j                                         }|                                s|                    d            d S | j         Kd S d S r_   )r   popleftdone
set_result)rb   futures     rV   
_wake_nextzRatelimit._wake_next  sk    $ 	+3355F;;== !!$'''	 $ 	 	 	 	 	rd   r   N	exceptioncountr   r  Optional[RateLimited]c                   d}| j         rp| j                                         }|                                s2|r|                    |           n|                    d            |dz  }||k    rd S | j         nd S d S )Nr   r   )r   r  r  set_exceptionr  )rb   r  r  awakenr  s        rV   _wakezRatelimit._wake  s    $ 
	+3355F;;==  ,((3333%%d+++! $ 
	 
	 
	 
	 
	rd   c                l  K   | j         o| j        | j         k    }|rt          | j                  nd }| j        4 d {V  |st	          j        | j                   d {V  d d d           d {V  n# 1 d {V swxY w Y   |                                  |                     | j        |           d S )Nr  )	r   r   r   r   r   sleepr  r  r   )rb   errorr  s      rV   _refreshzRatelimit._refresh  sI     +^0@4C^0^5:DK 0111	> 	6 	6 	6 	6 	6 	6 	6 	6 6mD$4555555555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	



4>Y
77777s   "A33
A= A=c                X    | j         d uo!| j                                        | j         k    S r_   )r   r   r   ra   s    rV   
is_expiredzRatelimit.is_expired  s'    |4'LDJOO,=,=,LLrd   c                    | j                                         | j        z
  }|dk    o"| j        dk    ot	          | j                  dk    S )N,  r   )r   r   r   r   r   r   )rb   deltas     rV   is_inactivezRatelimit.is_inactive  sG    
!!D$66|W 2Ws4;Q7R7RVW7WWrd   c                  K   | j                                         | _        |                                 r|                                  | j        B| j        ;| j        | j                                         z
  }|| j        k    rt          |          | j        dk    r+| j         	                                }| j
                            |           	 |                                s| j        r!| j        | j                                         z
  nd}t          j        |g|           d {V  |                                s|                                  d {V  |                                nM#  |                                 | j        dk    r(|                                s|                                   xY w| j        dk    +| xj        dz  c_        | xj        dz  c_        d S )Nr      )timeoutr   )r   r   r   r#  r  r   r   r   r   create_futurer   r   r  r   waitr!  cancel	cancelledr  r   )rb   current_reset_afterr  max_wait_times       rV   acquirezRatelimit.acquire  s     !Z__..?? 	JJLLL&2t|7O"&,1B1B"B"T%@@@!"5666n!!Z--//F"))&111 ++-- .HL$\DL4:??3D3D$D$DZ\M!,xGGGGGGGGGG!;;== ."mmoo------- !++-- .>A%%f.>.>.@.@%OO%%% n!!  	!s   BE0 0A
F:r%   c                >   K   |                                   d {V  | S r_   )r1  ra   s    rV   
__aenter__zRatelimit.__aenter__  s+      llnnrd   typeType[BE]r   rI   ri   rG   c                \  K   | xj         dz  c_         | j        | j         z
  }| j                                        so|dk    r|                                  d {V  d S | j        rH| j        r$| j        | j        k    rt          | j                  nd }| 	                    ||           d S d S d S )Nr   r   r  )
r   r   r   lockedr!  r   r   r   r   r  )rb   r4  r   ri   tokensr  s         rV   	__aexit__zRatelimit.__aexit__  s      $-/ ~$$&& 		8{{mmoo%%%%%%%%%' 8 27;7G$Je7e7e   0111 
 

6Y
77777		8 		88 8rd   )r   r   rM   rk   r   )rK   rL   r  r   rM   rk   rM   rk   )r   )r  r   r  r  rM   rk   )rM   r   rp   )r4  r5  r   rI   ri   rG   rM   rk   )rq   rr   rs   __doc__	__slots__r   r  r  r   r  r  r!  r#  r'  r1  r3  r9  r`   rd   rV   r   r   [  s:        I6 6 6 6 
 
 
 

   MR < < < < < <*   $      8 8 8 8M M M MX X X X   <   8 8 8 8 8 8rd   r   	websocketc            
      N   e Zd ZdZ	 dddddddddZddZddddZddZdd"Zddd#dd,Z	dd.Z
dd/Zdd2Zdd4Zdd:Zdd<Zdd>ZddBZddCZddDddGZddDddJZddKZddMZddOZddPZ	 	 dؐddWZddXZddYZddZZdd\Z	 	 	 dݐdd`ZddaZdƐddbZ dƐddcZ!	 	 dؐddfZ"dƐddhZ#	 	 dddkZ$ddDddlZ%	 	 dddpZ&ddddqddvZ'ddzZ(ddDdd}Z)ddDddZ*ddZ+ddZ,ddDddZ-ddZ.ddZ/ddDddZ0ddDddZ1ddDddZ2ddDddZ3ddDddZ4dddddZ5ddddddZ6ddDddZ7ddZ8ddZ9ddZ:ddZ;	 dddZ<	 dddZ=	 dddZ>ddZ?ddZ@ddZAdddddZBddZCddZDddZE	 dƐddZF	 	 	 d ddZGddZHddddZIddZJddZKddĄZLddDddńZMddDddȄZNdd˄ZOd	d̈́ZPd
d΄ZQddτZRddЄZSddфZTdd҄ZU	 	 dؐddԄZVddքZWddDddׄZXddلZYddۄZZddDdd܄Z[ddބZ\ddZ]ddZ^ddDddZ_ddZ`ddZaddZbddZcddZdddZeddZfd dZgd!dZhd"dZid#dZjdddd$dZkddDd%dZlddDd&dZmd'dZnd(d	Zod)dZpd*dZqddDd+dZr	 	 	 	 	 d,d-dZsd.dZt	 dƐd/dZud0dZvdddddddddd	d1d'Zwddd(d2d+Zxd3d-Zyd4d.ZzddDd5d/Z{d6d1Z|d7d4Z}d8d6Z~ddDd9d7ZddDd:d8ZddDd;d:ZddDd<d;ZddDd=d>ZddDd>d?ZddDd>d@ZddDd?dEZddDd@dFZddDdAdGZdBdIZdCdJZddDdDdKZddDddLZedEdP            ZedFdS            ZedGdU            ZdHdWZddDdIdYZedJd[            ZedKd\            ZedLd^            ZdMd_ZddDdNd`ZddDdOdaZe	 	 dPdQde            Ze	 	 dPdRdg            Ze	 	 dPdSdi            Z	 	 dؐdTdjZdUdmZdVdpZdWdrZdXdsZdYdtZdZdvZd[dwZd\dxZd]dyZd^dzZd_d{Zd`d|Zdad~ZdbdZdcdZdddZdedZdfdZdgdZdhdZdidZ	 	 	 	 	 	 	 	 djdkdZdldZdmdZdndZdmdZdodZddddddpdZdqdZdrdZdsdZdtdZdudZdvdZdwdZdxdZdydZdzdZd{dZd|dZd}dZd~dZ	 	 dؐddZdېdZ	 	 	 	 dddZddZddĄZddńZdS (  
HTTPClientzCRepresents an HTTP client sending HTTP requests to the Discord API.NT)proxy
proxy_authunsync_clock
http_tracer   loopasyncio.AbstractEventLoop	connectorOptional[aiohttp.BaseConnector]r@  r   rA  Optional[aiohttp.BasicAuth]rB  r   rC  Optional[aiohttp.TraceConfig]r   r   rM   rk   c               d   || _         |pt          | _        t          | _        i | _        i | _        t          | _        d | _        || _        || _	        || _
        | | _        |rt          d|          nd | _        d}|                    t          t           j        t$          j                  | _        d S )N      >@zVDiscordBot (https://github.com/Rapptz/discord.py {0}) Python/{1[0]}.{1[1]} aiohttp/{2})rD  r#   rF  _HTTPClient__session_bucket_hashes_buckets_global_overtokenr@  rA  rC  r  maxr   formatr!   sysversion_infoaiohttp
user_agent)	rb   rD  rF  r@  rA  rB  rC  r   rV  s	            rV   r   zHTTPClient.__init__  s     04	090DW07.0 /1+2$(
$)
7A9C#//Zo6yc$@U6V6V6Vuy"m
)00c>NPWPcddrd   c                L    | j         r| j         j        rt          | _         d S d S d S r_   )rL  closedr#   ra   s    rV   clearzHTTPClient.clear%  s7    > 	%dn3 	%$DNNN	% 	% 	% 	%rd   r   )compressr   r   rZ  r   aiohttp.ClientWebSocketResponsec                  K   	 t          j        d          }n# t          t          f$ r d}Y nw xY w| j        | j        d|dd| j        i|d} | j        j        |fi | d {V S )NrK  )ws_closer   F
User-Agent)rA  r@  max_msg_sizer*  	autocloserS   rZ  )	rU  ClientWSTimeoutAttributeErrorr   rA  r@  rV  rL  
ws_connect)rb   r   rZ  r*  kwargss        rV   rc  zHTTPClient.ws_connect)  s      	"2DAAAGG	* 	 	 	GGG	 /Zdo !

 

 /T^.s==f=========s    00c                    t          | j                  dk     rd S d | j                                        D             }|D ]
}| j        |= d S )N   c                @    g | ]\  }}|                                 |S r`   )r'  )r   r   buckets      rV   r   z<HTTPClient._try_clear_expired_ratelimits.<locals>.<listcomp>A  s-    UUUV@R@R@T@TUUUUrd   )r   rN  r   )rb   keysr   s      rV   _try_clear_expired_ratelimitsz(HTTPClient._try_clear_expired_ratelimits=  sc    t}##FUUt}':':'<'<UUU 	# 	#Cc""	# 	#rd   r   r   c                    	 | j         |         }nB# t          $ r5 t          | j                  x| j         |<   }|                                  Y nw xY w|S r_   )rN  rU   r   r   rj  )rb   r   r   s      rV   get_ratelimitzHTTPClient.get_ratelimitE  sk    	1M#&EE 	1 	1 	1)243M)N)NNDM#..00000	1 s    <AAr]   formrouter   r]   r\   rn  "Optional[Iterable[Dict[str, Any]]]rd  r   c               P  K   |j         }|j        }|j        }d }	 | j        |         }| d|j         }	n# t
          $ r | d|j         }	Y nw xY w|                     |	          }
d| j        i}| j        d| j        z   |d<   d|v r/d|d<   t          j
        |                    d                    |d<   	 |                    d	          }|rt          |d
          |d<   n# t
          $ r Y nw xY w||d<   | j        
| j        |d<   | j        
| j        |d<   | j                                        s| j                                         d {V  d }d }|
4 d {V  t%          d          D ]}|r|D ]}|                    |           |r,t)          j        d          }|D ]} |j        d3i | ||d<   	  | j        j        ||fi |4 d {V }t2                              d|||                    d          |j                   t;          |           d {V }|j                            d          }d|j        v }|||k    r|Yd}t2                              ||||           || j        |<   |
| j        | d|j         <   | j                            |	d            nE|| j        vr<d}t2                              |||           || j        |<   |
| j        | d|j         <   |rO|j        dk    rD|
                     || j!                   |
j"        dk    rt2                              d|p|           d|j        cxk    rdk    rHn nEt2                              d|||           |cd d d           d {V  c cd d d           d {V  S |j        dk    r|j                            d           rtG          |tH                    rtK          ||          |
j"        dk    r"t2                              d!|||
j"                   |d"         }| j&        r7|| j&        k    r,t2          '                    d#|||           tQ          |          d$}t2          '                    ||||           t2                              d%||j                   |                    d&d          }|r4t2          '                    d'|           | j        )                                 tU          j+        |           d {V  t2                              d(           |r3| j        ,                                 t2                              d)           	 d d d           d {V  |j        d*v r4tU          j+        d+|d,z  z              d {V  	 d d d           d {V  /|j        d-k    rt[          ||          |j        d.k    rt]          ||          |j        d/k    rt_          ||          tK          ||          # 1 d {V swxY w Y   # t`          $ r;}|d0k     r/|j1        d1v r&tU          j+        d+|d,z  z              d {V  Y d }~ d }~ww xY w|+|j        d/k    rt_          ||          tK          ||          te          d2          # 1 d {V swxY w Y   d S )4Nr   r^  zBot AuthorizationjsonrQ   zContent-Typedatareasonz/ r   zX-Audit-Log-ReasonrS   r@  rA     )seekF)quote_fieldsz%s %s with %s has returned %szX-Ratelimit-Bucketr  z*A route (%s) has changed hashes: %s -> %s.z5%s has found its initial rate limit bucket hash (%s).i  r  r   zKA rate limit bucket (%s) has been exhausted. Pre-emptively rate limiting...r%     z%s %s has received %sViazS%s %s received a 429 despite having %s remaining requests. This is a sub-ratelimit.retry_afterzdWe are being rate limited. %s %s responded with 429. Timeout of %.2f was too long, erroring instead.zNWe are being rate limited. %s %s responded with 429. Retrying in %.2f seconds.zFRate limit is being handled by bucket hash %s with %r major parametersglobalz9Global rate limit has been hit. Retrying in %.2f seconds.z-Done sleeping for the rate limit. Retrying...zGlobal rate limit is now over.>           r          r     )6   iF'  z!Unreachable code in HTTP handlingr`   )3r   r   r   rM  r   rU   rl  rV  rP  r"   r   popr   r@  rA  rO  is_setr,  ranger  rU  FormData	add_fieldrL  request_logdebugr   statusrW   rS   rN  r   r  r   r   r   r   r   warningr   rY  r   r  setr   r   r   OSErrorerrnoRuntimeError)rb   ro  r]   rn  rd  r   r   	route_keybucket_hashr   	ratelimitrS   ru  rK   rt  triesf	form_dataparamsdiscord_hashhas_ratelimit_headersfmtr{  	is_globalr   s                            rV   r  zHTTPClient.requestM  so
      iI		<-i8K !;;5#9;;CC  	: 	: 	:99!799CCC	:
 &&s++	 $/#
 :!'-
':GO$V&8GN#"^FJJv,>,>??F6N	MZZ))F  M09&t0L0L0L,-	  	 	 	D	 $y :!"jF7O?&#'?F<  '')) 	+#((*********5959 V	D V	D V	D V	D V	D V	D V	D V	Dq L L ," , ,U++++ / ' 0e D D DI"& 6 6+	+55f5555%.F6N@5t~5fcLLVLL w@ w@ w@ w@ w@ w@ w@PX

#BFCQWQ[Q[\bQcQcemetuuu &2(%;%;;;;;;; (0'7';';<P'Q'Q 1H8K[0[-'3*l::#.#: +WC$(JJsI{L$Y$Y$YEQD$7	$B`iDM\2\2\EDZ2\2\$]$(M$5$5c4$@$@$@$@%.d6I%I%I*aC$(JJsI|$L$L$LEQD$7	$B`iDM\2\2\EDZ2\2\$]0 &'#55 ) 0 0T^ 0 T T T#,#6!#;#;$(JJ(u(4(A	%& %& %& 7777C77777 JJ'>TRRR#'cw@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	DD $?c11#+#3#7#7#>#> D*TSVBWBW D&3Hd&C&C C(2Q66 !%

$y$*$'$-$7	!" !" !" 26m1DK#9 ?kDLf>f>f $ %K$*$'$/	!" !" !" '2+&>&> >"rC LLfc;GGG JJ h + % 6   )-5(A(AI( : $-hju v v v $ 1 7 7 9 9 9")-"<"<<<<<<<< JJ'VWWW  ) M $ 1 5 5 7 7 7 $

+K L L L$Qw@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@V $?.BBB")-EAI">">>>>>>>>$[w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@` $?c11"+Hd";";;%_33"*8T":"::%_33"4Xt"D"DD"/$"?"??ow@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@ w@t    qyyQW%;%;%mA	M:::::::::  #?c)),Xt<<<#Hd333BCCCmV	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	D V	Ds   5 AA7C# #
C0/C0AZ=XFW>2XZF4W>XZ *W>
XZA!W>>
XXXXZ
Y/Y
ZYY?Z
Z"Zbytesc                  K   i }| j         
| j         |d<   | j        
| j        |d<    | j        j        |fi |4 d {V }|j        dk    r,|                                 d {V cd d d           d {V  S |j        dk    rt          |d          |j        dk    rt          |d          t          |d          # 1 d {V swxY w Y   t          d	          )
Nr@  rA  ry  r  zasset not foundr  zcannot retrieve assetzfailed to get assetUnreachable)
r@  rA  rL  r   r  readr   r   r   r  )rb   r   rd  resps       rV   get_from_cdnzHTTPClient.get_from_cdn  s      :!"jF7O?&#'?F< %4>%c44V44 	A 	A 	A 	A 	A 	A 	A{c!!!YY[[((((((	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A ##t%6777##&=>>>#D*?@@@	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A =)))s    %B>8AB>>
CCc                Z   K   | j         r!| j                                          d {V  d S d S r_   )rL  rm   ra   s    rV   rm   zHTTPClient.close4  sF      > 	).&&(((((((((((	) 	)rd   rP  	user.Userc                &  K   | j         t          u rt          j        d          | _         t          j        | j         t
          | j        d n| j        gt          j                              | _        t          j
                    | _        | j                                         | j        }|| _        	 |                     t          dd                     d {V }n5# t           $ r(}|| _        |j        dk    rt%          d          | d }~ww xY w|S )Nr   )r   )rF  ws_response_classtrace_configs
cookie_jarGET
/users/@mei  zImproper token has been passed.)rF  r#   rU  TCPConnectorClientSessionr   rC  DummyCookieJarrL  r   EventrO  r  rP  r  r   r   r  r   )rb   rP  	old_tokenrt  rg   s        rV   static_loginzHTTPClient.static_login:  s     >W$$$1:::DN .n<"&/"9$$?P-//	
 
 
 $MOOJ	
	eE<&@&@AAAAAAAADD 	 	 	"DJzS  "#DEE3N		 s   2)C 
D&#D		DResponse[None]c                H    |                      t          dd                    S )NPOSTz/auth/logoutr  r   ra   s    rV   logoutzHTTPClient.logoutU  s    ||E&.99:::rd   user_idrD   
recipients	List[int] Response[channel.GroupDMChannel]c                X    d|i}|                      t          dd|          |          S )Nr  r  z/users/{user_id}/channelsr  rs  r  )rb   r  r  rZ   s       rV   start_groupzHTTPClient.start_groupZ  s7    *
 ||E&*EwWWW^e|fffrd   r   c                L    |                      t          dd|                    S )NDELETE/channels/{channel_id}r   r  rb   r   s     rV   leave_groupzHTTPClient.leave_groupa  s%    ||E(,DQ[\\\]]]rd   Response[channel.DMChannel]c                T    d|i}|                      t          dd          |          S )Nrecipient_idr  z/users/@me/channelsr  r  )rb   r  rZ   s      rV   start_private_messagez HTTPClient.start_private_messagef  s1    G
 ||E&*?@@w|OOOrd   r  rY   Response[message.Message]c                   t          dd|          }|j        r"|                     ||j        |j                  S |                     ||j                  S )Nr  /channels/{channel_id}/messagesr  rm  r  r   r]   r  r[   rZ   )rb   r   r  rs       rV   send_messagezHTTPClient.send_messagem  sX     &;
SSS< 	8<<F<L<MMM<<<777rd   c                L    |                      t          dd|                    S )Nr  z/channels/{channel_id}/typingr  r  r  s     rV   send_typingzHTTPClient.send_typingy  s%    ||E&*IV`aaabbbrd   ru  
message_idru  c               4   t          j                    t          j        t          |                    z
  }d }|t	          j        d          k    rd}n|t	          j        d          k    rd}t          dd|||	          }|                     ||
          S )Nr   )secondszsub-10-seconds   )dayszolder-than-two-weeksr  ,/channels/{channel_id}/messages/{message_id})r   r  r   r  )r"   utcnowsnowflake_timer   r	  	timedeltar   r  )rb   r   r  ru  
differencer   r  s          rV   delete_messagezHTTPClient.delete_message|  s     \^^e&:3z??&K&KK
"&+B77777'HH8-266666-H:!!
 
 
 ||Af|---rd   message_idsrE   c               ^    t          dd|          }d|i}|                     |||          S )Nr  z+/channels/{channel_id}/messages/bulk-deleter  messagesrs  ru  r   r  )rb   r   r  ru  r  rZ   s         rV   delete_messageszHTTPClient.delete_messages  s@     &GT^___
 ||AGF|;;;rd   c                   t          dd||          }|j        r"|                     ||j        |j                  S |                     ||j                  S )NPATCHr  r   r  rm  r  r  )rb   r   r  r  r  s        rV   edit_messagezHTTPClient.edit_message  s\     'IV`mwxxx< 	8<<F<L<MMM<<<777rd   r/   c                T    t          dd|||          }|                     |          S )NPUTB/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/@mer   r  r/   r  rb   r   r  r/   r  s        rV   add_reactionzHTTPClient.add_reaction  s7    P!!
 
 
 ||Ard   	member_idc                V    t          dd||||          }|                     |          S )Nr  zJ/channels/{channel_id}/messages/{message_id}/reactions/{emoji}/{member_id})r   r  r  r/   r  )rb   r   r  r/   r  r  s         rV   remove_reactionzHTTPClient.remove_reaction  s<     X!!
 
 
 ||Ard   c                T    t          dd|||          }|                     |          S )Nr  r  r  r  r  s        rV   remove_own_reactionzHTTPClient.remove_own_reaction  s7    P!!
 
 
 ||Ard   r   afterOptional[Snowflake]r4  Optional[message.ReactionType]Response[List[user.User]]c                |    t          dd|||          }d|i}|r||d<   |||d<   |                     ||          S )Nr  >/channels/{channel_id}/messages/{message_id}/reactions/{emoji}r  r   r  r4  r  r  )	rb   r   r  r/   r   r  r4  r  r  s	            rV   get_reaction_userszHTTPClient.get_reaction_users  sm     L!!
 
 
 U"
  	$#F7O!F6N||Af|---rd   c                R    t          dd||          }|                     |          S )Nr  z6/channels/{channel_id}/messages/{message_id}/reactionsr  r  rb   r   r  r  s       rV   clear_reactionszHTTPClient.clear_reactions  s4    D!!	
 
 
 ||Ard   c                T    t          dd|||          }|                     |          S )Nr  r  r  r  r  s        rV   clear_single_reactionz HTTPClient.clear_single_reaction  s7    L!!
 
 
 ||Ard   c                R    t          dd||          }|                     |          S )Nr  r  r  r  r  s       rV   get_messagezHTTPClient.get_message  s+    %GT^kuvvv||Ard   Response[channel.Channel]c                P    t          dd|          }|                     |          S )Nr  r  r  r  )rb   r   r  s      rV   get_channelzHTTPClient.get_channel  s'    %1jIII||Ard   beforearoundResponse[List[message.Message]]c                    d|i}|||d<   |||d<   |||d<   |                      t          dd|          |          S )	Nr   r  r  r  r  r  r  r  r  )rb   r   r   r  r  r  r  s          rV   	logs_fromzHTTPClient.logs_from  si     U"
 %F8#F7O%F8||E%)JWabbbkq|rrrrd   c                N    |                      t          dd||                    S )Nr  z6/channels/{channel_id}/messages/{message_id}/crosspostr  r  rb   r   r  s      rV   publish_messagezHTTPClient.publish_message  s6    ||H%%	  
 
 	
rd   c                V    t          dd||          }|                     ||          S )Nr  1/channels/{channel_id}/messages/pins/{message_id}r  r  r  rb   r   r  ru  r  s        rV   pin_messagezHTTPClient.pin_message  s:    ?!!	
 
 
 ||Af|---rd   c                V    t          dd||          }|                     ||          S )Nr  r  r  r  r  r  s        rV   unpin_messagezHTTPClient.unpin_message%  s:    ?!!	
 
 
 ||Af|---rd   Optional[int]Response[message.ChannelPins]c                p    i }|||d<   |||d<   |                      t          dd|          |          S )Nr  r   r  z$/channels/{channel_id}/messages/pinsr  r  r  )rb   r   r   r  r  s        rV   	pins_fromzHTTPClient.pins_from.  sP     %F8#F7O||E%)O\fgggpv|wwwrd   r   c                V    t          dd||          }|                     ||          S )Nr  $/guilds/{guild_id}/members/{user_id}r   r  r  r  rb   r  r   ru  r  s        rV   kickzHTTPClient.kick>  s0    (BX_fggg||Af|---rd   Q delete_message_secondsc                `    t          dd||          }d|i}|                     |||          S )Nr  !/guilds/{guild_id}/bans/{user_id}r  r  )r  ru  r  )rb   r  r   r  ru  r  r  s          rV   banzHTTPClient.banB  sC     %<xY`aaa$&<
 ||AfV|<<<rd   c               V    t          dd||          }|                     ||          S )Nr  r  r  r  r  r  s        rV   unbanzHTTPClient.unbanP  s0    (?(\cddd||Af|---rd   user_idsList[Snowflake]#Response[guild.BulkBanUserResponse]c                `    t          dd|          }||d}|                     |||          S )Nr  z/guilds/{guild_id}/bulk-banr   )r#  r  r  r  )rb   r   r#  r  ru  r  rZ   s          rV   bulk_banzHTTPClient.bulk_banT  sE     &7(KKK &<
 
 ||AGF|;;;rd   )mutedeafenru  r)  r   r*  Response[member.Member]c               x    t          dd||          }i }|||d<   |||d<   |                     |||          S )Nr  r  r  r)  deafr  r  )rb   r  r   r)  r*  ru  r  rZ   s           rV   guild_voice_statezHTTPClient.guild_voice_stateb  sW     'AH^efff"GFO$GFO||AGF|;;;rd   rZ   r   Response[user.User]c                L    |                      t          dd          |          S )Nr  r  r  r  )rb   rZ   s     rV   edit_profilezHTTPClient.edit_profileu  s"    ||E'<88w|GGGrd   fieldsResponse[member.MemberWithUser]c               V    t          dd|          }|                     |||          S )Nr  z/guilds/{guild_id}/members/@mer'  r  r  rb   r   ru  r2  r  s        rV   edit_my_memberzHTTPClient.edit_my_memberx  s1     ';hOOO||AF6|:::rd   nicknamec               `    t          dd||          }d|i}|                     |||          S )Nr  r  r  nickr  r  )rb   r   r  r7  ru  r  rZ   s          rV   change_nicknamezHTTPClient.change_nickname  sB     'AH^efffH
 ||AGF|;;;rd   c                T    t          dd|          }|                     ||          S )Nr  #/guilds/{guild_id}/voice-states/@mer'  r  r  )rb   r   rZ   r  s       rV   edit_my_voice_statezHTTPClient.edit_my_voice_state  s-    '@8TTT||AG|,,,rd   c                V    t          dd||          }|                     ||          S )Nr  )/guilds/{guild_id}/voice-states/{user_id}r  r  r  )rb   r   r  rZ   r  s        rV   edit_voice_statezHTTPClient.edit_voice_state  s1    'FQYcjkkk||AG|,,,rd   c               X    t          dd||          }|                     |||          S )Nr  r  r  r  r  )rb   r   r  ru  r2  r  s         rV   edit_memberzHTTPClient.edit_member  s4     'AH^efff||AF6|:::rd   Response[voice.GuildVoiceState]c                L    |                      t          dd|                    S )Nr  r<  r'  r  rb   r   s     rV   get_my_voice_statezHTTPClient.get_my_voice_state  s%    ||E%)NYabbbcccrd   c                N    |                      t          dd||                    S )Nr  r?  r  r  )rb   r   r  s      rV   get_voice_statezHTTPClient.get_voice_state  s(    ||E%)T_gqxyyyzzzrd   optionsc                   t          dd|          }dfd|                                D             }|                     |||          S )Nr  r  r  )r   	parent_idtopicbitratensfw
user_limitpositionpermission_overwritesrate_limit_per_userr4  
rtc_regionvideo_quality_modearchivedauto_archive_durationr7  	invitabledefault_auto_archive_durationry   "default_thread_rate_limit_per_userdefault_reaction_emojiavailable_tagsr   default_forum_layoutdefault_sort_orderc                $    i | ]\  }}|v 	||S r`   r`   r   r   r   
valid_keyss      rV   r   z+HTTPClient.edit_channel.<locals>.<dictcomp>  $    GGGDAqqJ1ard   ru  rs  r   r   r  )rb   r   ru  rI  r  rZ   r`  s         @rV   edit_channelzHTTPClient.edit_channel  s]     '3
KKK

6 HGGGGMMOOGGG||Af7|;;;rd   r  c               ^    t          dd|          }d|i}|                     |||          S )Nr  z#/channels/{channel_id}/voice-statusr  r  rb  r  )rb   r  r   ru  r  rZ   s         rV   edit_voice_channel_statusz$HTTPClient.edit_voice_channel_status  s;     %>:VVVV$||Af7|;;;rd   rt  !List[guild.ChannelPositionUpdate]c               V    t          dd|          }|                     |||          S )Nr  /guilds/{guild_id}/channelsr'  r  r  )rb   r   rt  ru  r  s        rV   bulk_channel_updatezHTTPClient.bulk_channel_update  s1     '88LLL||AD|888rd   channel_typechannel.ChannelTypeResponse[channel.GuildChannel]c                   d|i}d|                     fd|                                D                        |                     t          dd|          ||          S )Nr4  )r   rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rX  rY  r]  rZ  r\  r[  c                (    i | ]\  }}|v 	|||S r_   r`   r_  s      rV   r   z-HTTPClient.create_channel.<locals>.<dictcomp>  s-    ^^^AAOOPQP]1P]P]P]rd   r  ri  r'  r  )r   r   r  r   )rb   r   rk  ru  rI  rZ   r`  s         @rV   create_channelzHTTPClient.create_channel  st     L


& 	^^^^^^^___||E&*GRZ[[[birx|yyyrd   c               P    |                      t          dd|          |          S )Nr  r  r  r  r  rb   r   ru  s      rV   delete_channelzHTTPClient.delete_channel  s,     ||E(,DQ[\\\ek|lllrd   )rR  ru  r   rV  threads.ThreadArchiveDurationrR  Response[threads.Thread]c               d    |||d}t          dd||          }|                     |||          S )N)r   rV  rR  r  z4/channels/{channel_id}/messages/{message_id}/threadsr  r  r  )	rb   r   r  r   rV  rR  ru  rZ   ro  s	            rV   start_thread_with_messagez$HTTPClient.start_thread_with_message  sU     %:#6
 
 JWanx
 
 
 ||E|???rd   )rW  rR  ru  threads.ThreadTyperW  c               f    |||||d}t          dd|          }	|                     |	||          S )N)r   rV  r4  rW  rR  r  /channels/{channel_id}/threadsr  r  r  )
rb   r   r   rV  r4  rW  rR  ru  rZ   ro  s
             rV   start_thread_without_messagez'HTTPClient.start_thread_without_message$  sN     %:"#6
 
 f>:VVV||E|???rd   Response[threads.ForumThread]c                   ddi}t          dd|          }|j        r$|                     ||j        |j        ||          S |                     ||j        ||          S )Nuse_nested_fieldsr   r  rz  r  )r]   rn  r  ru  )rs  r  ru  r  )rb   r   r  ru  queryr  s         rV   start_thread_in_forumz HTTPClient.start_thread_in_forum:  sm     %a(&:zRRR< 	U<<F<LUZci<jjj<<uV<TTTrd   c                L    |                      t          dd|                    S )Nr  )/channels/{channel_id}/thread-members/@mer  r  r  s     rV   join_threadzHTTPClient.join_threadH  s%    ||E%)Taklllmmmrd   c                N    |                      t          dd||                    S )Nr  //channels/{channel_id}/thread-members/{user_id}r   r  r  )rb   r   r  s      rV   add_user_to_threadzHTTPClient.add_user_to_threadK  s/    ||%JWakrsss
 
 	
rd   c                L    |                      t          dd|                    S )Nr  r  r  r  r  s     rV   leave_threadzHTTPClient.leave_threadP  s%    ||E(,Wdnoooppprd   c                R    t          dd||          }|                     |          S )Nr  r  r  r  rb   r   r  ro  s       rV   remove_user_from_threadz"HTTPClient.remove_user_from_threadS  s-    h Q^hryzzz||E"""rd   2   )Response[threads.ThreadPaginationPayload]c                p    t          dd|          }i }|r||d<   ||d<   |                     ||          S )Nr  z./channels/{channel_id}/threads/archived/publicr  r  r   r  r  rb   r   r  r   ro  r  s         rV   get_public_archived_threadsz&HTTPClient.get_public_archived_threadsW  sP     eMZdeee 	&%F8w||E&|111rd   c                p    t          dd|          }i }|r||d<   ||d<   |                     ||          S )Nr  z//channels/{channel_id}/threads/archived/privater  r  r   r  r  r  s         rV   get_private_archived_threadsz'HTTPClient.get_private_archived_threadsb  sP     eN[efff 	&%F8w||E&|111rd   c                p    t          dd|          }i }|r||d<   ||d<   |                     ||          S )Nr  z9/channels/{channel_id}/users/@me/threads/archived/privater  r  r   r  r  r  s         rV   #get_joined_private_archived_threadsz.HTTPClient.get_joined_private_archived_threadsm  sP     eXeoppp 	&%F8w||E&|111rd   c                P    t          dd|          }|                     |          S )Nr  z!/guilds/{guild_id}/threads/activer'  r  )rb   r   ro  s      rV   get_active_threadszHTTPClient.get_active_threadsw  s)    e@8TTT||E"""rd   Response[threads.ThreadMember]c                R    t          dd||          }|                     |          S )Nr  r  r  r  r  s       rV   get_thread_memberzHTTPClient.get_thread_member{  s-    eN[eovwww||E"""rd   $Response[List[threads.ThreadMember]]c                P    t          dd|          }|                     |          S )Nr  z%/channels/{channel_id}/thread-membersr  r  )rb   r   ro  s      rV   get_thread_memberszHTTPClient.get_thread_members  s*    eDQ[\\\||E"""rd   )avatarru  r  Optional[bytes]Response[webhook.Webhook]c               l    d|i}|||d<   t          dd|          }|                     |||          S )Nr   r  r  /channels/{channel_id}/webhooksr  r  r  )rb   r   r   r  ru  rZ   r  s          rV   create_webhookzHTTPClient.create_webhook  sO     D#
  &GH&;
SSS||AGF|;;;rd   Response[List[webhook.Webhook]]c                L    |                      t          dd|                    S )Nr  r  r  r  r  s     rV   channel_webhookszHTTPClient.channel_webhooks  s%    ||E%)JWabbbcccrd   c                L    |                      t          dd|                    S )Nr  z/guilds/{guild_id}/webhooksr'  r  rE  s     rV   guild_webhookszHTTPClient.guild_webhooks  %    ||E%)FQYZZZ[[[rd   r   c                L    |                      t          dd|                    S )Nr  z/webhooks/{webhook_id})r   r  )rb   r   s     rV   get_webhookzHTTPClient.get_webhook  $    ||E%)AjYYYZZZrd   webhook_channel_idc                t    dt          |          i}|                     t          dd|          ||          S )Nr  r  z /channels/{channel_id}/followersr  r  )r   r  r   )rb   r   r  ru  rZ   s        rV   follow_webhookzHTTPClient.follow_webhook  sO     !#&8"9"9
 ||&<TTT[bkq  
 
 	
rd   with_countsResponse[List[guild.Guild]]c                    |t          |          d}|r||d<   |r||d<   |                     t          dd          |          S )N)r   r  r  r  r  z/users/@me/guildsr  r   r  r   )rb   r   r  r  r  r  s         rV   
get_guildszHTTPClient.get_guilds  sd     {++"
 "

  	&%F8 	$#F7O||E%)<==f|MMMrd   c                L    |                      t          dd|                    S )Nr  z/users/@me/guilds/{guild_id}r'  r  rE  s     rV   leave_guildzHTTPClient.leave_guild  s%    ||E(,JU]^^^___rd   )r  Response[guild.Guild]c               r    dt          |          i}|                     t          dd|          |          S )Nr  r  /guilds/{guild_id}r'  r  r  )rb   r   r  r  s       rV   	get_guildzHTTPClient.get_guild  s;    [!1!12||E%)=QQQZ`|aaard   Response[guild.GuildPreview]c                L    |                      t          dd|                    S )Nr  z/guilds/{guild_id}/previewr'  r  rE  s     rV   get_guild_previewzHTTPClient.get_guild_preview  %    ||E%)EPXYYYZZZrd   c                L    |                      t          dd|                    S )Nr  r  r'  r  rE  s     rV   delete_guildzHTTPClient.delete_guild  s$    ||E(,@8TTTUUUrd   iconc                b    d|i}|r||d<   |                      t          dd          |          S )Nr   r  r  z/guildsr  r  )rb   r   r  rZ   s       rV   create_guildzHTTPClient.create_guild  sA    D
  	#"GFO||E&)447|CCCrd   c                   dfd|                                 D             }|                     t          dd|          ||          S )N)r   regionr  afk_timeoutowner_idafk_channel_idsplashdiscovery_splashfeaturesverification_levelsystem_channel_iddefault_message_notificationsdescriptionexplicit_content_filterbannersystem_channel_flagsrules_channel_idpublic_updates_channel_idpreferred_localepremium_progress_bar_enabledsafety_alerts_channel_idc                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z)HTTPClient.edit_guild.<locals>.<dictcomp>  $    FFFDAqa:oo1aooord   r  r  r'  r  r   r  r   rb   r   ru  r2  rZ   r`  s        @rV   
edit_guildzHTTPClient.edit_guild  sX    

0 GFFFFLLNNFFF||E'+?(SSSZajp|qqqrd   	mfa_levelResponse[guild.GuildMFALevel]c               Z    d|i}|                      t          dd|          ||          S )Nlevelr  z/guilds/{guild_id}/mfar'  r  r  )rb   r   r  ru  rZ   s        rV   edit_guild_mfa_levelzHTTPClient.edit_guild_mfa_level  s8     I&||E&*BXVVV]dms|tttrd   codeResponse[template.Template]c                L    |                      t          dd|                    S )Nr  /guilds/templates/{code}r  r  )rb   r  s     rV   get_templatezHTTPClient.get_template  s$    ||E%)C$OOOPPPrd   !Response[List[template.Template]]c                L    |                      t          dd|                    S )Nr  /guilds/{guild_id}/templatesr'  r  rE  s     rV   guild_templateszHTTPClient.guild_templates  s%    ||E%)GRZ[[[\\\rd   c                P    |                      t          dd|          |          S )Nr  r  r'  r  r  rb   r   rZ   s      rV   create_templatezHTTPClient.create_template   s*    ||E&*HS[\\\cj|kkkrd   c                N    |                      t          dd||                    S )Nr  #/guilds/{guild_id}/templates/{code}r   r  r  rb   r   r  s      rV   sync_templatezHTTPClient.sync_template  s(    ||E%)NYahlmmmnnnrd   c                    dfd|                                 D             }|                     t          dd||          |          S )N)r   r  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z,HTTPClient.edit_template.<locals>.<dictcomp>  ra  rd   r  r  r  r  r  )rb   r   r  rZ   r`  s       @rV   edit_templatezHTTPClient.edit_template  sb    

 HGGGGMMOOGGG||'@8Z^___fm  
 
 	
rd   c                N    |                      t          dd||                    S )Nr  r  r  r  r  s      rV   delete_templatezHTTPClient.delete_template  s(    ||E(,Q\dkopppqqqrd   c                f    d|i}|r||d<   |                      t          dd|          |          S )Nr   r  r  r  r  r  r  )rb   r  r   r  rZ   s        rV   create_from_templatezHTTPClient.create_from_template  sH    D
  	#"GFO||E&*D4PPPW^|___rd   Response[List[guild.Ban]]c                t    d|i}|||d<   |||d<   |                      t          dd|          |          S )Nr   r  r  r  z/guilds/{guild_id}/bansr'  r  r  )rb   r   r   r  r  r  s         rV   get_banszHTTPClient.get_bans  sX     U"
 %F8#F7O||E%)BXVVV_e|fffrd   &Response[welcome_screen.WelcomeScreen]c                L    |                      t          dd|                    S )Nr  !/guilds/{guild_id}/welcome-screenr'  r  rE  s     rV   get_welcome_screenzHTTPClient.get_welcome_screen,  s%    ||E%)LW_```aaard   c                   dfd|                                 D             }|                     t          dd|          ||          S )N)r  welcome_channelsenabledc                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z2HTTPClient.edit_welcome_screen.<locals>.<dictcomp>7  r  rd   r  r   r'  r  r  r  s        @rV   edit_welcome_screenzHTTPClient.edit_welcome_screen/  sb    


 GFFFFLLNNFFF||'>RRRY`io  
 
 	
rd   Response[guild.Ban]c                N    |                      t          dd||                    S )Nr  r  r  r  )rb   r  r   s      rV   get_banzHTTPClient.get_ban<  s(    ||E%)LW_ipqqqrrrrd   Response[invite.VanityInvite]c                L    |                      t          dd|                    S )Nr  /guilds/{guild_id}/vanity-urlr'  r  rE  s     rV   get_vanity_codezHTTPClient.get_vanity_code?  %    ||E%)HS[\\\]]]rd   c               Z    d|i}|                      t          dd|          ||          S )Nr  r  r  r'  r  r  )rb   r   r  ru  rZ   s        rV   change_vanity_codezHTTPClient.change_vanity_codeB  s6    #)4.||E'+JU]^^^elu{||||rd   "Response[List[guild.GuildChannel]]c                L    |                      t          dd|                    S )Nr  ri  r'  r  rE  s     rV   get_all_guild_channelsz!HTTPClient.get_all_guild_channelsF  r  rd   %Response[List[member.MemberWithUser]]c                j    d|i}|r||d<   t          dd|          }|                     ||          S )Nr   r  r  z/guilds/{guild_id}/membersr'  r  r  )rb   r   r   r  r  r  s         rV   get_memberszHTTPClient.get_membersI  sN     U"
  	$#F7O%5III||Af|---rd   c                N    |                      t          dd||                    S )Nr  z&/guilds/{guild_id}/members/{member_id})r   r  r  )rb   r   r  s      rV   
get_memberzHTTPClient.get_memberU  s(    ||E%)Q\dpyzzz{{{rd   r  compute_prune_countrolesIterable[str]Response[guild.GuildPrune]c                   ||rdndd}|rd                     |          |d<   |                     t          dd|          ||	          S )
Ntruefalse)r  r  , include_rolesr  /guilds/{guild_id}/pruner'  r  r   r  r   )rb   r   r  r  r  ru  rZ   s          rV   prune_memberszHTTPClient.prune_membersX  si     -@#M66g#
 #
  	8'+yy'7'7GO$||E&*DxXXX_fou|vvvrd   c                    d|i}|rd                     |          |d<   |                     t          dd|          |          S )Nr  r   r!  r  r"  r'  r  r#  )rb   r   r  r  r  s        rV   estimate_pruned_membersz"HTTPClient.estimate_pruned_membersj  sW     D"
  	7&*ii&6&6F?#||E%)ChWWW`f|gggrd   
sticker_idResponse[sticker.Sticker]c                L    |                      t          dd|                    S )Nr  z/stickers/{sticker_id})r'  r  )rb   r'  s     rV   get_stickerzHTTPClient.get_stickerx  r  rd   sticker_pack_idResponse[sticker.StickerPack]c                L    |                      t          dd|                    S )Nr  z /sticker-packs/{sticker_pack_id})r+  r  )rb   r+  s     rV   get_sticker_packzHTTPClient.get_sticker_pack{  s%    ||E%)K]lmmmnnnrd   )Response[sticker.ListPremiumStickerPacks]c                H    |                      t          dd                    S )Nr  z/sticker-packsr  ra   s    rV   list_premium_sticker_packsz%HTTPClient.list_premium_sticker_packs~  s    ||E%)9::;;;rd   $Response[List[sticker.GuildSticker]]c                L    |                      t          dd|                    S )Nr  /guilds/{guild_id}/stickersr'  r  rE  s     rV   get_all_guild_stickersz!HTTPClient.get_all_guild_stickers  r  rd   Response[sticker.GuildSticker]c                N    |                      t          dd||                    S )Nr  (/guilds/{guild_id}/stickers/{sticker_id}r   r'  r  )rb   r   r'  s      rV   get_guild_stickerzHTTPClient.get_guild_sticker  s.    ||%Chcmnnn
 
 	
rd   rn   r   c                   |j                             d          }	 t          j        |          }n*# t          $ r |                    d          rd}nd}Y nw xY w|                                 n# |                                 w xY wd|j         |j        |dg}|                                D ]\  }}	|	                    ||	d           | 
                    t          dd	|
          ||g|          S )N      {rQ   r   rn   r   r   r  r4  r'  )rn  r]   ru  )r   r  r"   _get_mime_type_for_imager   
startswithr  r   r   r   r  r   )
rb   r   rZ   rn   ru  initial_bytes	mime_typern  r   r   s
             rV   create_guild_stickerzHTTPClient.create_guild_sticker  s7    R((	6}EEII 	7 	7 	7''-- 7.		6			7 JJLLLLDJJLLLL  M )	 &
 MMOO 	 	DAqKK     ||&7(KKKRV_c^dms  
 
 	
s&   1 A0 $AA0 AA0 0Bc                T    |                      t          dd||          ||          S )Nr  r8  r9  r  r  )rb   r   r'  rZ   ru  s        rV   modify_guild_stickerzHTTPClient.modify_guild_sticker  s<     ||'EPXeoppp  
 
 	
rd   c                R    |                      t          dd||          |          S )Nr  r8  r9  r  r  )rb   r   r'  ru  s       rV   delete_guild_stickerzHTTPClient.delete_guild_sticker  s7    ||(FQYfpqqq  
 
 	
rd   Response[List[emoji.Emoji]]c                L    |                      t          dd|                    S )Nr  /guilds/{guild_id}/emojisr'  r  rE  s     rV   get_all_custom_emojisz HTTPClient.get_all_custom_emojis  s$    ||E%)DxXXXYYYrd   emoji_idResponse[emoji.Emoji]c                N    |                      t          dd||                    S )Nr  $/guilds/{guild_id}/emojis/{emoji_id}r   rK  r  )rb   r   rK  s      rV   get_custom_emojizHTTPClient.get_custom_emoji  s(    ||E%)OZbmuvvvwwwrd   )r  ru  imager   c               f    |||pg d}t          dd|          }|                     |||          S )N)r   rQ  r  r  rI  r'  r  r  )rb   r   r   rQ  r  ru  rZ   r  s           rV   create_custom_emojizHTTPClient.create_custom_emoji  sL     [b
 
 &5III||AGF|;;;rd   c               V    t          dd||          }|                     ||          S )Nr  rN  rO  r  r  )rb   r   rK  ru  r  s        rV   delete_custom_emojizHTTPClient.delete_custom_emoji  s2     (BX`hiii||Af|---rd   c               X    t          dd||          }|                     |||          S )Nr  rN  rO  r  r  )rb   r   rK  rZ   ru  r  s         rV   edit_custom_emojizHTTPClient.edit_custom_emoji  s4     'AH_ghhh||AGF|;;;rd   'Response[List[integration.Integration]]c                P    t          dd|          }|                     |          S )Nr  /guilds/{guild_id}/integrationsr'  r  )rb   r   r  s      rV   get_all_integrationszHTTPClient.get_all_integrations  s'    %:XNNN||Ard   integration.IntegrationTypeidc                ^    ||d}t          dd|          }|                     ||          S )N)r4  r]  r  rZ  r'  r  r  )rb   r   r4  r]  rZ   r  s         rV   create_integrationzHTTPClient.create_integration  sA    
 

 &;hOOO||AG|,,,rd   integration_idc                V    t          dd||          }|                     ||          S )Nr  0/guilds/{guild_id}/integrations/{integration_id}r   r`  r  r  )rb   r   r`  rZ   r  s        rV   edit_integrationzHTTPClient.edit_integration  s:    GRZky
 
 
 ||AG|,,,rd   c                R    t          dd||          }|                     |          S )Nr  z5/guilds/{guild_id}/integrations/{integration_id}/syncrc  r  )rb   r   r`  r  s       rV   sync_integrationzHTTPClient.sync_integration  s4    KV^o}
 
 
 ||Ard   c               V    t          dd||          }|                     ||          S )Nr  rb  rc  r  r  )rb   r   r`  ru  r  s        rV   delete_integrationzHTTPClient.delete_integration	  s<     HS[lz
 
 
 ||Af|---rd   d   action_type!Optional[audit_log.AuditLogEvent]Response[audit_log.AuditLog]c                    d|i}|r||d<   |||d<   |r||d<   |r||d<   t          dd|          }|                     ||	          S )
Nr   r  r  r  rj  r  z/guilds/{guild_id}/audit-logsr'  r  r  )	rb   r   r   r  r  r  rj  r  r  s	            rV   get_audit_logszHTTPClient.get_audit_logs  s~     #*5!1 	&%F8#F7O 	( 'F9 	0$/F=!%88LLL||Af|---rd   Response[widget.Widget]c                L    |                      t          dd|                    S )Nr  z/guilds/{guild_id}/widget.jsonr'  r  rE  s     rV   
get_widgetzHTTPClient.get_widget(  s%    ||E%)IT\]]]^^^rd   widget.EditWidgetSettingsResponse[widget.WidgetSettings]c                R    |                      t          dd|          ||          S )Nr  z/guilds/{guild_id}/widgetr'  r  r  )rb   r   rZ   ru  s       rV   edit_widgetzHTTPClient.edit_widget+  s/     ||E'+FQYZZZahqw|xxxrd   guild.IncidentDataResponse[guild.IncidentData]c                P    |                      t          dd|          |          S )Nr  z#/guilds/{guild_id}/incident-actionsr'  r  r  r  s      rV   edit_incident_actionsz HTTPClient.edit_incident_actions0  s*    ||E%)NYabbbip|qqqrd   F)	ru  max_agemax_uses	temporaryuniquetarget_typetarget_user_idtarget_application_idry   rz  r{  r|  r}  r~  !Optional[invite.InviteTargetType]r  r  ry   Response[invite.Invite]c       	            t          dd|          }||||d}|r||d<   |r||d<   |	rt          |	          |d<   |
r|
|d<   |                     |||	          S )
Nr  /channels/{channel_id}/invitesr  )rz  r{  r|  r}  r~  r  r  ry   rb  )r   r   r  )rb   r   ru  rz  r{  r|  r}  r~  r  r  ry   r  rZ   s                rV   create_invitezHTTPClient.create_invite5  s     &:zRRR "	
 
  	1%0GM" 	7(6G$%  	J/23H/I/IG+, 	%$GG||Af7|;;;rd   )r  guild_scheduled_event_id	invite_idr  c                   dt          |          i}|r||d<   |                     t          dd|          |          S )Nr  r  r  /invites/{invite_id}r  r  r  )rb   r  r  r  r  s        rV   
get_invitezHTTPClient.get_inviteY  sU     3{++"
 $ 	J1IF-.||E%)?9UUU^d|eeerd   Response[List[invite.Invite]]c                L    |                      t          dd|                    S )Nr  z/guilds/{guild_id}/invitesr'  r  rE  s     rV   invites_fromzHTTPClient.invites_fromi  r  rd   c                L    |                      t          dd|                    S )Nr  r  r  r  r  s     rV   invites_from_channelzHTTPClient.invites_from_channell  s%    ||E%)IV`aaabbbrd   c               P    |                      t          dd|          |          S )Nr  r  r  r  r  )rb   r  ru  s      rV   delete_invitezHTTPClient.delete_inviteo  s)    ||E(,BiXXXag|hhhrd   Response[List[role.Role]]c                L    |                      t          dd|                    S )Nr  /guilds/{guild_id}/rolesr'  r  rE  s     rV   	get_roleszHTTPClient.get_rolest  s$    ||E%)ChWWWXXXrd   role_idResponse[role.Role]c                N    |                      t          dd||                    S )Nr  "/guilds/{guild_id}/roles/{role_id}r   r  r  )rb   r   r  s      rV   get_rolezHTTPClient.get_rolew  s(    ||E%)MX`jqrrrsssrd   Response[Dict[str, int]]c                L    |                      t          dd|                    S )Nr  z&/guilds/{guild_id}/roles/member-countsr'  r  rE  s     rV   get_role_member_countsz!HTTPClient.get_role_member_countsz  s%    ||E%)Q\deeefffrd   c                   t          dd||          }dfd|                                D             }|                     |||          S )Nr  r  r  )r   permissionscolorhoistr  unicode_emojimentionablecolorsc                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z(HTTPClient.edit_role.<locals>.<dictcomp>  r  rd   r  rc  )rb   r   r  ru  r2  r  rZ   r`  s          @rV   	edit_rolezHTTPClient.edit_role}  s[     '?(\cdddp
FFFFFLLNNFFF||AGF|;;;rd   c               V    t          dd||          }|                     ||          S )Nr  r  r  r  r  )rb   r   r  ru  r  s        rV   delete_rolezHTTPClient.delete_role  s0    (@8]deee||Af|---rd   role_idsc               4    |                      ||||          S )N)r   r  r  ru  rB  )rb   r  r   r  ru  s        rV   replace_roleszHTTPClient.replace_roles  s"     7([abbbrd   c               V    t          dd|          }|                     |||          S )Nr  r  r'  r  r  r5  s        rV   create_rolezHTTPClient.create_role  s/    &4xHHH||AF6|:::rd   	positionsList[guild.RolePositionUpdate]c               V    t          dd|          }|                     |||          S )Nr  r  r'  r  r  )rb   r   r  ru  r  s        rV   move_role_positionzHTTPClient.move_role_position  s1     '5III||AIf|===rd   c               X    t          dd|||          }|                     ||          S )Nr  4/guilds/{guild_id}/members/{user_id}/roles/{role_id}r   r  r  r  r  rb   r   r  r  ru  r  s         rV   add_rolezHTTPClient.add_role  s?     B
 
 
 ||Af|---rd   c               X    t          dd|||          }|                     ||          S )Nr  r  r  r  r  r  s         rV   remove_rolezHTTPClient.remove_role  s?     B
 
 
 ||Af|---rd   targetallowdenychannel.OverwriteTypec               f    ||||d}t          dd||          }|                     |||          S )N)r]  r  r  r4  r  +/channels/{channel_id}/permissions/{target}r   r  r  r  )	rb   r   r  r  r  r4  ru  rZ   r  s	            rV   edit_channel_permissionsz#HTTPClient.edit_channel_permissions  sF      %tLL%FS]flmmm||AGF|;;;rd   c               V    t          dd||          }|                     ||          S )Nr  r  r  r  r  )rb   r   r  ru  r  s        rV   delete_channel_permissionsz%HTTPClient.delete_channel_permissions  s3     (IV`ioppp||Af|---rd   c               4    |                      ||||          S )N)r   r  r   ru  r  )rb   r  r   r   ru  s        rV   move_memberzHTTPClient.move_member  s"     7zbhiiird   Response[channel.StageInstance]c                L    |                      t          dd|                    S )Nr  /stage-instances/{channel_id}r  r  r  s     rV   get_stage_instancezHTTPClient.get_stage_instance  s%    ||E%)HU_```aaard   c                   dfd|                                 D             }|                     t          dd          ||          S )N)r   rL  privacy_levelsend_start_notificationr  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z4HTTPClient.create_stage_instance.<locals>.<dictcomp>  ra  rd   r  z/stage-instancesr  r  rb   ru  rZ   r`  s      @rV   create_stage_instancez HTTPClient.create_stage_instance  sR    

 HGGGGMMOOGGG||E&*<==GTZ|[[[rd   c                   dfd|                                 D             }|                     t          dd|          ||          S )N)rL  r  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z2HTTPClient.edit_stage_instance.<locals>.<dictcomp>  ra  rd   r  r  r  r  r  )rb   r   ru  rZ   r`  s       @rV   edit_stage_instancezHTTPClient.edit_stage_instance  sb    

 HGGGGMMOOGGG||':zRRRY`io  
 
 	
rd   c               P    |                      t          dd|          |          S )Nr  r  r  r  r  rr  s      rV   delete_stage_instancez HTTPClient.delete_stage_instance  s*    ||E(,KXbccclr|sssrd   with_user_countLiteral[True]@Response[List[scheduled_event.GuildScheduledEventWithUserCount]]c                    d S r_   r`   rb   r   r  s      rV   get_scheduled_eventszHTTPClient.get_scheduled_events  s     LO3rd   Literal[False]3Response[List[scheduled_event.GuildScheduledEvent]]c                    d S r_   r`   r  s      rV   r  zHTTPClient.get_scheduled_events  s
     ?Bcrd   |Union[Response[List[scheduled_event.GuildScheduledEventWithUserCount]], Response[List[scheduled_event.GuildScheduledEvent]]]c                    d S r_   r`   r  s      rV   r  zHTTPClient.get_scheduled_events  	    
 srd   Response[Any]c                r    dt          |          i}|                     t          dd|          |          S )Nr  r  #/guilds/{guild_id}/scheduled-eventsr'  r  r  )rb   r   r  r  s       rV   r  zHTTPClient.get_scheduled_events  s<    #S%9%9:||E%)NYabbbkq|rrrrd   -Response[scheduled_event.GuildScheduledEvent]c                   dfd|                                 D             }|                     t          dd|          ||          S )N)	r   entity_metadatar   r  scheduled_start_timescheduled_end_timer  entity_typerQ  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z;HTTPClient.create_guild_scheduled_event.<locals>.<dictcomp>  ra  rd   r  r  r'  r  r  rb   r   ru  rZ   r`  s       @rV   create_guild_scheduled_eventz'HTTPClient.create_guild_scheduled_event  sb    


 HGGGGMMOOGGG||&?(SSSZajp  
 
 	
rd   :Response[scheduled_event.GuildScheduledEventWithUserCount]c                    d S r_   r`   rb   r   r  r  s       rV   get_scheduled_eventzHTTPClient.get_scheduled_event#  s     FISrd   c                    d S r_   r`   r  s       rV   r  zHTTPClient.get_scheduled_event(  s	     9<rd   pUnion[Response[scheduled_event.GuildScheduledEventWithUserCount], Response[scheduled_event.GuildScheduledEvent]]c                    d S r_   r`   r  s       rV   r  zHTTPClient.get_scheduled_event-  r  rd   c                t    dt          |          i}|                     t          dd||          |          S )Nr  r  >/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}r   r  r  r  )rb   r   r  r  r  s        rV   r  zHTTPClient.get_scheduled_event4  sT     $S%9%9:||P!)A	     
 
 	
rd   c                   dfd|                                 D             }|                     t          dd||          ||          S )N)
r   r  r   r  r  r  r  r  r  rQ  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z3HTTPClient.edit_scheduled_event.<locals>.<dictcomp>Q  ra  rd   r  r  r  r  r  )rb   r   r  ru  rZ   r`  s        @rV   edit_scheduled_eventzHTTPClient.edit_scheduled_eventB  so    

 HGGGGMMOOGGG||P!)A	     	
 	
 		
rd   c               R    |                      t          dd||          |          S )Nr  r  r  r  r  )rb   r   r  ru  s       rV   delete_scheduled_eventz!HTTPClient.delete_scheduled_event^  sB     ||P!)A	     
 
 	
rd   .with_member7Response[scheduled_event.ScheduledEventUsersWithMember]c                    d S r_   r`   rb   r   r  r   r  r  r  s          rV   get_scheduled_event_usersz$HTTPClient.get_scheduled_event_userso  s     CF#rd   -Response[scheduled_event.ScheduledEventUsers]c                    d S r_   r`   r  s          rV   r  z$HTTPClient.get_scheduled_event_usersz  s	     9<rd   mUnion[Response[scheduled_event.ScheduledEventUsersWithMember], Response[scheduled_event.ScheduledEventUsers]]c                    d S r_   r`   r  s          rV   r  z$HTTPClient.get_scheduled_event_users  s     y|x{rd   c                    |t          |          d}|||d<   |||d<   |                     t          dd||          |          S )N)r   r  r  r  r  zD/guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/usersr  r  r  )rb   r   r  r   r  r  r  r  s           rV   r  z$HTTPClient.get_scheduled_event_users  s}     {++"
 "

 %F8#F7O||V!)A	     
 
 	
rd   application_id*Response[List[command.ApplicationCommand]]c                L    |                      t          dd|                    S )Nr  '/applications/{application_id}/commandsr  r  rb   r  s     rV   get_global_commandszHTTPClient.get_global_commands  s%    ||E%)Rcqrrrsssrd   
command_id$Response[command.ApplicationCommand]c                R    t          dd||          }|                     |          S )Nr  4/applications/{application_id}/commands/{command_id}r  r  r  rb   r  r  r  s       rV   get_global_commandzHTTPClient.get_global_command  s4    B)!	
 
 
 ||Ard   command.ApplicationCommandc                T    t          dd|          }|                     ||          S )Nr  r  r  r  r  rb   r  rZ   r  s       rV   upsert_global_commandz HTTPClient.upsert_global_command  s0     &CTbccc||AG|,,,rd   c                    dfd|                                 D             }t          dd||          }|                     ||          S )Nr   r  rI  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z2HTTPClient.edit_global_command.<locals>.<dictcomp>  ra  rd   r  r  r  r  r   r   r  )rb   r  r  rZ   r  r`  s        @rV   edit_global_commandzHTTPClient.edit_global_command  sf    


 HGGGGMMOOGGGB)!	
 
 
 ||AG|,,,rd   c                R    t          dd||          }|                     |          S )Nr  r  r  r  r  s       rV   delete_global_commandz HTTPClient.delete_global_command  s4    B)!	
 
 
 ||Ard   List[Dict[str, Any]]c                T    t          dd|          }|                     ||          S )Nr  r  r  r  r  r  s       rV   bulk_upsert_global_commandsz&HTTPClient.bulk_upsert_global_commands  s0     %BSabbb||AG|,,,rd   c                R    t          dd||          }|                     |          S )Nr  9/applications/{application_id}/guilds/{guild_id}/commandsr  r   r  rb   r  r   r  s       rV   get_guild_commandszHTTPClient.get_guild_commands  s6     G)	
 
 
 ||Ard   c                T    t          dd|||          }|                     |          S )Nr  F/applications/{application_id}/guilds/{guild_id}/commands/{command_id}r  r   r  r  rb   r  r   r  r  s        rV   get_guild_commandzHTTPClient.get_guild_command  s9     T)!
 
 
 ||Ard   c                V    t          dd||          }|                     ||          S )Nr  r%  r&  r  r  rb   r  r   rZ   r  s        rV   upsert_guild_commandzHTTPClient.upsert_guild_command 	  s<     G)	
 
 
 ||AG|,,,rd   c                    dfd|                                 D             }t          dd|||          }|                     ||          S )Nr  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z1HTTPClient.edit_guild_command.<locals>.<dictcomp>	  ra  rd   r  r*  r+  r  r  )rb   r  r   r  rZ   r  r`  s         @rV   edit_guild_commandzHTTPClient.edit_guild_command	  si    


 HGGGGMMOOGGGT)!
 
 
 ||AG|,,,rd   c                T    t          dd|||          }|                     |          S )Nr  r*  r+  r  r,  s        rV   delete_guild_commandzHTTPClient.delete_guild_command$	  s9     T)!
 
 
 ||Ard   c                V    t          dd||          }|                     ||          S )Nr  r%  r&  r  r  r/  s        rV   bulk_upsert_guild_commandsz%HTTPClient.bulk_upsert_guild_commands3	  s<     G)	
 
 
 ||AG|,,,rd   :Response[List[command.GuildApplicationCommandPermissions]]c                R    t          dd||          }|                     |          S )Nr  zE/applications/{application_id}/guilds/{guild_id}/commands/permissionsr&  r  r'  s       rV   )get_guild_application_command_permissionsz4HTTPClient.get_guild_application_command_permissionsA	  s6    
 S)	
 
 
 ||Ard   4Response[command.GuildApplicationCommandPermissions]c                T    t          dd|||          }|                     |          S )Nr  R/applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permissionsr+  r  r,  s        rV   #get_application_command_permissionsz.HTTPClient.get_application_command_permissionsN	  s9     `)!
 
 
 ||Ard   c                X    t          dd|||          }|                     ||          S )Nr  r=  r+  r  r  )rb   r  r   r  rZ   r  s         rV   $edit_application_command_permissionsz/HTTPClient.edit_application_command_permissions]	  s?     `)!
 
 
 ||AG|,,,rd   *Response[List[automod.AutoModerationRule]]c                L    |                      t          dd|                    S )Nr  (/guilds/{guild_id}/auto-moderation/rulesr'  r  rE  s     rV   get_auto_moderation_rulesz$HTTPClient.get_auto_moderation_rulesm	  s%    ||E%)S^fggghhhrd   rule_id$Response[automod.AutoModerationRule]c                N    |                      t          dd||                    S )Nr  2/guilds/{guild_id}/auto-moderation/rules/{rule_id}r   rE  r  )rb   r   rE  s      rV   get_auto_moderation_rulez#HTTPClient.get_auto_moderation_rulep	  s/    ||%MX`jqrrr
 
 	
rd   c                   dfd|                                 D             }|                     t          dd|          ||          S )N)r   
event_typetrigger_typetrigger_metadataactionsr  exempt_rolesexempt_channelsc                (    i | ]\  }}|v 	|||S r_   r`   r_  s      rV   r   z:HTTPClient.create_auto_moderation_rule.<locals>.<dictcomp>	  (    YYYDAqqJ1=1a===rd   r  rC  r'  r  r  r  s       @rV   create_auto_moderation_rulez&HTTPClient.create_auto_moderation_ruleu	  sb    	

 ZYYYGMMOOYYY||&DxXXX_fou  
 
 	
rd   c                   dfd|                                 D             }|                     t          dd||          ||          S )N)r   rL  rN  rO  r  rP  rQ  c                (    i | ]\  }}|v 	|||S r_   r`   r_  s      rV   r   z8HTTPClient.edit_auto_moderation_rule.<locals>.<dictcomp>	  rS  rd   r  rH  rI  r  r  )rb   r   rE  ru  rZ   r`  s        @rV   edit_auto_moderation_rulez$HTTPClient.edit_auto_moderation_rule	  sf    

 ZYYYGMMOOYYY||'OZblsttt  
 
 	
rd   c               R    |                      t          dd||          |          S )Nr  rH  rI  r  r  )rb   r   rE  ru  s       rV   delete_auto_moderation_rulez&HTTPClient.delete_auto_moderation_rule	  s9     ||(P[cmtuuu  
 
 	
rd   Response[List[sku.SKU]]c                L    |                      t          dd|                    S )Nr  z#/applications/{application_id}/skusr  r  r  s     rV   get_skuszHTTPClient.get_skus	  s%    ||E%)N_mnnnooord   sku_idsexclude_endedexclude_deletedResponse[List[sku.Entitlement]]c
                D   i }
|||
d<   |+d                     t          t          |                    |
d<   |||
d<   |||
d<   |||
d<   |||
d<   |t          |          |
d<   |	t          |	          |
d	<   |                     t          d
d|          |
          S )Nr  ,r]  r  r  r   r   r^  r_  r  +/applications/{application_id}/entitlementsr  r  )r   mapr   r   r  r   )rb   r  r  r]  r  r  r   r   r^  r_  r  s              rV   get_entitlementszHTTPClient.get_entitlements	  s     "$ 'F9 #S'):): ; ;F9%F8#F7O#F7O!)F:$&)-&8&8F?#&(+O(<(<F$%||%FWefffou  
 
 	
rd   entitlement_idResponse[sku.Entitlement]c                N    |                      t          dd||                    S )Nr  </applications/{application_id}/entitlements/{entitlement_id}r  rf  r  rb   r  rf  s      rV   get_entitlementzHTTPClient.get_entitlement	  s6    ||N--	  
 
 	
rd   c                N    |                      t          dd||                    S )Nr  zD/applications/{application_id}/entitlements/{entitlement_id}/consumerj  r  rk  s      rV   consume_entitlementzHTTPClient.consume_entitlement	  s6    ||V--	  
 
 	
rd   sku_idr  
owner_typesku.EntitlementOwnerTypec                \    |||d}|                      t          dd|          |          S )N)ro  r  rp  r  rc  r  r  r  )rb   r  ro  r  rp  rZ   s         rV   create_entitlementzHTTPClient.create_entitlement	  sV      $
 
 ||=-  
   
 
 	
rd   c                N    |                      t          dd||                    S )Nr  ri  rj  r  rk  s      rV   delete_entitlementzHTTPClient.delete_entitlement	  s6    ||N--	  
 
 	
rd   Response[onboarding.Onboarding]c                L    |                      t          dd|                    S )Nr  z/guilds/{guild_id}/onboardingr'  r  rE  s     rV   get_guild_onboardingzHTTPClient.get_guild_onboarding 
  r  rd   )promptsdefault_channel_idsr  modery  !Optional[List[onboarding.Prompt]]rz  Optional[List[Snowflake]]r  r{  #Optional[onboarding.OnboardingMode]c                   i }|||d<   |||d<   |||d<   |||d<   |                      t          dd| d|          ||	          S )
Nry  rz  r  r{  r  z/guilds/z/onboardingr'  r  r  )rb   r   ry  rz  r  r{  ru  rZ   s           rV   edit_guild_onboardingz HTTPClient.edit_guild_onboarding
  s     !(GI*-@G)*!(GI"GFO||%9H999HMMM  
 
 	
rd   1Response[List[soundboard.SoundboardDefaultSound]]c                H    |                      t          dd                    S )Nr  z/soundboard-default-soundsr  ra   s    rV   get_soundboard_default_soundsz(HTTPClient.get_soundboard_default_sounds#
  s    ||E%)EFFGGGrd   sound_id$Response[soundboard.SoundboardSound]c                N    |                      t          dd||                    S )Nr  //guilds/{guild_id}/soundboard-sounds/{sound_id}r   r  r  )rb   r   r  s      rV   get_soundboard_soundzHTTPClient.get_soundboard_sound&
  s/    ||%JU]hpqqq
 
 	
rd   5Response[Dict[str, List[soundboard.SoundboardSound]]]c                L    |                      t          dd|                    S )Nr  $/guilds/{guild_id}/soundboard-soundsr'  r  rE  s     rV   get_soundboard_soundsz HTTPClient.get_soundboard_sounds+
  s%    ||E%)OZbcccdddrd   c                   dfd|                                 D             }|                     t          dd|          ||          S )N)r   soundvolumerK  
emoji_namec                (    i | ]\  }}|v 	|||S r_   r`   r_  s      rV   r   z6HTTPClient.create_soundboard_sound.<locals>.<dictcomp>9
  rS  rd   r  r  r'  r  r  r  s       @rV   create_soundboard_soundz"HTTPClient.create_soundboard_sound.
  sb    

 ZYYYGMMOOYYY||&@8TTT[bkq  
 
 	
rd   c                   dfd|                                 D             }|                     t          dd||          ||          S )N)r   r  rK  r  c                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z4HTTPClient.edit_soundboard_sound.<locals>.<dictcomp>I
  ra  rd   r  r  r  r  r  )rb   r   r  ru  rZ   r`  s        @rV   edit_soundboard_soundz HTTPClient.edit_soundboard_sound?
  so    

 HGGGGMMOOGGG||A!!	     	
 	
 		
rd   c               R    |                      t          dd||          |          S )Nr  r  r  r  r  )rb   r   r  ru  s       rV   delete_soundboard_soundz"HTTPClient.delete_soundboard_soundV
  s@    ||A!!	     
 
 	
rd   c                    dfd|                                 D             }|                     t          dd|          |          S )N)r  source_guild_idc                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z4HTTPClient.send_soundboard_sound.<locals>.<dictcomp>c
  ra  rd   r  z,/channels/{channel_id}/send-soundboard-soundr  r  r  )rb   r   rZ   r`  s      @rV   send_soundboard_soundz HTTPClient.send_soundboard_sounda
  s[    4
GGGGGMMOOGGG||6IV`aaaip  
 
 	
rd   Response[appinfo.AppInfo]c                H    |                      t          dd                    S )Nr  z/oauth2/applications/@mer  ra   s    rV   application_infozHTTPClient.application_infoj
  s    ||E%)CDDEEErd   c                   dfd|                                 D             }|                     t          dd          ||          S )N)
custom_install_urlr  !role_connections_verification_urlinstall_paramsry   r  cover_imagezinteractions_endpoint_url tagsintegration_types_configc                $    i | ]\  }}|v 	||S r`   r`   r_  s      rV   r   z4HTTPClient.edit_application_info.<locals>.<dictcomp>{
  ra  rd   r  z/applications/@mer  r  r  s      @rV   edit_application_infoz HTTPClient.edit_application_infom
  sR    

 HGGGGMMOOGGG||E'+>??gV\|]]]rd   Response[appinfo.ListAppEmojis]c                L    |                      t          dd|                    S )Nr  %/applications/{application_id}/emojisr  r  r  s     rV   get_application_emojisz!HTTPClient.get_application_emojis~
  s%    ||E%)Paopppqqqrd   c                N    |                      t          dd||                    S )Nr  0/applications/{application_id}/emojis/{emoji_id}r  rK  r  rb   r  rK  s      rV   get_application_emojiz HTTPClient.get_application_emoji
  s6    ||IZhs{  
 
 	
rd   c                Z    ||d}|                      t          dd|          |          S )N)r   rQ  r  r  r  r  r  )rb   r  r   rQ  rZ   s        rV   create_application_emojiz#HTTPClient.create_application_emoji
  sJ     
 

 ||&AR`aaaho  
 
 	
rd   c               V    t          dd||          }|                     ||          S )Nr  r  r  r  r  )rb   r  rK  rZ   r  s        rV   edit_application_emojiz!HTTPClient.edit_application_emoji
  s<     GXfqy
 
 
 ||AG|,,,rd   c                N    |                      t          dd||                    S )Nr  r  r  r  r  s      rV   delete_application_emojiz#HTTPClient.delete_application_emoji
  s8    
 ||B-!	  
 
 	
rd   	answer_idResponse[poll.PollAnswerVoters]c           	         i }|rt          |          |d<   |||d<   |                     t          dd|||          |          S )Nr  r   r  z=/channels/{channel_id}/polls/{message_id}/answers/{answer_id})r   r  r  r  r  )rb   r   r  r  r  r   r  s          rV   get_poll_answer_votersz!HTTPClient.get_poll_answer_voters
  sp      	)!%jjF7O#F7O||O%%#     	
 	
 		
rd   c                N    |                      t          dd||                    S )Nr  z0/channels/{channel_id}/polls/{message_id}/expirer  r  r  s      rV   end_pollzHTTPClient.end_poll
  s6    ||B%%	  
 
 	
rd   )Response[List[subscription.Subscription]]c                    i }|||d<   |||d<   |||d<   |||d<   |                      t          dd|          |          S )	Nr  r  r   r  r  z/skus/{sku_id}/subscriptions)ro  r  r  )rb   ro  r  r  r   r  r  s          rV   list_sku_subscriptionsz!HTTPClient.list_sku_subscriptions
  s     %F8#F7O#F7O 'F9||.  
   
 
 	
rd   subscription_id#Response[subscription.Subscription]c                N    |                      t          dd||                    S )Nr  z./skus/{sku_id}/subscriptions/{subscription_id})ro  r  r  )rb   ro  r  s      rV   get_sku_subscriptionzHTTPClient.get_sku_subscription
  s6    ||@ /	  
 
 	
rd   "Tuple[int, str, SessionStartLimit]c                   K   	 |                      t          dd                     d {V }n!# t          $ r}t                      |d }~ww xY w|d         |d         |d         fS )Nr  z/gateway/botshardsr   session_start_limit)r  r   r   r   )rb   rt  rg   s      rV   get_bot_gatewayzHTTPClient.get_bot_gateway  s      	-eE>&B&BCCCCCCCCDD 	- 	- 	-!##,	- H~tE{D1F,GGGs   ). 
AAAc                L    |                      t          dd|                    S )Nr  z/users/{user_id}r  r  )rb   r  s     rV   get_userzHTTPClient.get_user  s$    ||E%);WMMMNNNrd   r_   )rD  rE  rF  rG  r@  r   rA  rH  rB  r   rC  rI  r   r   rM   rk   r:  )r   r   rZ  r   rM   r[  )r   r   rM   r   )
ro  r   r]   r\   rn  rp  rd  r   rM   r   )r   r   rM   r  )rP  r   rM   r  )rM   r  )r  rD   r  r  rM   r  )r   rD   rM   r  )r  rD   rM   r  )r   rD   r  rY   rM   r  )r   rD   r  rD   ru  r   rM   r  )r   rD   r  rE   ru  r   rM   r  )r   rD   r  rD   r  rY   rM   r  )r   rD   r  rD   r/   r   rM   r  )
r   rD   r  rD   r/   r   r  rD   rM   r  )NN)r   rD   r  rD   r/   r   r   r   r  r  r4  r  rM   r  )r   rD   r  rD   rM   r  )r   rD   r  rD   rM   r  )r   rD   rM   r  )NNN)r   rD   r   r   r  r  r  r  r  r  rM   r  )r   rD   r   r  r  r   rM   r  )r  rD   r   rD   ru  r   rM   r  )r  N)
r  rD   r   rD   r  r   ru  r   rM   r  )
r   rD   r#  r$  r  r   ru  r   rM   r%  )r  rD   r   rD   r)  r   r*  r   ru  r   rM   r+  )rZ   r   rM   r/  )r   rD   ru  r   r2  r   rM   r3  )
r   rD   r  rD   r7  r   ru  r   rM   r+  )r   rD   rZ   r   rM   r  )r   rD   r  rD   rZ   r   rM   r  )
r   rD   r  rD   ru  r   r2  r   rM   r3  )r   rD   rM   rC  )r   rD   r  rD   rM   rC  )r   rD   ru  r   rI  r   rM   r  )r  r   r   r   ru  r   rM   r  )r   rD   rt  rg  ru  r   rM   r  )
r   rD   rk  rl  ru  r   rI  r   rM   rm  )r   rD   ru  r   rM   r  )r   rD   r  rD   r   r   rV  rt  rR  r  ru  r   rM   ru  )r   rD   r   r   rV  rt  r4  rx  rW  r   rR  r  ru  r   rM   ru  )r   rD   r  rY   ru  r   rM   r|  )r   rD   r  rD   rM   r  )Nr  )r   rD   r  r  r   r   rM   r  )r   rD   rM   r  )r   rD   r  rD   rM   r  )r   rD   rM   r  )
r   rD   r   r   r  r  ru  r   rM   r  )r   rD   rM   r  )r   rD   rM   r  )r   rD   rM   r  )r   rD   r  rD   ru  r   rM   r  )NNT)
r   r   r  r  r  r  r  r   rM   r  )r   rD   rM   r  )r   rD   r  r   rM   r  )r   rD   rM   r  )r   r   r  r   rM   r  )r   rD   ru  r   r2  r   rM   r  )r   rD   r  r   ru  r   rM   r  )r  r   rM   r  )r   rD   rM   r  )r   rD   rZ   r   rM   r  )r   rD   r  r   rM   r  )r   rD   r  r   rZ   r   rM   r  )r   rD   r  r   rM   r  )r  r   r   r   r  r   rM   r  )
r   rD   r   r   r  r  r  r  rM   r  )r   rD   rM   r  )r   rD   ru  r   r2  r   rM   r  )r  rD   r   rD   rM   r  )r   rD   rM   r
  )r   rD   r  r   ru  r   rM   r  )r   rD   rM   r  )r   rD   r   r   r  r  rM   r  )r   rD   r  rD   rM   r3  )r   rD   r  r   r  r   r  r  ru  r   rM   r  )r   rD   r  r   r  r  rM   r  )r'  rD   rM   r(  )r+  rD   rM   r,  )rM   r/  )r   rD   rM   r2  )r   rD   r'  rD   rM   r6  )
r   rD   rZ   r   rn   r   ru  r   rM   r6  )
r   rD   r'  rD   rZ   r   ru  r   rM   r6  )r   rD   r'  rD   ru  r   rM   r  )r   rD   rM   rG  )r   rD   rK  rD   rM   rL  )r   rD   r   r   rQ  r   r  r   ru  r   rM   rL  )r   rD   rK  rD   ru  r   rM   r  )
r   rD   rK  rD   rZ   r   ru  r   rM   rL  )r   rD   rM   rX  )r   rD   r4  r\  r]  r   rM   r  )r   rD   r`  rD   rZ   r   rM   r  )r   rD   r`  rD   rM   r  )r   rD   r`  rD   ru  r   rM   r  )ri  NNNN)r   rD   r   r   r  r  r  r  r  r  rj  rk  rM   rl  )r   rD   rM   ro  )r   rD   rZ   rr  ru  r   rM   rs  )r   rD   rZ   rv  rM   rw  )r   rD   ru  r   rz  r   r{  r   r|  r   r}  r   r~  r  r  r  r  r  ry   r  rM   r  )r  r   r  r   r  r  rM   r  )r   rD   rM   r  )r   rD   rM   r  )r  r   ru  r   rM   r  )r   rD   rM   r  )r   rD   r  rD   rM   r  )r   rD   rM   r  )
r   rD   r  rD   ru  r   r2  r   rM   r  )r   rD   r  rD   ru  r   rM   r  )
r  rD   r   rD   r  r  ru  r   rM   r3  )r   rD   ru  r   r2  r   rM   r  )r   rD   r  r  ru  r   rM   r  )
r   rD   r  rD   r  rD   ru  r   rM   r  )r   rD   r  rD   r  r   r  r   r4  r  ru  r   rM   r  )r   rD   r  rD   ru  r   rM   r  )
r  rD   r   rD   r   rD   ru  r   rM   r3  )r   rD   rM   r  )ru  r   rZ   r   rM   r  )r   rD   ru  r   rZ   r   rM   r  )r   rD   r  r  rM   r  )r   rD   r  r  rM   r  )r   rD   r  r   rM   r  )r   rD   r  r   rM   r  )r   rD   ru  r   rZ   r   rM   r  )r   rD   r  rD   r  r  rM   r  )r   rD   r  rD   r  r  rM   r  )r   rD   r  rD   r  r   rM   r  )r   rD   r  rD   r  r   rM   r  )
r   rD   r  rD   ru  r   rZ   r   rM   r  )r   rD   r  rD   ru  r   rM   r  )..)r   rD   r  rD   r   r   r  r  r  r  r  r  rM   r  )r   rD   r  rD   r   r   r  r  r  r  r  r  rM   r  )r   rD   r  rD   r   r   r  r   r  r  r  r  rM   r  )r   rD   r  rD   r   r   r  r   r  r  r  r  rM   r  )r  rD   rM   r	  )r  rD   r  rD   rM   r  )r  rD   rZ   r  rM   r  )r  rD   r  rD   rZ   r   rM   r  )r  rD   r  rD   rM   r  )r  rD   rZ   r!  rM   r	  )r  rD   r   rD   rM   r	  )r  rD   r   rD   r  rD   rM   r  )r  rD   r   rD   rZ   r   rM   r  )
r  rD   r   rD   r  rD   rZ   r   rM   r  )r  rD   r   rD   r  rD   rM   r  )r  rD   r   rD   rZ   r!  rM   r	  )r  rD   r   rD   rM   r8  )r  rD   r   rD   r  rD   rM   r;  )
r  rD   r   rD   r  rD   rZ   r   rM   r  )r   rD   rM   rA  )r   rD   rE  rD   rM   rF  )r   rD   ru  r   rZ   r   rM   rF  )
r   rD   rE  rD   ru  r   rZ   r   rM   rF  )r   rD   rE  rD   ru  r   rM   r  )r  rD   rM   rZ  )NNNNNNNN)r  rD   r  r  r]  r   r  r  r  r  r   r  r   r  r^  r   r_  r   rM   r`  )r  rD   rf  rD   rM   rg  )r  rD   rf  rD   rM   r  )
r  rD   ro  rD   r  rD   rp  rq  rM   rg  )r   rD   rM   rv  )r   rD   ry  r|  rz  r}  r  r   r{  r~  ru  r   rM   rv  )rM   r  )r   rD   r  rD   rM   r  )r   rD   rM   r  )r   rD   ru  r   rZ   r   rM   r  )
r   rD   r  rD   ru  r   rZ   r   rM   r  )r   rD   r  rD   ru  r   rM   r  )r   rD   rZ   r   rM   r  )rM   r  )ru  r   rZ   r   rM   r  )r  rD   rM   r  )r  rD   rK  rD   rM   rL  )r  rD   r   r   rQ  r   rM   rL  )r  rD   rK  rD   rZ   r   rM   rL  )r  rD   rK  rD   rM   r  )r   rD   r  rD   r  rD   r  r  r   r  rM   r  )NNNN)ro  rD   r  r  r  r  r   r  r  r  rM   r  )ro  rD   r  rD   rM   r  )rM   r  )r  rD   rM   r/  )rq   rr   rs   r;  r   rY  rc  rj  rl  r  r  rm   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.  r1  r6  r:  r=  r@  rB  rF  rH  rd  rf  rj  rp  rs  rw  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.  r1  r5  r:  rB  rD  rF  rJ  rP  rS  rU  rW  r[  r_  rd  rf  rh  rn  rq  ru  ry  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  r3  r5  r7  r:  r>  r@  rD  rJ  rT  rW  rY  r\  re  rl  rn  rs  ru  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r`   rd   rV   r?  r?     s"       MM
 6: e
  $26!4815 e  e  e  e  e  eD% % % % => > > > > > >(# # # #    +/37ND ND ND ND ND ND`* * * *.) ) ) )   6; ; ; ;
g g g g^ ^ ^ ^
P P P P
8 
8 
8 
8c c c c X\. . . . . ., ]a< < < < < <8 8 8 8           &*/3. . . . .8             '+%)&*s s s s s*
 
 
 
. . . . .. . . . .  $ $	x x x x x . . . . . ', $= = = = = Y] . . . . . . ', $< < < < <&  $!% $< < < < < <&H H H H !%	; ; ; ; ; ;  !%< < < < < <- - - -- - - - !%	; 	; 	; 	; 	; 	;d d d d{ { { { !%	$< $< $< $< $< $<N RV< < < < < < !%9 9 9 9 9 9 !%!z !z !z !z !z !zN !%	m m m m m m" .2 $@ @ @ @ @ @8 -1 $@ @ @ @ @ @6 !%U U U U U Un n n n
 
 
 

q q q q# # # #
 WY	2 	2 	2 	2 	2 WY	2 	2 	2 	2 	2 WY2 2 2 2 2# # # ## # # ## # # # #' $< < < < < <"d d d d\ \ \ \[ [ [ [ !%	
 
 
 
 
$ '+%) N N N N N&` ` ` ` EI b b b b b b[ [ [ [V V V VD D D D JN r r r r r r< OSu u u u u uQ Q Q Q] ] ] ]l l l lo o o o
 
 
 
r r r r` ` ` ` '+%)g g g g g"b b b b ?C
 
 
 
 
 
s s s s^ ^ ^ ^ ]a } } } } } }\ \ \ \
. 
. 
. 
.| | | | !%w w w w w w$h h h h[ [ [ [o o o o< < < <\ \ \ \
 
 
 

"
 "
 "
 "
H
 
 
 

 
 
 
Z Z Z Zx x x x *. $< < < < < <. !%. . . . . .  !%	< 	< 	< 	< 	< 	<   
- - - -- - - -    Z^. . . . . . &*%)'+9=. . . . .,_ _ _ _ `dy y y y y
r r r r !%9=.259#"< "< "< "< "< "<P !8<f f f f f f [ [ [ [c c c c HL i i i i i i
Y Y Y Yt t t tg g g g SW< < < < < < _c . . . . . . !%c c c c c c KO ; ; ; ; ; ; !%> > > > > > gk
. 
. 
. 
. 
. 
. gk
. 
. 
. 
. 
. 
.( !%< < < < < < TX. . . . . . !%j j j j j jb b b b
\ 
\ 
\ 
\ UY 	
 	
 	
 	
 	
 	
 W[ t t t t t t
 O O O XO B B B XB    Xs s s s
 ?C
 
 
 
 
 
( I I I XI < < < X<    X
 
 
 
 dh
 
 
 
 
 
B !%
 
 
 
 
 
"  '*%(F F F F XF  '*%(< < < < X<  '*%(| | | | X|  '+%)
 
 
 
 
>t t t t   - - - -- - - -(   - - - -	 	 	 	   - - - -- - - -,   - - - -      - - - - i i i i
 
 
 


 
 
 
(
 
 
 
*
 
 
 
p p p p (,+/&*%)#(,(,*.!
 !
 !
 !
 !
F
 
 
 

 
 
 

 
 
 
$
 
 
 
^ ^ ^ ^ 6:9="&48
 
 
 
 
 
@H H H H
 
 
 

e e e e
 
 
 
"
 
 
 
.	
 	
 	
 	

 
 
 
F F F F^ ^ ^ ^"r r r r
 
 
 

 
 
 

- 
- 
- 
-
 
 
 
* &*#
 
 
 
 
6
 
 
 
 '+%)#'+
 
 
 
 
>
 
 
 
H H H HO O O O O Ord   r?  )rK   rL   rM   rN   ),r   r   ru   r   rv   r   rw   r   rx   r   ry   r$   rn   r   r]   r   rz   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   rM   rY   )r   r   )mr;  
__future__r   r   loggingrS  typingr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   urllib.parser   r   collectionsr   r	  rU  errorsr   r   r   r   r   r   r   gatewayr   rn   r   mentionsr    r   r!   r"   r#   ry   r$   	getLoggerrq   r  typing_extensionsr%   ui.viewr&   r{   r'   r4   r(   r@   r)   typesr*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   rA   rB   rC   types.snowflakerD   rE   types.gatewayrF   rG   rH   BaseExceptionrI   ResponserW   rY   r   r   rt   r   r   r   hdrs	WEBSOCKETr?  r`   rd   rV   <module>r     sY    0 # " " " " "   



                                   $ , + + + + +         v v v v v v v v v v v v v v v v v v 3 3 3 3 3 3       % % % % % %                            w"" +&&&&&&&!!!!!!######                                                       8 :9999999000000######A	]	+	+	+Bc1%H	 	 	 	    *   ( %UR '+!#$%5<&29<C(/;?%)&-,3"-UR UR UR UR UR URp      
5 
5 
5 
5#
 #
 #
 #
 #
 #
 #
 #
L]8 ]8 ]8 ]8 ]8 ]8 ]8 ]8D % N$O N$O N$O N$O N$O N$O N$O N$O N$O N$Ord   