
    cjh5                   \   d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	m
Z
mZ ddl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mZ dd
lmZ ddl ddlmZ ddlm Z  ddl!m"Z"m#Z#m$Z$m%Z%m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@mAZA ddlB ddlCmDZD ddlEmFZF ddlGmHZH ddlImJZJ ddlKmLZLmMZM dd lNmOZOmPZP dd!lQmRZRmSZS dd"lTmUZUmVZV erwdd#lWmXZX dd$lYmZZZ dd%l[m\Z\ dd&l+m]Z]m^Z^ dd'l_m`Z` dd(l7maZa dd)lbmcZd dd*lemfZg ddlhm Zi ddljm,Zk ddllm8Zm dd+lnm@Zo ddlpmJZq dd,lrmVZs dd-ltmuZu  ed.      Zv ed/d01      Zwee]e^eXexf   Zy G d2 d3      Zz ej                  e|      Z}d8d4Z~ G d5 d0      Z G d6 d7e      Zy)9ae  
The MIT License (MIT)

Copyright (c) 2015-2021 Rapptz
Copyright (c) 2021-present Pycord Development

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)OrderedDictdeque)TYPE_CHECKINGAnyCallable	CoroutineDequeSequenceTypeVarUnion   )utils)BaseActivity)AuditLogEntry)AutoModRule)*)_channel_factory)Emoji)ChannelTypeInteractionTypeScheduledEventStatusStatustry_enum)ApplicationFlagsIntentsMemberCacheFlags)Guild)_integration_factory)Interaction)Invite)Member)AllowedMentionsMessage)Entitlement)Object)PartialEmoji)PollPollAnswerCount)Role)ScheduledEvent)StageInstance)GuildSticker)ThreadThreadMember)Modal
ModalStore)View	ViewStore)
ClientUserUser)PrivateChannel)Client)DiscordWebSocket)GuildChannelVocalGuildChannel)
HTTPClient)MessageableChannel)Activity)	DMChannel)r)   r6   )VoiceClientTCSConnectionState)boundc                  L    e Zd Zdd	 	 	 	 	 	 	 	 	 d	dZd
dZddZddZddZy)ChunkRequestTcachec                   || _         || _        || _        || _        t	        j
                  d      j                         | _        g | _        g | _	        y )N   )
guild_idresolverlooprI   osurandomhexnoncebufferwaiters)selfrL   rN   rM   rI   s        @/var/www/html/venv/lib/python3.12/site-packages/discord/state.py__init__zChunkRequest.__init__c   sF     &.6/3	 
**R.,,.
$&;=    c                   | j                   j                  |       | j                  ra| j                  | j                        }|y |D ]=  }|j                  |j                        }||j                  -|j                  |       ? y y N)	rS   extendrI   rM   rL   
get_memberid	joined_at_add_member)rU   membersguildmemberexistings        rV   add_memberszChunkRequest.add_memberss   s|    7#::MM$--0E}! . ++FII6#x'9'9'A%%f-. rX   c                  K   | j                   j                         }| j                  j                  |       	 | d {   | j                  j	                  |       S 7 # | j                  j	                  |       w xY wwrZ   )rN   create_futurerT   appendremoverU   futures     rV   waitzChunkRequest.wait   s^     ((*F#	(<LL'  LL's,   6B A  AA  B A   A==B c                p    | j                   j                         }| j                  j                  |       |S rZ   )rN   rf   rT   rg   ri   s     rV   
get_futurezChunkRequest.get_future   s+    ((*F#rX   c                ~    | j                   D ].  }|j                         r|j                  | j                         0 y rZ   )rT   done
set_resultrS   ri   s     rV   ro   zChunkRequest.done   s0    ll 	/F;;=!!$++.	/rX   N)
rL   intrN   asyncio.AbstractEventLooprM   zCallable[[int], Any]rI   boolreturnNone)r`   list[Member]rt   ru   )rt   rv   )rt   zasyncio.Future[list[Member]]rt   ru   )__name__
__module____qualname__rW   rd   rk   rm   ro    rX   rV   rG   rG   b   sP     >> (> '	> > 
> 
.(
/rX   rG   c               p   K   	 |  d {    y 7 # t         $ r t        j                  d|       Y y w xY ww)NzException occurred during %s)	Exception_log	exception)	coroutineinfos     rV   logging_coroutiner      s/     = =5t<=s(   6  6 3636c                     e Zd ZU erded<   ded<   ded<   	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZdd	dd
Z	 	 	 	 	 	 	 	 	 	 ddZddZddZ	e
dd       Ze
dd       Ze
dd       ZddZddZddZddZddZddZddZddZddZddZddZdddZddZddZe
dd        Ze
dd!       Zdd"Zdd#Zdd$Z e
dd%       Z!e
dd&       Z"dd'Z#dd(Z$e
dd)       Z%dd*Z&dd+Z'd, Z(e
dd-       Z)dd.Z*dd/Z+dd0Z,dd1Z-dd2Z.dd3Z/dd4Z0dd5Z1	 d	 	 	 	 	 dd6Z2	 	 	 ddd7	 	 	 	 	 	 	 	 	 	 	 dd8Z3	 	 	 	 	 	 	 	 	 	 	 	 dd9Z4dd:Z5dd;Z6dd<Z7dd=Z8dd>Z9dd?Z:dd@Z;ddAZ<ddBZ=ddCZ>ddDZ?ddEZ@ddFZAddGZBddHZCddIZDddJZEddKZFddLZGddMZHddNZIddOZJddPZKddQZLddRZMddSZNddTZOddUZPddVZQddWZRddXZSddYZTddZZUdd[ZVdd\ZWdd]ZXdd^ZYdd_ZZdd`Z[ddaZ\ddbZ]dc Z^dddZ_dddedfZ`dg ZaddhZbddiZcddjZdddkZeddlZfddmZgddnZhddoZiddpZjddqZkddrZlddsZmddtZndduZoddvZpddwZqddxZrddyZsddzZtdd{Zudd|Zvdd}Zwdd~ZxddZyddZzddZ{ddZ|	 	 	 	 	 	 ddZ}	 	 	 	 	 	 ddZ~ddZddZddZ	 	 	 	 	 	 ddZy)rD   zCallable[..., DiscordWebSocket]_get_websocketzCallable[..., Client]_get_clientz+dict[str, Callable[[dict[str, Any]], None]]_parsersc                  || _         || _        |j                  dd      | _        | j                  | j                  dk  rd| _        || _        || _        || _        d | _        d | _        t        j                  |d      | _        |j                  dd      | _        |j                  dd      | _        | j                  dk  rt        d	      |j                  d
      }|t        |t               st#        d      || _        i | _        |j                  dd       }|r+t        |t(              st#        d      |j+                         }|j                  dd       }	|	r|	t,        j.                  u rdn
t1        |	      }	|j                  dd       }
|
t3        j4                         }
n't        |
t2              st#        dt7        |
            |
j8                  st:        j=                  d       |j                  d|
j>                        | _         |
j>                  s| j@                  rt        d      |j                  dd       }|tC        jD                  |
      }n8t        |tB              st#        dt7        |            |jG                  |
       || _$        || _%        |	| _&        |
| _'        |
j>                  r|jP                  r"| jR                  | _*        | jV                  | _,        i x| _-        }t]        j^                  |       D ]-  \  }}|ja                  d      s|||dd  jc                         <   / | je                          y )Nmax_messagesi  r   application_idheartbeat_timeout      N@guild_ready_timeoutg       @z&guild_ready_timeout cannot be negativeallowed_mentionsz2allowed_mentions parameter must be AllowedMentionsactivityz1activity parameter must derive from BaseActivity.status	invisibleintentsz%intents parameter must be Intent not zHGuilds intent seems to be disabled. This may cause state related issues.chunk_guilds_at_startupz;Intents.members must be enabled to chunk guilds at startup.member_cache_flagsz:member_cache_flags parameter must be MemberCacheFlags not parse_   )3rN   httpgetr   dispatchhandlershooksshard_count_ready_taskr   _get_as_snowflaker   r   r   
ValueError
isinstancer#   	TypeErrorr   _chunk_requestsr   to_dictr   offlinestrr   defaulttypeguildsr~   warningr`   _chunk_guildsr   from_intents_verify_intentsr   	_activity_status_intents_emptycreate_user
store_userderef_user_no_intents
deref_userparsersinspect
getmembers
startswithupperclear)rU   r   r   r   r   rN   optionsr   r   r   r   cache_flagsr   attrfuncs                  rV   rW   zConnectionState.__init__   s    04	 $	(/ND(I(T->->!-C $D"*-5*/
'+04*/*A*A%+
 )04G(N*1++6KS*Q ##a'EFF";;'9:'
o1
 PQQ8H>@;;z40h5 STT'')HXt,$*fnn$<[#f+F++i.?oo'GGW-CDMCTUVV~~LL
 $+;;%w$

 4#5#5M  kk"6=*77@KK)9:%(*  ''04?19#)!(+"4"4"..DO"88DO!##w!,,T2 	1JD$x(,0QR()	1 	

rX   Tviewsc               4   d | _         i | _        i | _        i | _        i | _        i | _        |rt        |       | _        t        |       | _	        i | _
        t               | _        i | _        | j                  t        | j                        | _        y d | _        y )Nmaxlen)user_users_emojis	_stickers_guilds_pollsr4   _view_storer2   _modal_store_voice_clientsr   _private_channels_private_channels_by_userr   r   	_messages)rU   r   s     rV   r   zConnectionState.clear  s    '+	 (*)+24)+')*3D/D(24(868 DO=?A&(49ARAR4SDN48DNrX   c                   g }| j                   j                         D ]Z  \  }}|j                  |k(  s|j                  |k(  s&|j	                  |       |s:|j                          |j                  |       \ |D ]  }| j                   |=  y rZ   )r   itemsrL   rR   rd   ro   rg   )rU   rL   rR   r`   completeremovedkeyrequests           rV   process_chunk_requestsz&ConnectionState.process_chunk_requests&  s      00668 	(LC8+0F##G,LLNNN3'	(  	*C$$S)	*rX   c                R    	 | j                   |   } ||i | y # t        $ r Y y w xY wrZ   )r   KeyError)rU   r   argskwargsr   s        rV   call_handlerszConnectionState.call_handlers4  s8    	"==%D $!&!  		s    	&&c                n   K   	 | j                   |   } ||i | d {    y 7 # t        $ r Y y w xY wwrZ   )r   r   )rU   r   r   r   coros        rV   
call_hookszConnectionState.call_hooks<  s@     	(::c?D ''''  		s$   5& 5$5	2525c                :    | j                   }|r|j                  S d S rZ   )r   r]   )rU   us     rV   self_idzConnectionState.self_idD  s    IIqtt"d"rX   c                d    t        j                         }| j                  j                  |_        |S rZ   )r   noner   value)rU   rets     rV   r   zConnectionState.intentsI  s#    llnMM''	
rX   c                H    t        | j                  j                               S rZ   )listr   valuesrU   s    rV   voice_clientszConnectionState.voice_clientsO  s    D''..011rX   c                8    | j                   j                  |      S rZ   )r   r   rU   rL   s     rV   _get_voice_clientz!ConnectionState._get_voice_clientS  s    ""&&x00rX   c                "    || j                   |<   y rZ   )r   )rU   rL   voices      rV   _add_voice_clientz!ConnectionState._add_voice_clientW  s    (-H%rX   c                <    | j                   j                  |d        y rZ   )r   popr   s     rV   _remove_voice_clientz$ConnectionState._remove_voice_clientZ  s    $/rX   c                4    | j                   D ]	  }||_         y rZ   )r   main_ws)rU   wsvcs      rV   _update_referencesz"ConnectionState._update_references]  s    $$ 	BBJ	rX   c                    t        |d         }	 | j                  |   S # t        $ r7 t        | |      }|j                  dk7  r|| j                  |<   d|_        |cY S w xY w)Nr]   statedata0000T)rq   r   r   r6   discriminator_stored)rU   r   user_idr   s       rV   r   zConnectionState.store_usera  sf    d4j/	;;w'' 	d.D!!V+'+G$#K	s    =AAc                <    | j                   j                  |d        y rZ   )r   r   rU   r   s     rV   r   zConnectionState.deref_userl  s    &rX   c                    t        | |      S )Nr   r@   rU   r   s     rV   r   zConnectionState.create_usero  s    $T**rX   c                     y rZ   r{   r  s     rV   r   z%ConnectionState.deref_user_no_intentsr  s    rX   c                8    | j                   j                  |      S rZ   )r   r   )rU   r]   s     rV   get_userzConnectionState.get_useru  s    {{r""rX   c                \    t        |d         }t        || |      x| j                  |<   }|S )Nr]   ra   r   r   )rq   r   r   )rU   ra   r   emoji_idemojis        rV   store_emojizConnectionState.store_emojiy  s0    tDz?).U$T)RRXrX   c                Z    t        |d         }t        | |      x| j                  |<   }|S )Nr]   r   )rq   r.   r   )rU   ra   r   
sticker_idstickers        rV   store_stickerzConnectionState.store_sticker  s.    d_
/;$T/RRz"WrX   Nc                <    | j                   j                  ||       y rZ   )r   add_view)rU   view
message_ids      rV   
store_viewzConnectionState.store_view  s    !!$
3rX   c                <    | j                   j                  ||       y rZ   )r   	add_modal)rU   modalr  s      rV   store_modalzConnectionState.store_modal  s    ##E:6rX   c                8    | j                   j                  |      S rZ   )r   remove_message_trackingrU   r  s     rV   prevent_view_updates_forz(ConnectionState.prevent_view_updates_for  s    77
CCrX   c                .    | j                   j                  S rZ   )r   persistent_viewsr   s    rV   r  z ConnectionState.persistent_views  s    000rX   c                H    t        | j                  j                               S rZ   )r   r   r   r   s    rV   r   zConnectionState.guilds      DLL'')**rX   c                8    | j                   j                  |      S rZ   )r   r   r   s     rV   
_get_guildzConnectionState._get_guild      ||))rX   c                6    || j                   |j                  <   y rZ   )r   r]   rU   ra   s     rV   
_add_guildzConnectionState._add_guild  s    !&UXXrX   c                .   | j                   j                  |j                  d        |j                  D ](  }| j                  j                  |j                  d        * |j
                  D ](  }| j                  j                  |j                  d        * ~y rZ   )r   r   r]   emojisr   stickersr   )rU   ra   r
  r  s       rV   _remove_guildzConnectionState._remove_guild  sw    4(\\ 	-ELLUXXt,	- ~~ 	1GNNwzz40	1 rX   c                H    t        | j                  j                               S rZ   )r   r   r   r   s    rV   r(  zConnectionState.emojis  r   rX   c                H    t        | j                  j                               S rZ   )r   r   r   r   s    rV   r)  zConnectionState.stickers  s    DNN))+,,rX   c                8    | j                   j                  |      S rZ   )r   r   )rU   r	  s     rV   	get_emojizConnectionState.get_emoji  r#  rX   c                8    | j                   j                  |      S rZ   )r   r   )rU   r  s     rV   get_stickerzConnectionState.get_sticker  s    ~~!!*--rX   c                H    t        | j                  j                               S rZ   )r   r   r   r   s    rV   pollszConnectionState.polls  s    DKK&&())rX   c                   | j                  |j                        xs t        | |j                        }|j                  |j                        }t        j                  ||      }|| j                  |j                  <   |S )Nr   r]   )	get_channel
channel_idPartialMessageableget_partial_messager  r)   	from_dictr   r]   )rU   pollrawchannelmessageps         rV   store_raw_pollzConnectionState.store_raw_poll  si    ""3>>2 
6H3>>7
 --cnn=NN4)"#GJJrX   c                "    || j                   |<   y rZ   )r   )rU   r:  r  s      rV   
store_pollzConnectionState.store_poll  s    "&JrX   c                8    | j                   j                  |      S rZ   )r   r   r  s     rV   get_pollzConnectionState.get_poll  s    {{z**rX   c                H    t        | j                  j                               S rZ   )r   r   r   r   s    rV   private_channelsz ConnectionState.private_channels  s    D**11344rX   c                z    	 | j                   |   }| j                   j                  |       |S # t        $ r Y y w xY wrZ   )r   move_to_endr   )rU   r6  r   s      rV   _get_private_channelz$ConnectionState._get_private_channel  sF    	**:6E ""..z:L	  		s   . 	::c                8    | j                   j                  |      S rZ   )r   r   r  s     rV   _get_private_channel_by_userz,ConnectionState._get_private_channel_by_user  s    --11'::rX   c                   |j                   }|| j                  |<   t        | j                        dkD  rk| j                  j                  d      \  }}t	        |t
              r<|j                  r0| j                  j                  |j                  j                   d        t	        |t
              r1|j                  r$|| j                  |j                  j                   <   y y y )N   F)last)	r]   r   lenpopitemr   r?   	recipientr   r   )rU   r<  r6  _	to_removes        rV   _add_private_channelz$ConnectionState._add_private_channel  s    ZZ
-4z*t%%&,1199u9ELAy)Y/I4G4G..2293F3F3I3I4Pgy)g.?.?CJD**7+<+<+?+?@ /@)rX   c                X    t        | j                  | |      }| j                  |       |S )N)mer   r   )r?   r   rS  )rU   r   r<  s      rV   add_dm_channelzConnectionState.add_dm_channel  s'    tyy4@!!'*rX   c                    | j                   j                  |j                  d        t        |t              r6|j
                  }|'| j                  j                  |j                  d        y y y rZ   )r   r   r]   r   r?   rP  r   )rU   r<  rP  s      rV   _remove_private_channelz'ConnectionState._remove_private_channel  s[    ""7::t4gy)))I$..229<<F % *rX   c                x    | j                   r,t        j                  fdt        | j                               S d S )Nc                "    | j                   k(  S rZ   r]   )mmsg_ids    rV   <lambda>z.ConnectionState._get_message.<locals>.<lambda>  s     rX   )r   r   findreversed)rU   r]  s    `rV   _get_messagezConnectionState._get_message  s5     ~~ JJ/$..1IJ	
 	
rX   c                B    t        ||       }| j                  |       |S )Nr   r   )r   r&  rU   r   ra   s      rV   _add_guild_from_dataz$ConnectionState._add_guild_from_data  s    4t,rX   c                    | j                   xr5 |j                   xr& | j                  j                  xr |j                    S rZ   )r   chunkedr   	presenceslarger%  s     rV   _guild_needs_chunkingz%ConnectionState._guild_needs_chunking  sC      BMM!B]],,@U[[A	
rX   c                    t        |d         }	 | j                  t        |xs |d               }|xr |j                  |      }|xs t        | |      |fS # t        $ r t        j                  | |      }d }Y 6w xY w)Nr6  rL   r4  )rq   r"  _resolve_channelr   r?   _from_messager7  )rU   r   rL   r6  ra   r<  s         rV   _get_guild_channelz"ConnectionState._get_guild_channel	  s     l+,
	COOC(DD4D$EFE
 B 6 6z BGG,4JGNN  	--dJ?GE	s   !A !A=<A=rR   c               n   K   | j                  |      }|j                  |||||       d {    y 7 w)Nquerylimitrh  rR   r   request_chunks)rU   rL   rr  rs  rh  rR   r   s          rV   chunkerzConnectionState.chunker  s@        *E)5   
 	
 	
s   +535c                   K   |j                   }| j                  |      }|t        d      t        |j                   | j                  | j
                  |      }	|	| j                  |	j                  <   	 |j                  ||||||	j                         d {    t        j                  |	j                         d       d {   S 7 17 # t        j                  $ r t        j                  d|||        w xY ww)Nz1Somehow do not have a websocket for this guild_idrH   )rr  rs  user_idsrh  rR   g      >@timeoutzGTimed out waiting for chunks with query %r and limit %d for guild_id %d)r]   r   RuntimeErrorrG   rN   r"  r   rR   ru  asynciowait_forrk   TimeoutErrorr~   r   )
rU   ra   rr  rs  rx  rI   rh  rL   r   r   s
             rV   query_memberszConnectionState.query_members%  s      88  *:RSSuxxDOO5Q.5W]]+	##!#mm $    !))',,.$GGG H## 
	LL#  
	sB   A1C>4$C C
,C CC 	C>
C C -C;;C>c                  K   	 g }	 	 t        j                  | j                  j                         | j                         d {   }| j                  |      r/| j                  |d       d {   }|j                  ||f       n4|j                  du r| j                  d|       n| j                  d|       	 7 y7 O# t         j                  $ r Y nw xY w|D ]  \  }}	 t        j                  |d       d {  7   nD# t         j                  $ r. t        j                  d|j                  |j                         Y nw xY w|j                  du r| j                  d|       | j                  d|        	 | `n# t        $ r Y nw xY w| j!                  d       | j                  d       n# t         j"                  $ r Y nw xY wd | _        y # d | _        w xY ww)	Nry  F)rk   guild_available
guild_joing      @z9Shard ID %s timed out waiting for chunks for guild_id %s.ready)r|  r}  _ready_stater   r   rj  chunk_guildrg   unavailabler   r~  r~   r   shard_idr]   AttributeErrorr   CancelledErrorr   )rU   statesra   rj   s       rV   _delay_readyzConnectionState._delay_readyM  s    0	$F;")"2"2))--/9Q9Q# E 11%8'+'7'7E'7'J!Jufo6**e3&7?lE:!  "K	 ++  "( 7v!**63???++ LLS $$-MM"3U;MM,67 %!  w'MM'" %% 		  $DtDs   G!F4 <C B>C 	'F4 0C 1AF4 >C  F4 CF4 CF4 $D>D?DF4 >EF4 E8F4 ?F F4 	FF4 FF4 #G 4G
G 	G

G G!	GG!c                R   | j                   | j                   j                          t        j                         | _        | j                  d       t        | |d         | _        | j                  |d          | j                  >	 |d   }t        j                  |d      | _	        t        j                  |d         | _        |d   D ]  }| j!                  |        | j#                  d	       t        j$                  | j'                               | _         y # t        $ r Y `w xY w)
NFr   r   r   applicationr]   flagsr   connect)r   cancelr|  Queuer  r   r5   r   r   r   r   r   r   _from_valueapplication_flagsr   re  r   create_taskr  )rU   r   r  
guild_datas       rV   parse_readyzConnectionState.parse_ready  s	   '##%#MMO


TV=	V%&\"=1 ',&=&=k4&P#)9)E)EkRYFZ)[&x. 	2J%%j1	2 	i "..t/@/@/BC  s   D 	D&%D&c                &    | j                  d       y )Nresumedr   r  s     rV   parse_resumedzConnectionState.parse_resumed  s    i rX   c                     y rZ   r{   r  s     rV   ,parse_application_command_permissions_updatez<ConnectionState.parse_application_command_permissions_update  s    rX   c                B    t        | |      }| j                  d|       y )Nr   auto_moderation_rule_creater   r   rU   r   rules      rV   !parse_auto_moderation_rule_createz1ConnectionState.parse_auto_moderation_rule_create      D13T:rX   c                B    t        | |      }| j                  d|       y )Nr   auto_moderation_rule_updater  r  s      rV   !parse_auto_moderation_rule_updatez1ConnectionState.parse_auto_moderation_rule_update  s    D13T:rX   c                B    t        | |      }| j                  d|       y )Nr   auto_moderation_rule_deleter  r  s      rV   !parse_auto_moderation_rule_deletez1ConnectionState.parse_auto_moderation_rule_delete  r  rX   c                @    t        | |      }| j                  d|       y )N auto_moderation_action_execution)AutoModActionExecutionEventr   rU   r   events      rV   &parse_auto_moderation_action_executionz6ConnectionState.parse_auto_moderation_action_execution  s    +D$78%@rX   c                B    t        ||       }| j                  d|       y )Nrc  entitlement_creater&   r   r  s      rV   parse_entitlement_createz(ConnectionState.parse_entitlement_create      T2*E2rX   c                B    t        ||       }| j                  d|       y )Nrc  entitlement_updater  r  s      rV   parse_entitlement_updatez(ConnectionState.parse_entitlement_update  r  rX   c                B    t        ||       }| j                  d|       y )Nrc  entitlement_deleter  r  s      rV   parse_entitlement_deletez(ConnectionState.parse_entitlement_delete  r  rX   c                (   | j                  |      \  }}t        |||       }| j                  d|       | j                  | j                  j	                  |       |r5|j
                  t        t        t        t        fv r|j                  |_        y y y )N)r<  r   r   r=  )rn  r%   r   r   rg   	__class__TextChannelVoiceChannelStageChannelr/   r]   last_message_id)rU   r   r<  rQ  r=  s        rV   parse_message_createz$ConnectionState.parse_message_create  s    ,,T2
'DAi)>>%NN!!'*w((	-
 
 '.jjG#
7rX   c                    t        |      }| j                  |j                        }||_        | j	                  d|       | j
                  1|.| j	                  d|       | j
                  j                  |       y y y )Nraw_message_deletemessage_delete)RawMessageDeleteEventra  r  cached_messager   r   rh   )rU   r   r;  founds       rV   parse_message_deletez$ConnectionState.parse_message_delete  so    #D)!!#..1"*C0>>%%*;MM*E2NN!!%( +<%rX   c                F   t        |      }| j                  r3| j                  D cg c]  }|j                  |j                  v s| }}ng }||_        | j                  d|       |r5| j                  d|       |D ]  }| j                  j                  |        y y c c}w )Nraw_bulk_message_deletebulk_message_delete)RawBulkMessageDeleteEventr   r]   message_idscached_messagesr   rh   )rU   r   r;  r=  found_messagesmsgs         rV   parse_message_delete_bulkz)ConnectionState.parse_message_delete_bulk  s    '->>'+~~#s9VN   N,/5MM/@% +%%c*+ s   BBc                2   t        |      }| j                  |j                        }|dt        j                  |      }||_        | j                  d|       |j                  |       |j                  |_        | j                  d||       n7|j                  d      x}r| j                  ||       | j                  d|       d|v rP| j                  j                  |j                        r*| j                  j                  |j                  |d          y y y )Nraw_message_editmessage_editr:  
components)RawMessageUpdateEventra  r  copyr  r   _updateauthorr   r?  r   is_message_trackedupdate_from_message)rU   r   r;  r=  older_message	poll_datas         rV   parse_message_updatez$ConnectionState.parse_message_update  s    #D)##CNN3 IIg.M!.CMM,c2OOD! $+>>M MM.-A HHV,,y,##Is3MM,c24D$4$4$G$G$W00lAST %XrX   c                   |d   }t        j                  |d      }t        j                  | ||j	                  dd      |d         }t        ||d      }|j	                  d      }|r9| j                  |j                        }|t        ||| 	      |_	        nd |_	        nd |_	        | j                  d
|       | j                  |j                        }|y| j                  |      }|j                  |||j                        }|j                  xs& | j!                  |j"                  |j                        }	|	r| j                  d||	       y y y )Nr
  r]   animatedFname)r]   r  r  REACTION_ADDrb   r   ra   r   raw_reaction_addreaction_add)r   r   r(   
with_stater   RawReactionActionEventr"  rL   r"   rb   r   ra  r  _upgrade_partial_emoji_add_reactionr   _get_reaction_userr<  
rU   r   r
  r	  r;  member_datara   r=  reactionr   s
             rV   parse_message_reaction_addz*ConnectionState.parse_message_reaction_add  s0   W**5$7''X		*e(D5QW=
 %T5.Ahhx(OOCLL1E #EN
!
CJ(#. ##CNN3//6E,,T5#++FH::V!8!8#++!VDnh=  rX   c                   t        |      }| j                  d|       | j                  |j                        }|H|j                  j                         }|j                  j                          | j                  d||       y y )Nraw_reaction_clearreaction_clear)RawReactionClearEventr   ra  r  	reactionsr  r   )rU   r   r;  r=  old_reactionss        rV   !parse_message_reaction_remove_allz1ConnectionState.parse_message_reaction_remove_all  sq    #D)*C0##CNN3#--224M##%MM*G]C rX   c                   |d   }t        j                  |d      }t        j                  | ||d         }t	        ||d      }|j                  d      }|r9| j                  |j                        }|t        |||       |_	        nd |_	        nd |_	        | j                  d|       | j                  |j                        }|l| j                  |      }	 |j                  |||j                        }| j!                  |j"                  |j                        }	|	r| j                  d	||	       y y y # t$        t&        f$ r Y y w xY w)
Nr
  r]   r  r]   r  REACTION_REMOVErb   r  raw_reaction_removereaction_remove)r   r   r(   r  r  r   r"  rL   r"   rb   r   ra  r  r  _remove_reactionr   r  r<  r  r   r  s
             rV   parse_message_reaction_removez-ConnectionState.parse_message_reaction_remove!  s5   W**5$7''fN$T52CDhhx(OOCLL1E #EN
!
CJ+S1##CNN3//6EE"33D%M ..wLMM"3XtD   #J/ s   D3 3EEc                `   |d   }t        j                  |d      }t        j                  | ||d         }t	        ||      }| j                  d|       | j                  |j                        }|(	 |j                  |      }|r| j                  d|       y y y # t        t        f$ r Y y w xY w)Nr
  r]   r  r  raw_reaction_clear_emojireaction_clear_emoji)r   r   r(   r  RawReactionClearEmojiEventr   ra  r  _clear_emojir  r   )rU   r   r
  r	  r;  r=  r  s          rV   #parse_message_reaction_remove_emojiz3ConnectionState.parse_message_reaction_remove_emoji?  s    W**5$7''fN(u50#6##CNN3D"//6 MM"8(C   #J/ s   3B B-,B-c                   t        |d      }| j                  |j                        }|r|j                  |j                        }n| j                  |j                        }| j                  d|       | j                  |j                         | j                  |j                        }|r|j                  r|j                  |j                        }|j                  j                  }|W|j                  |v r#||j                     xj                  dz  c_        n&t!        |j                  ddd      ||j                  <   |6|3|j                  |j                        }|| j                  d|||       y y y y )NTraw_poll_vote_addr   F)r]   countme_votedpoll_vote_add)RawMessagePollVoteEventr"  rL   r\   r   r  r   ra  r  rC  results
get_answer	answer_id_answer_countsr]   r  r*   rU   r   r;  ra   r   r:  answercountss           rV   parse_message_poll_vote_addz+ConnectionState.parse_message_poll_vote_addP  s7   %dD1-##CKK0D==-D)3/#..)}}S^^,DLL__S]]3F\\00F!99&699%++q0+(7%yy1%H)F699%  0__S]]3F!otT6B " !1rX   c                   t        |d      }| j                  |j                        }|r|j                  |j                        }n| j                  |j                        }| j                  d|       | j                  |j                         | j                  |j                        }|ro|j                  rc|j                  |j                        }|j                  j                  }|0|j                  |v r"||j                     xj                  dz  c_        |6|3|j                  |j                        }|| j                  d|||       y y y y )NFraw_poll_vote_remover   poll_vote_remove)r  r"  rL   r\   r   r  r   ra  r  rC  r	  r
  r  r  r]   r  r  s           rV   parse_message_poll_vote_removez.ConnectionState.parse_message_poll_vote_removek  s   %dE2-##CKK0D==-D,c2#..)}}S^^,DLL__S]]3F\\00F!99&699%++q0+ 0__S]]3F!0$fE " !1rX   c                   t        ||       }|d   dk(  r;|j                  d   }|j                  d   }| j                  j                  |||       |j                  t
        j                  k(  rU|j                  j                  |j                  d   }}t        j                  | j                  j                  |||             | j                  d|       y )Nrc  r      	custom_idcomponent_typeinteraction)r    r   r   r   r   r   modal_submitr   r]   r|  r  r   )rU   r   r  r  r  r   s         rV   parse_interaction_createz(ConnectionState.parse_interaction_create  s    !t48<1#((5I(--.>?N%%niM;;;  ##  - G !!**7I{K 	m[1rX   c                   t        j                  |d      }| j                  |      }|t        j	                  d|       y |d   }t        |d         }|j                  |      }|t        j	                  d|       y t        j                  |      }|j                  ||      }|r| j                  d|d   |d	          | j                  d
||       y )NrL   z@PRESENCE_UPDATE referencing an unknown guild ID: %s. Discarding.r   r]   z@PRESENCE_UPDATE referencing an unknown member ID: %s. Discarding)r   r   user_updater   r   presence_update)r   r   r"  r~   debugrq   r\   r"   _copy_presence_updater   )	rU   r   rL   ra   r   	member_idrb   
old_memberr  s	            rV   parse_presence_updatez%ConnectionState.parse_presence_update  s    **4<)=JJR F|T
O	!!),>JJR \\&)
--4d-CMM-QQH'V<rX   c                    | j                   }|j                  |       | j                  j                  |j                        }|r|j                  |       y y rZ   )r   r  r   r   r]   )rU   r   r   refs       rV   parse_user_updatez!ConnectionState.parse_user_update  sA    99Tkkoodgg&KK rX   c                V    t        j                  | |      }| j                  d|       y )Nr   invite_creater!   from_gatewayr   rU   r   invites      rV   parse_invite_createz#ConnectionState.parse_invite_create  "    $$4d;ov.rX   c                V    t        j                  | |      }| j                  d|       y )Nr   invite_deleter*  r,  s      rV   parse_invite_deletez#ConnectionState.parse_invite_delete  r/  rX   c                    | j                  t        j                  |d            }t        |d         }|8|j	                  |      }|$|j                  |       | j                  d|       y y y )NrL   r]   guild_channel_delete)r"  r   r   rq   r5  _remove_channelr   rU   r   ra   r6  r<  s        rV   parse_channel_deletez$ConnectionState.parse_channel_delete  sm     7 7j IJd_
''
3G"%%g.4g> # rX   c                `   t        t        |j                  d            }t        |d         }|t        j                  u rK| j                  |      }t        j                  |      }|j                  |       | j                  d||       y t        j                  |d      }| j                  |      }|e|j                  |      }|;t        j                  |      }|j                  ||       | j                  d||       y t        j                  d|       y t        j                  d|       y )Nr   r]   private_channel_updaterL   guild_channel_updatezACHANNEL_UPDATE referencing an unknown channel ID: %s. Discarding.z?CHANNEL_UPDATE referencing an unknown guild ID: %s. Discarding.)r   r   r   rq   grouprH  r  _update_groupr   r   r   r"  r5  r  r~   r  )rU   r   channel_typer6  r<  old_channelrL   ra   s           rV   parse_channel_updatez$ConnectionState.parse_channel_update  s   TXXf-=>d_
;,,,//
;G))G,K!!$'MM2KI**4<)''
3G""ii0t,4k7K

W
 JJQrX   c                :   t        |d         \  }}|t        j                  d|d          y t        j                  |d      }| j                  |      }|/ ||| |      }|j                  |       | j                  d|       y t        j                  d|       y )Nr   zBCHANNEL_CREATE referencing an unknown channel type %s. Discarding.rL   r  guild_channel_createz?CHANNEL_CREATE referencing an unknown guild ID: %s. Discarding.)r   r~   r  r   r   r"  _add_channelr   )rU   r   factorych_typerL   ra   r<  s          rV   parse_channel_createz$ConnectionState.parse_channel_create  s    +DL9?JJTV **4<)EDAGw'MM0':JJQ rX   c                   t        |d         }	 | j                  t        |d               }|xr |j                  |      }|t
        j                  d|       y |d   rt        j                  |d         nd }|| j                  d||       y | j                  d||       y # t        $ r d }| j	                  |      }Y w xY w)Nr6  rL   zFCHANNEL_PINS_UPDATE referencing an unknown channel ID: %s. Discarding.last_pin_timestampprivate_channel_pins_updateguild_channel_pins_update)
rq   r"  rl  r   rH  r~   r  r   
parse_timer   )rU   r   r6  ra   r<  last_pins         rV   parse_channel_pins_updatez)ConnectionState.parse_channel_pins_update  s    l+,
	COOCZ(8$9:E
 B 6 6z BG?JJ#   () T"678 	 =MM7(KMM5wI3  	<E//
;G	<s   B$ $CCc           
        t        |d         }| j                  |      }|t        j                  d|       y |j	                  t        |d               }|st        ||j                  |      }|j                  |       |j                  d      rT|j                  t        ||j                  |d   |d   d   t        j                  d	             | j                  d
|       y y | j                  d|       y )NrL   z=THREAD_CREATE referencing an unknown guild ID: %s. Discardingr]   r  newly_createdowner_idthread_metadatacreate_timestamp)r]   r   join_timestampr  thread_createthread_join)rq   r"  r~   r  
get_threadr/   _state_add_threadr   r_   r0   r]   r   MISSINGr   )rU   r   rL   ra   cached_threadthreads         rV   parse_thread_createz#ConnectionState.parse_thread_create  s    tJ'("ooh7=JJO ((T$Z9%u||$GFf%xx("" "())'+J'7.23D.E 2/ &+]]
 ov6 )  MM-7rX   c                2   t        |d         }| j                  |      }t        |      }|t        j	                  d|       y |j                  |j                        }|Wt        j                  |      }|j                  |       |j                  r|j                  |       | j                  d||       nGt        ||j                  |      }|j                  s|j                  |       | j                  d|       ||_        | j                  d|       y )NrL   z=THREAD_UPDATE referencing an unknown guild ID: %s. Discardingthread_updater  rT  raw_thread_update)rq   r"  RawThreadUpdateEventr~   r  rU  	thread_idr  r  archived_remove_threadr   r/   rV  rW  rZ  )rU   r   rL   ra   r;  rZ  olds          rV   parse_thread_updatez#ConnectionState.parse_thread_update<  s    tJ'()"4(=JJO %%cmm4F!ii't$??((0osF;e5<<dK%%f-mV4CJ)3/rX   c                j   t        |d         }| j                  |      }|t        j                  d|       y t	        |      }|j                  |j                        }||_        | j                  d|       |:|j                  |       | j                  d|       |j                  x}d |_        y y y )NrL   z=THREAD_DELETE referencing an unknown guild ID: %s. Discardingraw_thread_deletethread_delete)rq   r"  r~   r  RawThreadDeleteEventrU  r`  rZ  r   rb  starting_message)rU   r   rL   ra   r;  rZ  r  s          rV   parse_thread_deletez#ConnectionState.parse_thread_deleteV  s    tJ'()=JJO "4(!!#--0
)3/  (MM/62...;!
 <	 rX   c                   t        |d         }| j                  |      }|t        j                  d|       y 	 t	        |d         }|j                  |      }|j                  dg       D ci c]  }|d   |j                  |       }}|j                  dg       D ]&  }	 ||d      }	|	j                  t        |	|             ( |j                         D ]3  }	|j                  |	j                   d       }
|
"| j#                  d|	       5 |j                         D ]  }	| j#                  d|	        y # t        $ r. |j                  j                         }|j                          Y w xY wc c}w # t        $ r Y w xY w)	NrL   z@THREAD_LIST_SYNC referencing an unknown guild ID: %s. Discardingchannel_idsthreadsr]   r`   rT  thread_remove)rq   r"  r~   r  set_filter_threadsr   _threadsr  _clear_threadsr   _store_threadr_   r0   r   r   r]   r   )rU   r   rL   ra   rl  previous_threadsdrm  rb   rZ  rc  s              rV   parse_thread_list_syncz&ConnectionState.parse_thread_list_syncn  s   tJ'("ooh7=JJR 	Bd=12K  %44[A<@HHYPR<STq1T7E//22TThhy"- 	AFA . ""<#?@	A nn& 	5F"&&vyy$7C{mV4	5
 '--/ 	3FMM/62	31  	#  %~~224  "		# U  s)   D4 -E.!E343E+*E+3	E?>E?c                ,   t        |d         }| j                  |      }|t        j                  d|       y t        |d         }|j	                  |      }|t        j                  d|       y t        ||      }||_        |j                  |       y )NrL   zDTHREAD_MEMBER_UPDATE referencing an unknown guild ID: %s. Discardingr]   zETHREAD_MEMBER_UPDATE referencing an unknown thread ID: %s. Discarding)rq   r"  r~   r  rU  r0   rU  r_   )rU   r   rL   ra   r`  rZ  rb   s          rV   parse_thread_member_updatez*ConnectionState.parse_thread_member_update  s    tJ'("ooh7=JJV T
O	 % 0 0 ;>JJW fd+	6"rX   c                *   t        |d         }| j                  |      }|t        j                  d|       y t        |d         }|j	                  |      }t        |      }|t        j                  d|       y |j                  dg       D cg c]  }t        ||       }}|j                  dg       D 	cg c]  }	t        |	       }
}	| j                  }|D ]N  }|j                  |       |j                  |k7  r| j                  d|       6||_        | j                  d|       P |
D ]Y  }|j                  |      }||k7  r(| j                  d	|       |.| j                  d
|       Ad |_        | j                  d|       [ y c c}w c c}	w )NrL   zETHREAD_MEMBERS_UPDATE referencing an unknown guild ID: %s. Discardingr]   zFTHREAD_MEMBERS_UPDATE referencing an unknown thread ID: %s. Discardingadded_membersremoved_member_idsthread_member_joinrT  raw_thread_member_removethread_member_removern  )rq   r"  r~   r  rU  RawThreadMembersUpdateEventr   r0   r   r_   r]   r   rU  _pop_member)rU   r   rL   ra   r`  rZ  r;  ru  rz  xr{  r   rb   r"  s                 rV   parse_thread_members_updatez+ConnectionState.parse_thread_members_update  s   tJ'("ooh7=JJW T
O	 % 0 0 ;)$/>JJ"  :>((?TV:WXQfa0XX.2hh7KR.PQc!fQQ,,# 	5Fv&yyG#2F;"	mV4	5 , 	7I''	2FG#8#>%MM"8&A 	ov6	7 YQs   F9Fc                F   | j                  t        |d               }|t        j                  d|d          y t	        |||       }| j
                  j                  r|j                  |       |j                  |xj                  dz  c_        | j                  d|       y )NrL   zAGUILD_MEMBER_ADD referencing an unknown guild ID: %s. Discarding.ra   r   r   r   member_join)
r"  rq   r~   r  r"   r   joinedr_   _member_countr   )rU   r   ra   rb   s       rV   parse_guild_member_addz&ConnectionState.parse_guild_member_add  s    D$4 56=JJSZ  e$d;""))f%*1$mV,rX   c                   | j                  |d         }t        ||      }| j                  t        |d               }|i|j                  |xj                  dz  c_        |j                  |j                        }|D||_        |j                  |       | j                  d|       nt        j                  d|d          | j                  d|       y )Nr   rL   r   member_removezDGUILD_MEMBER_REMOVE referencing an unknown guild ID: %s. Discarding.raw_member_remove)r   RawMemberRemoveEventr"  rq   r  r\   r]   r   _remove_memberr   r~   r  )rU   r   r   r;  ra   rb   s         rV   parse_guild_member_removez)ConnectionState.parse_guild_member_remove  s    tF|,"4.D$4 56"".##q(#%%dgg.F!!$$V,ov6JJVZ  	)3/rX   c                |   | j                  t        |d               }|d   }t        |d         }|t        j                  d|d          y |j	                  |      }|ft        j                  |      }|j                  |       |j                  |      }|r| j                  d|d   |d          | j                  d||       y | j                  j                  rKt        ||| 	      }|j                  |      }|r| j                  d|d   |d          |j                  |       t        j                  d
|       y )NrL   r   r]   zDGUILD_MEMBER_UPDATE referencing an unknown guild ID: %s. Discarding.r  r   r   member_updater  zEGUILD_MEMBER_UPDATE referencing an unknown member ID: %s. Discarding.)r"  rq   r~   r  r\   r"   r   r  _update_inner_userr   r   r  r_   )rU   r   ra   r   r   rb   r#  r  s           rV   parse_guild_member_updatez)ConnectionState.parse_guild_member_update  s&   D$4 56F|d4j/=JJVZ  !!'*f-JNN4  33D9Km[^[^LMM/:v>&&--TdC %77=MM-QQP!!&)JJWrX   c                j     j                  t        |d               t        j                  d|d          y j                  }|D ](  } j
                  j                  |j                  d        * t        t         fd|d               _         j                  d|j                         y )NrL   zDGUILD_EMOJIS_UPDATE referencing an unknown guild ID: %s. Discarding.c                (    j                  |       S rZ   )r  ru  ra   rU   s    rV   r^  z;ConnectionState.parse_guild_emojis_update.<locals>.<lambda>/  s    4+;+;E1+E rX   r(  guild_emojis_update)r"  rq   r~   r  r(  r   r   r]   tuplemapr   )rU   r   before_emojisr
  ra   s   `   @rV   parse_guild_emojis_updatez)ConnectionState.parse_guild_emojis_update"  s    D$4 56=JJVZ  " 	-ELLUXXt,	- S!EtH~VW+UM5<<PrX   c                j     j                  t        |d               t        j                  d|d          y j                  }|D ](  } j
                  j                  |j                  d        * t        t         fd|d               _         j                  d|j                         y )NrL   zFGUILD_STICKERS_UPDATE referencing an unknown guild ID: %s. Discarding.c                (    j                  |       S rZ   )r  r  s    rV   r^  z=ConnectionState.parse_guild_stickers_update.<locals>.<lambda>B  s    T-?-?q-I rX   r)  guild_stickers_update)r"  rq   r~   r  r)  r   r   r]   r  r  r   )rU   r   before_stickersr
  ra   s   `   @rV   parse_guild_stickers_updatez+ConnectionState.parse_guild_stickers_update2  s    D$4 56=JJ# Z  ..$ 	/ENNuxx.	/ s#I4PZK[\]-uou~~VrX   c                    |j                  d      du r9| j                  t        |d               }|d|_        |j	                  |       |S | j                  |      S )Nr  Fr]   )r   r"  rq   r  
_from_datare  rd  s      rV   _get_create_guildz!ConnectionState._get_create_guildE  s]    88M"e+ OOCT
O4E $)!  &((..rX   c                2    |j                   | j                  vS rZ   )r]   r   r%  s     rV   is_guild_evictedz ConnectionState.is_guild_evictedR  s    xxt||++rX   )rk   rI   c                 K   |xs | j                   j                  }| j                  j                  |j                        }|ut        |j                  | j                  | j                  |      x| j                  |j                  <   }| j                  |j                  |j                         d {    |r|j                          d {   S |j                         S 7 .7 w)NrH   ro  )r   r  r   r   r]   rG   rN   r"  rv  rR   rk   rm   )rU   ra   rk   rI   r   s        rV   r  zConnectionState.chunk_guildU  s      70077&&**5884?7C$))T__E8 D  *W ,,uxxw}},=== ''!!##	 > (s$   B2C'4C#5C'C%C'%C'c                  K   	 t        j                  | j                  |      d       d {    |du r| j                  d|       y | j                  d|       y 7 .# t         j                  $ r t        j                  d       Y Vw xY ww)Nr   ry  z%Somehow timed out waiting for chunks.Fr  r  )r|  r}  r  r~  r~   r   r   )rU   ra   r  s      rV   _chunk_and_dispatchz#ConnectionState._chunk_and_dispatchd  sz     	?""4#3#3E#:DIII %MM+U3MM,. J## 	?II=>	?s7   B)A AA *BA (B	BB		Bc                j   |j                  d      }|du ry | j                  |      }	 | j                  j                  |       y # t        $ r Y nw xY w| j                  |      r&t        j                  | j                  ||             y |du r| j                  d|       y | j                  d|       y )Nr  TFr  r  )
r   r  r  
put_nowaitr  rj  r|  r  r  r   )rU   r   r  ra   s       rV   parse_guild_createz"ConnectionState.parse_guild_createo  s    hh}-$&&t,	((/
 	  		 %%e, 8 8 LM %MM+U3MM,.s   A 	AAc                    | j                  t        |d               }|:t        j                  |      }|j                  |       | j	                  d||       y t
        j                  d|d          y )Nr]   guild_updatez=GUILD_UPDATE referencing an unknown guild ID: %s. Discarding.)r"  rq   r  r  r   r~   r  )rU   r   ra   	old_guilds       rV   parse_guild_updatez"ConnectionState.parse_guild_update  s`    DJ0		%(IT"MM.)U;JJOT
rX   c                   | j                  t        |d               t        j                  d|d          y |j	                  dd      rd_        | j                  d       y | j                  /t        fd| j                  D        | j                        | _        | j                         | j                  d	       y )
Nr]   z=GUILD_DELETE referencing an unknown guild ID: %s. Discarding.r  FTguild_unavailablec              3  B   K   | ]  }|j                   k7  s|  y wrZ   )ra   ).0r  ra   s     rV   	<genexpr>z5ConnectionState.parse_guild_delete.<locals>.<genexpr>  s     E#))u2DEs   r   guild_remove)r"  rq   r~   r  r   r  r   r   r   r   r*  rd  s     @rV   parse_guild_deletez"ConnectionState.parse_guild_delete  s    DJ0=JJOT
 88M5) !%EMM-u5 >>%49EE((5DN
 	5!ne,rX   c                f   | j                  t        |d               }|t        j                  d|d          y t	        |      }||_        | j                  d|       | j                  |j                        }|7|j                  d       t        |d   |i||      }| j                  d|       y y )NrL   zMGUILD_AUDIT_LOG_ENTRY_CREATE referencing an unknown guild ID: %s. Discarding.raw_audit_log_entryr   )usersr   ra   audit_log_entry)r"  rq   r~   r  RawAuditLogEntryEventra   r   r  r   r   r   )rU   r   ra   payloadr   entrys         rV   "parse_guild_audit_log_entry_createz2ConnectionState.parse_guild_audit_log_entry_create  s    D$4 56=JJ# Z  '-+W5}}W__-HHZ !i$(?dRWXEMM+U3 rX   c                    | j                  t        |d               }|D	 t        |d   |       }|j                  |j                        xs |}| j                  d||       y y # t        $ r Y y w xY w)NrL   r   rc  
member_ban)r"  rq   r6   r\   r]   r   r   )rU   r   ra   r   rb   s        rV   parse_guild_ban_addz#ConnectionState.parse_guild_ban_add  s{     D$4 56;fT: ))$''2:dlE6:   s   A% %	A10A1c                    | j                  t        |d               }|-d|v r(| j                  |d         }| j                  d||       y y y )NrL   r   member_unban)r"  rq   r   r   )rU   r   ra   r   s       rV   parse_guild_ban_removez&ConnectionState.parse_guild_ban_remove  sP    D$4 564??4<0DMM.%6 "0rX   c                    | j                  t        |d               }|t        j                  d|d          y |d   }t	        |||       }|j                  |       | j                  d|       y )NrL   zBGUILD_ROLE_CREATE referencing an unknown guild ID: %s. Discarding.roler  guild_role_create)r"  rq   r~   r  r+   	_add_roler   )rU   r   ra   	role_datar  s        rV   parse_guild_role_createz'ConnectionState.parse_guild_role_create  sm    D$4 56=JJTZ  L	%it<)40rX   c                    | j                  t        |d               }|3t        |d         }	 |j                  |      }| j                  d|       y t
        j                  d|d          y # t        $ r Y y w xY w)NrL   role_idguild_role_deletezBGUILD_ROLE_DELETE referencing an unknown guild ID: %s. Discarding.)r"  rq   _remove_roler   r   r~   r  )rU   r   ra   r  r  s        rV   parse_guild_role_deletez'ConnectionState.parse_guild_role_delete  s    D$4 56$y/*G9))'2 148JJTZ   s   A- -	A98A9c                6   | j                  t        |d               }|a|d   }t        |d         }|j                  |      }|:t        j                  |      }|j	                  |       | j                  d||       y y t        j                  d|d          y )NrL   r  r]   guild_role_updatezBGUILD_ROLE_UPDATE referencing an unknown guild ID: %s. Discarding.)r"  rq   get_roler  r  r   r~   r  )rU   r   ra   r  r  r  old_roles          rV   parse_guild_role_updatez'ConnectionState.parse_guild_role_update  s    D$4 56VI)D/*G>>'*D99T?Y'18TB  
 JJTZ rX   c                \   t        |d         }| j                  |      }|j                  dg       }|j                  dg       D cg c]  }t        |||        }}t        j                  dt        |      |       |rZ|D ci c]  }t        |j                        | }}|D ]2  }|d   }	|	d   }
|j                  |
      }|!|j                  ||	       4 |j                  dd	      d
z   |j                  d      k(  }| j                  ||j                  d      ||       y c c}w c c}w )NrL   rh  r`   r  z0Processed a chunk for %s members in guild ID %s.r   r]   chunk_indexr   r   chunk_countrR   )rq   r"  r   r"   r~   r  rN  r   r]   r!  r   )rU   r   rL   ra   rh  rb   r`   member_dictpresencer   r"  r   s               rV   parse_guild_members_chunkz)ConnectionState.parse_guild_members_chunk	  s,   tJ'()HH["-	 OShhW`bdNefF6F$?ff

>Gh	
 @GHf3vyy>61HKH% <' J	$3%++Hd;< 88M1-1TXXm5LL##Hdhhw.?(S g Is   D$D)c                B   | j                  t        |d               }|t        j                  d|d          y |j	                  dd       sd n|j                  |j	                  d            }t        | |||      }|j                  |       | j                  d|       y )NrL   zMGUILD_SCHEDULED_EVENT_CREATE referencing an unknown guild ID: %s. Discarding.creator
creator_idr   ra   r  r   scheduled_event_create)	r"  rq   r~   r  r   r\   r,   _add_scheduled_eventr   rU   r   ra   r  scheduled_events        rV   "parse_guild_scheduled_event_createz2ConnectionState.parse_guild_scheduled_event_create   s    D$4 56=JJ# Z   88It, !!$((<"89 	
 )eW4
 	""?3.@rX   c                ~   | j                  t        |d               }|t        j                  d|d          y |j	                  dd       sd n|j                  |j	                  d            }t        | |||      }|j                  t        |d               }|j                  |       | j                  d||       y )NrL   zMGUILD_SCHEDULED_EVENT_UPDATE referencing an unknown guild ID: %s. Discarding.r  r  r  r]   scheduled_event_update)
r"  rq   r~   r  r   r\   r,   get_scheduled_eventr  r   )rU   r   ra   r  r  	old_events         rV   "parse_guild_scheduled_event_updatez2ConnectionState.parse_guild_scheduled_event_update7  s    D$4 56=JJ# Z   88It, !!$((<"89 	
 )eW4
 --c$t*o>	""?3.	?KrX   c                l   | j                  t        |d               }|t        j                  d|d          y |j	                  dd       sd n|j                  |j	                  d            }t        | |||      }t        j                  |_	        |j                  |       | j                  d|       y )NrL   zMGUILD_SCHEDULED_EVENT_DELETE referencing an unknown guild ID: %s. Discarding.r  r  r  scheduled_event_delete)r"  rq   r~   r  r   r\   r,   r   canceledr   _remove_scheduled_eventr   r  s        rV   "parse_guild_scheduled_event_deletez2ConnectionState.parse_guild_scheduled_event_deleteO  s    D$4 56=JJ# Z   88It, !!$((<"89 	
 )eW4
 "6!>!>%%o6.@rX   c                   | j                  t        |d               }|t        j                  d|d          y t	        |d      }||_        | j                  d|       |j                  |d         }|Q|j                  |d         }|r:|xj                  dz  c_	        |j                  |       | j                  d||       y y y )	NrL   zOGUILD_SCHEDULED_EVENT_USER_ADD referencing an unknown guild ID: %s. Discarding.USER_ADDraw_scheduled_event_user_addr   guild_scheduled_event_idr   scheduled_event_user_addr"  rq   r~   r  RawScheduledEventSubscriptionra   r   r\   r  subscriber_countr  rU   r   ra   r  rb   r  s         rV   $parse_guild_scheduled_event_user_addz4ConnectionState.parse_guild_scheduled_event_user_addg  s    D$4 56=JJ' Z  /jA4g>!!$y/2--d3M.NOE&&!+&**518%H  rX   c                   | j                  t        |d               }|t        j                  d|d          y t	        |d      }||_        | j                  d|       |j                  |d         }|Q|j                  |d         }|r:|xj                  dz  c_	        |j                  |       | j                  d||       y y y )	NrL   zRGUILD_SCHEDULED_EVENT_USER_REMOVE referencing an unknown guild ID: %s. Discarding.USER_REMOVEraw_scheduled_event_user_remover   r  r   scheduled_event_user_remover  r  s         rV   'parse_guild_scheduled_event_user_removez7ConnectionState.parse_guild_scheduled_event_user_remove  s    D$4 56=JJ' Z  /mD7A!!$y/2--d3M.NOE&&!+&**51;UFK  rX   c                    | j                  t        |d               }|| j                  d|       y t        j	                  d|d          y )NrL   guild_integrations_updatezJGUILD_INTEGRATIONS_UPDATE referencing an unknown guild ID: %s. Discarding.)r"  rq   r   r~   r  rd  s      rV   parse_guild_integrations_updatez/ConnectionState.parse_guild_integrations_update  sJ    D$4 56MM5u=JJ# Z rX   c                    t        |j                  d            }| j                  |      }|.t        |d         \  }} |||      }| j	                  d|       y t
        j                  d|       y )NrL   r   r   ra   integration_createzCINTEGRATION_CREATE referencing an unknown guild ID: %s. Discarding.rq   r   r"  r   r   r~   r  rU   r   rL   ra   clsrQ  integrations          rV   parse_integration_createz(ConnectionState.parse_integration_create  h    txx
+,))$v,7FC4u5KMM.<JJUrX   c                    t        |j                  d            }| j                  |      }|.t        |d         \  }} |||      }| j	                  d|       y t
        j                  d|       y )NrL   r   r   integration_updatezCINTEGRATION_UPDATE referencing an unknown guild ID: %s. Discarding.r  r  s          rV   parse_integration_updatez(ConnectionState.parse_integration_update  r  rX   c                    t        |d         }| j                  |      }|t        |      }| j                  d|       y t        j                  d|       y )NrL   raw_integration_deletezCINTEGRATION_DELETE referencing an unknown guild ID: %s. Discarding.)rq   r"  RawIntegrationDeleteEventr   r~   r  )rU   r   rL   ra   r;  s        rV   parse_integration_deletez(ConnectionState.parse_integration_delete  sP    tJ'()+D1CMM2C8JJUrX   c                H   | j                  t        |d               }|t        j                  d|d          y |d   }|I|j	                  t        |            }|| j                  d|       y t        j                  d|d          y t        j                  d|d          y )NrL   z?WEBHOOKS_UPDATE referencing an unknown guild ID: %s. Discardingr6  webhooks_updatezBWEBHOOKS_UPDATE referencing an unknown channel ID: %s. Discarding.z>WEBHOOKS_UPDATE channel ID was null for guild: %s. Discarding.)r"  rq   r~   r  r5  r   r6  s        rV   parse_webhooks_updatez%ConnectionState.parse_webhooks_update  s    D$4 56=JJQZ  ,'
!''J8G"/9

X&
 JJPZ rX   c                    | j                  t        |d               }|:t        || |      }||j                  |j                  <   | j                  d|       y t        j                  d|d          y )NrL   r  stage_instance_createzCSTAGE_INSTANCE_CREATE referencing unknown guild ID: %s. Discarding.)r"  rq   r-   _stage_instancesr]   r   r~   r  rU   r   ra   stage_instances       rV   parse_stage_instance_createz+ConnectionState.parse_stage_instance_create  sj    D$4 56*dNN8FE"">#4#45MM1>BJJUZ rX   c                n   | j                  t        |d               }|}|j                  j                  t        |d               }|:t	        j                  |      }|j                  |       | j                  d||       y t        j                  d|d          y t        j                  d|d          y )NrL   r]   stage_instance_updatezLSTAGE_INSTANCE_UPDATE referencing unknown stage instance ID: %s. Discarding.zCSTAGE_INSTANCE_UPDATE referencing unknown guild ID: %s. Discarding.)	r"  rq   r  r   r  r  r   r~   r  )rU   r   ra   r  old_stage_instances        rV   parse_stage_instance_updatez+ConnectionState.parse_stage_instance_update  s    D$4 56"3377DJHN)%)YY~%>"&&t,+-? 

+ J JJUZ rX   c                   | j                  t        |d               }|;	 |j                  j                  t        |d               }| j	                  d|       y t        j                  d|d          y # t
        $ r Y y w xY w)NrL   r]   stage_instance_deletezCSTAGE_INSTANCE_DELETE referencing unknown guild ID: %s. Discarding.)r"  rq   r  r   r   r   r~   r  r  s       rV   parse_stage_instance_deletez+ConnectionState.parse_stage_instance_delete  s    D$4 56G!&!7!7!;!;CT
O!L 5~FJJUZ   s   'A5 5	B Bc                   | j                  t        j                  |d            }t        j                  |d      }| j                  }| j                  j
                  }|t        |d         |k(  rN| j                  |j
                        }|1|j                  |      }t        j                  t        |d             |j                  ||      \  }}	}
|c|j                  rB|-|j                  r!|j
                  |k7  r|j                  |       n||j!                  |       | j#                  d||	|
       y t$        j'                  d|d          y y )NrL   r6  r   z)Voice Protocol voice state update handlerr   voice_state_updatezDVOICE_STATE_UPDATE referencing an unknown member ID: %s. Discarding.)r"  r   r   r   r   r]   rq   r   on_voice_state_updater|  r  r   _update_voice_stater   _voice_onlyr  r_   r   r~   r  )rU   r   ra   r6  r  r   r   r   rb   beforeafters              rV   parse_voice_state_updatez(ConnectionState.parse_voice_state_update  s=    7 7j IJ,,T<@
'')),,4	?#w...uxx8$ 66t<D'') 'R
 %*$=$=dJ$O!FFE!;;"*!--"II0 ,,V4#/))&12FFEJ

' O5 rX   c                    	 t        |d         }| j                  |      }|2|j                  |      }t	        j
                  t        |d             y y # t        $ r t        |d         }Y _w xY w)NrL   r6  z*Voice Protocol voice server update handlerr   )rq   r   r   on_voice_server_updater|  r  r   )rU   r   key_idr   r   s        rV   parse_voice_server_updatez)ConnectionState.parse_voice_server_update>  s~    	-j)*F ##F+>,,T2D!K 	  	-l+,F	-s   A A0/A0c                   t        |      }| j                  d|       | j                  t        |d               }t        |d         }|l|j	                  |      }|B|j
                  }|j                  dd       |_        | j                  d|||j
                         y t        j                  d|       y t        j                  d|d          y )Nraw_voice_channel_status_updaterL   r]   r   voice_channel_status_updatezNVOICE_CHANNEL_STATUS_UPDATE referencing an unknown channel ID: %s. Discarding.zIVOICE_CHANNEL_STATUS_UPDATE referencing unknown guild ID: %s. Discarding.)	 RawVoiceChannelStatusUpdateEventr   r"  rq   r5  r   r   r~   r  )rU   r   r;  ra   r6  r<  
old_statuss          rV   !parse_voice_channel_status_updatez1ConnectionState.parse_voice_channel_status_updateM  s    .t47=D$4 56d_
''
3G"$^^
!%(D!917J 

d
 JJ[Z rX   c                   t        |      }|j                  d      }|r9| j                  |j                        }|t	        |||       |_        nd |_        nd |_        | j                  d|       | j                  |      \  }}|L|j
                  xs | j                  ||j                        }|| j                  d|||j                         y y y )Nrb   r  
raw_typingtyping)RawTypingEventr   r"  rL   r"   rb   r   rn  _get_typing_userr   when)rU   r   r;  r  ra   r<  r   s          rV   parse_typing_startz"ConnectionState.parse_typing_starte  s    T"hhx(OOCLL1E #EN
!
CJlC(006::L!6!6w!LDhsxx@   rX   c                d   t        |t              r|j                  xs | j                        S t        |t        t
        f      r'|j                  |j                  j                        S t        |t              r#t        j                  fd|j                        S | j                        S )Nc                "    | j                   k(  S rZ   r[  )r  r   s    rV   r^  z2ConnectionState._get_typing_user.<locals>.<lambda>  s     rX   )r   r?   rP  r  r/   r  ra   r\   GroupChannelr   r_  
recipientsrU   r<  r   s     `rV   r6  z ConnectionState._get_typing_userz  s     gy)$$>g(>>&+!67GMM<U==++G44.::79K9KLL}}W%%rX   c                z    t        |t              r|j                  j                  |      S | j	                  |      S rZ   )r   r  ra   r\   r  r=  s      rV   r  z"ConnectionState._get_reaction_user  s2     g{+==++G44}}W%%rX   c                    t        j                  |d      }|s|d   S 	 | j                  |   S # t        $ r/ t	        j
                  | |j                  dd      ||d         cY S w xY w)Nr]   r  r  F)r  r]   r  )r   r   r   r   r(   r  r   )rU   r   r	  s      rV   get_reaction_emojiz"ConnectionState.get_reaction_emoji  sr    **46<	<<)) 	***e4&\	 	s   . 5A&%A&c                x    |j                   }|s|j                  S 	 | j                  |   S # t        $ r |cY S w xY wrZ   )r]   r  r   r   )rU   r
  r	  s      rV   r  z&ConnectionState._upgrade_partial_emoji  s@    88::	<<)) 	L	s   + 99c                    |y | j                  |      }||S | j                  D ]  }|j                  |      }||c S  y rZ   )rH  r   rl  )rU   r]   pmra   r<  s        rV   r5  zConnectionState.get_channel  sR    :&&r*>I[[ 	E,,R0G"	rX   c                   t        | ||      S )N)r   r<  r   r$   )rU   r<  r   s      rV   create_messagezConnectionState.create_message  s     T7>>rX   )r   r   r   dict[str, Callable]r   rF  r   r<   rN   rr   r   r   rt   ru   )r   rs   rt   ru   )
rL   rq   rR   
str | Noner`   rv   r   rs   rt   ru   )r   r   r   r   r   r   rt   ru   )rt   
int | None)rt   r   )rt   zlist[VoiceClient])rL   rH  rt   zVoiceClient | None)rL   rq   r   rA   rt   ru   )rL   rq   rt   ru   )r   r9   rt   ru   )r   UserPayloadrt   r6   )r   rq   rt   ru   )r]   rH  rt   zUser | None)ra   r   r   EmojiPayloadrt   r   )ra   r   r   GuildStickerPayloadrt   r.   rZ   )r  r3   r  rH  rt   ru   )r  r1   r  rq   rt   ru   )r  rq   rt   zView | None)rt   zSequence[View])rt   zlist[Guild])rL   rH  rt   zGuild | None)ra   r   rt   ru   )rt   zlist[Emoji])rt   zlist[GuildSticker])r	  rH  rt   zEmoji | None)r  rH  rt   zGuildSticker | None)rt   z
list[Poll])r:  PollPayload)r:  r)   r  rq   )rt   zlist[PrivateChannel])r6  rH  rt   zPrivateChannel | None)r   rH  rt   zDMChannel | None)r<  r7   rt   ru   )r   DMChannelPayloadrt   r?   )r]  rH  rt   zMessage | None)r   GuildPayloadrt   r   )ra   r   rt   rs   )r   MessagePayloadrL   rH  rt   z%tuple[Channel | Thread, Guild | None] r   F)rL   rq   rr  r   rs  rq   rh  rs   rR   rG  rt   ru   )ra   r   rr  rG  rs  rq   rx  zlist[int] | NonerI   rs   rh  rs   rw   )rt   rs   )r<  zMessageableChannel | Noner   rq   rt   User | Member | None)r<  r=   r   rq   rt   rR  )rt   zEmoji | PartialEmoji)r
  r(   rt   zEmoji | PartialEmoji | str)r]   rH  rt   zChannel | Thread | None)r<  r=   r   rO  rt   r%   )rx   ry   rz   r   __annotations__rW   r   r   r   r   propertyr   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  r2  r?  rA  rC  rE  rH  rJ  rS  rV  rX  ra  re  rj  rn  rv  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.  r2  r7  r?  rE  rL  r[  rd  rj  rv  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r'  r+  r1  r8  r6  r  r@  r  r5  rE  r{   rX   rV   rD   rD      s   77**==a a &	a
 #a a (a a 
aF &* 9B**$.*9E*QU*	*"( # #  
 2 21.0	'+#
47D 1 1 + +*'	 + + - -*. * *'+ 5 5;
KG


 <@O"O.8O	.O" 
 !

 
 	

 
 
 

&& & 	&
 #& & &P1$fD2!;;
;A3331 )+ U(>:DE<D"C6F.2"=8//?<.J>8@04"0%3N#.*7X-$0*!FQ W&/, 044 $	//8
-44(; 71  T.A.L0A0I0L0
2
0&P0A*&0&;>&	&&)&47&	& ? $? 	?
 
?rX   c                  r     e Zd Zd	 fdZd
dZ	 	 	 dddd	 	 	 	 	 	 	 	 	 	 	 	 	 ddZd
dZd
dZd
dZ xZ	S )AutoShardedConnectionStatec                d    t        |   |i | g | _        t        j                         | _        y rZ   )superrW   	shard_idsr|  Eventshards_launched)rU   r   r   r  s      rV   rW   z#AutoShardedConnectionState.__init__  s*    $)&),..5mmorX   c                <   | j                   D ]  }|j                  s| j                  |j                  j                        }|8||j                  usG|j                  j                  }|j                  |      xs t        |      }|j                  ||        y )Nr[  )r   ra   r"  r]   r<  rl  r'   _rebind_cached_references)rU   r  	new_guildr6  r<  s        rV   _update_message_referencesz5AutoShardedConnectionState._update_message_references  s    >> 	BC99		5I$#)))C [[^^
#44Z@ F!E --iA	BrX   N)r  rR   c               r   K   | j                  ||      }|j                  |||||       d {    y 7 w)Nr  rq  rt  )rU   rL   rr  rs  rh  r  rR   r   s           rV   rv  z"AutoShardedConnectionState.chunker  sE        H =E)5   
 	
 	
s   -757c           
       K   | j                   j                          d {    g }t        | j                        dz  }g }	 	 t	        j
                  | j                  j                         | j                         d {   }| j                  |      rt        j                  d|j                         t        |      |k\  r%	 t        j                  ||dz         d {    g }t	        j$                  | j'                  |            }|j)                  |       n+| j*                  j-                         }|j/                  g        |j)                  ||f       7 >7 7 # t        j                  $ r/ d}t        j!                  ||j"                  t        |             Y w xY w# g }w xY w# t        j                  $ r Y nw xY wt1        |d       }t3        j4                  |d       D ]  \  }}	t7        |	 \  }
}d	t        |
      d
z  z  }	 t        j                  ||       d {  7   n:# t        j                  $ r$ t        j!                  d||t        |             Y nw xY w|
D ]5  }|j8                  du r| j;                  d|       $| j;                  d|       7 | j;                  d|        	 | `n# t<        $ r Y nw xY wd | _        | jA                  d       | j;                  d       y w)N   ry  z>Guild ID %d requires chunking, will be done in the background.g     Q@zFShard ID %s failed to wait for chunks from a sub-bucket with length %dc                     | d   j                   S Nr   ra  gs    rV   r^  z9AutoShardedConnectionState._delay_ready.<locals>.<lambda>  s    1 rX   )r   c                     | d   j                   S re  ra  rf  s    rV   r^  z9AutoShardedConnectionState._delay_ready.<locals>.<lambda>  s    admm rX   =   n   zBShard ID %s failed to wait for chunks (timeout=%.2f) for %d guildsFr  r  shard_readyr  )!r[  rk   rN  rY  r|  r}  r  r   r   rj  r~   r  r]   r   sane_wait_forr~  r   r  ensure_futurer  rg   rN   rf   rp   sorted	itertoolsgroupbyzipr  r   r  r   r   )rU   	processedmax_concurrencycurrent_bucketra   fmtrj   r   r  r   childrenfuturesrz  s                rV   r  z'AutoShardedConnectionState._delay_ready  s    ""'')))	dnn-1$2%..%%))+T5M5M  --e4JJ+  >*o=0"'"5"5 .$8N#   .0N %2243C3CE3JKF"))&1!YY446F%%b)  %1O 	 	*   '33 S!=   !LLennc.>QRS .0N/ '' D 	'>?'//<ST 	3NHd #T
HgCMC/0G))'7CCC'' 	" K	 " 7$$-MM"3U;MM,6	7 MM-2-	32	! 		   	7#gs   K9E!K9<F1 ?E! F1 ?K9E% !E#"E% &A9K9!F1 #E% %?F'$F* &F''F* *F..K91GK9GAK9H4-H0.H43K944I+(K9*I++AK9=K  ?K9 	K	K9K-K9c                   t        | d      st        j                         | _        t	        | |d         x| _        }|| j                  |j                  <   | j                  >	 |d   }t        j                  |d      | _        t        j                  |d         | _        |d   D ]  }| j                  |        | j                   r| j#                          | j%                  d       | j%                  d	|d
          | j&                  )t        j(                  | j+                               | _        y y # t        $ r Y w xY w)Nr  r   r   r  r]   r  r   r  shard_connect__shard_id__)hasattrr|  r  r  r5   r   r   r]   r   r   r   r   r  r  r   re  r   r_  r   r   r  r  )rU   r   r   r  r  s        rV   r  z&AutoShardedConnectionState.parse_ready6  s(   t^, 'D%DtF|DD	D#DGG&"=1 ',&=&=k4&P#)9)E)E(*& x. 	2J%%j1	2 >>++-i otN';<#&2243D3D3FGD $#  s   #D3 3	D?>D?c                P    | j                  d       | j                  d|d          y )Nr  shard_resumedrz  r  r  s     rV   r  z(AutoShardedConnectionState.parse_resumedU  s!    i otN';<rX   )r   r   r   r   rt   ru   rw   rP  )rL   rq   rr  r   rs  rq   rh  rs   r  rH  rR   rG  rt   ru   )
rx   ry   rz   rW   r_  rv  r  r  r  __classcell__)r  s   @rV   rV  rV    s    >
B$ 
  $ 

 
 	

 
 
 
 

RhH>=rX   rV  )r   zCoroutine[Any, Any, T]r   r   rt   ru   )__doc__
__future__r   r|  r  r   ro  loggingrO   collectionsr   r   r4  r   r   r   r	   r
   r   r   r   rQ  r   r   r   
audit_logsr   automodr   r<  r   r
  r   enumsr   r   r   r   r   r  r   r   r   ra   r   integrationsr   interactionsr    r-  r!   rb   r"   mentionsr#   r=  r%   monetizationr&   objectr'   partial_emojir(   r:  r)   r*   
raw_modelsr  r+   scheduled_eventsr,   r  r-   r  r.   rm  r/   r0   ui.modalr1   r2   ui.viewr3   r4   r   r5   r6   abcr7   clientr8   gatewayr9   r:   r;   r   r<   r=   types.activityr>   ActivityPayloadtypes.channelr?   rM  types.emojirJ  types.guildrN  types.messagerO  
types.pollrL  types.stickerrK  
types.userrI  voice_clientrA   rB   rC   r7  ChannelrG   	getLoggerrx   r~   r   rD   rV  r{   rX   rV   <module>r     s,  2 #      	 *	 	 	  " %    %  W W > >  . %   %  %  ' '   , ) ! ) ' $ "#)6 +;<228/B/)A	.	/BL"3^EWWXG-/ -/` w"=_? _?D9Y= Y=rX   