+
    +O|jì$  ã                   óÐ   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t^ RI
t
^ RIt^ RIt^ RIHt ^ RIHtHtHtHtHt  ! R R]4      t ! R R]4      t ! R R	]4      tR# )
é    N)ÚNullContext)ÚQUIC_MAX_DATAGRAMÚAsyncQuicConnectionÚAsyncQuicManagerÚBaseQuicStreamÚUnexpectedEOFc                   ój   a a€ ] tR t^t oV 3R ltR tR tRR ltRR ltR t	R t
R tR	 tR
tVtV ;t# )ÚTrioQuicStreamc                óZ   <€ \         SV `  W4       \        P                  ! 4       V n        R # ©N)ÚsuperÚ__init__ÚtrioÚ	ConditionÚ_wake_up)ÚselfÚ
connectionÚ	stream_idÚ	__class__s   &&&€ÚGC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\dns/quic/_trio.pyr   ÚTrioQuicStream.__init__   s   ø€ Ü‰Ñ˜Ô/ÜŸšÓ(ˆŽó    c              ƒ  óR  "  €  V P                   P                  V4      '       d   R# Wn        V P                  ;_uu_4       GRj  x€L
  V P                  P	                  4       G Rj  x€L
  RRR4      GRj  x€L
  ^ V n        K‚   L? L L  + GRj  x€L 
 '       g   i     L(; i5i©TN)Ú_bufferÚhaveÚ
_expectingr   Úwait)r   Úamounts   &&r   Úwait_forÚTrioQuicStream.wait_for    sg   é € ØØ�|‰|× Ñ  ×(Ò(ÙØ$ŒOØ—}—}—}“}Ø—m‘m×(Ñ(Ó*×*Ð*÷ %—}àˆDŽOñ %Ù*÷ %—}—}’}üsd   ‚"B'¥ B'ÁBÁB'Á	BÁ'BÁ(BÁ,B'Á7B	Á8B'ÂBÂ	B'ÂB$	ÂBÂ
B$	ÂB$	ÂB'c              ƒ  ó8  "  €  V P                   P                  4       '       d   R# V P                  ;_uu_4       GRj  x€L
  V P                  P                  4       G Rj  x€L
  RRR4      GRj  x€L
  Kt   L8 L L
  + GRj  x€L 
 '       g   i     K”  ; i5ir   )r   Úseen_endr   r   ©r   s   &r   Úwait_for_endÚTrioQuicStream.wait_for_end)   sV   é € ØØ�|‰|×$Ñ$×&Ò&ÙØ—}—}—}“}Ø—m‘m×(Ñ(Ó*×*Ð*÷ %—}“}Ù*÷ %—}—}“}üsb   ‚!B¤B¾A7¿BÁA=Á A9Á!A=Á%BÁ0A;Á1BÁ9A=Á;BÁ=B	ÂBÂ
B	ÂB	Â	Bc              ƒ  óš  "  € Vf   \        R 4      pM\        P                  ! V4      pT;_uu_ 4        V P                  P	                  4       '       d=   V P                  4       G R j  x€L
  V P                  P                  4       uuR R R 4       # V P                  ^4      G R j  x€L
  \        P                  ! RV P                  P                  ^4      4      w  pV P                  V4      G R j  x€L
  V P                  P                  V4      uuR R R 4       #  L± Lv L-  + '       g   i     \        P                  P                  h; i5i)Nz!H)r   r   Úmove_on_afterÚ_connectionÚis_h3r%   r   Úget_allr    ÚstructÚunpackÚgetÚdnsÚ	exceptionÚTimeout)r   ÚtimeoutÚcontextÚsizes   &&  r   ÚreceiveÚTrioQuicStream.receive0   së   é € ØŠ?Ü! $Ó'‰Gä×(Ò(¨Ó1ˆGßŠWØ×Ñ×%Ñ%×'Ò'Ø×'Ñ'Ó)×)Ð)Ø—|‘|×+Ñ+Ó-÷ ŠWð
 —m‘m AÓ&×&Ð&Ü Ÿ-š-¨¨d¯l©l×.>Ñ.>¸qÓ.AÓB‘�Ø—m‘m DÓ)×)Ð)Ø—|‘|×'Ñ'¨Ó-÷ ŠWá)ñ 'á)÷ ŽWô �m‰m×#Ñ#Ð#üs_   ‚1E³4DÁ'DÁ(DÂEÂDÂ$DÂ%A
DÃ/DÃ0DÄEÄDÄDÄDÄE	Ä*!Ec              ƒ  ó�   "  € V P                  V4      pV P                  P                  V P                  W24      G R j  x€L
  R #  L5ir   )Ú_encapsulater)   ÚwriteÚ
_stream_id)r   ÚdatagramÚis_endÚdatas   &&& r   ÚsendÚTrioQuicStream.send@   s5   é € Ø× Ñ  Ó*ˆØ×Ñ×$Ñ$ T§_¡_°dÓC×CÔCùs   ‚;A½A¾Ac              ƒ  ó  "  € V P                  W4      '       dJ   V P                  ;_uu_4       GR j  x€L
  V P                  P                  4        R R R 4      GR j  x€L
  R # R #  L2 L
  + GR j  x€L 
 '       g   i     R # ; i5ir   )Ú_common_add_inputr   Únotify)r   r=   r<   s   &&&r   Ú
_add_inputÚTrioQuicStream._add_inputD   sH   é € Ø×!Ñ! $×/Ò/Ø—}—}—}“}Ø—‘×$Ñ$Ô&÷ %—}‘}ñ 0ß$—}—}•}üsJ   ‚0B²A%³B¶A)ÁBÁA'Á	BÁ'BÁ)B	Á/A2Á0
B	Á;B	Á=	Bc              ƒ  ó.   "  € V P                  4        R # 5ir   )Ú_closer$   s   &r   ÚcloseÚTrioQuicStream.closeI   s   é € Ø�‰Žùs   ‚c              ƒ  ó   "  € V # 5ir   © r$   s   &r   Ú
__aenter__ÚTrioQuicStream.__aenter__N   ó
   é € Øˆùó   ‚c              ƒ  ó  "  € V P                  4       G R j  x€L
  V P                  ;_uu_4       GR j  x€L
  V P                  P                  4        R R R 4      GR j  x€L
  R#  LM L2 L
  + GR j  x€L 
 '       g   i     R# ; i5i©NF)rG   r   rB   )r   Úexc_typeÚexc_valÚexc_tbs   &&&&r   Ú	__aexit__ÚTrioQuicStream.__aexit__Q   sJ   é € Ø�j‰j‹l×ÐØ—=—=—=“=Ø�M‰M× Ñ Ô"÷ !—=áñ 	ß —=—=“=áüsZ   ‚B–A$—B³A&´B·A*ÁBÁA(ÁBÁ&BÁ(BÁ*B	Á0A3Á1
B	Á<B	Á>	B)r   r   r   ©F)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r    r%   r5   r>   rC   rG   rK   rT   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r
   r
      s8   ù‡ € õ)ò ò+ô$ô Dò'ò
ò
÷ò r   r
   c                   ób   a a€ ] tR t^Xt oR	V 3R lltR tR tR
R ltR tR	R lt	R t
RtVtV ;t# )ÚTrioQuicConnectionc                ó*  <€ \         SV `  WW4WV4       \        P                  P                  V P                  \        P
                  ^ 4      V n        \        P                  ! 4       V n        \        P                  ! 4       V n	        RV n
        RV n        R# )r   NF)r   r   r   ÚsocketÚ_afÚ
SOCK_DGRAMÚ_socketÚEventÚ_handshake_completeÚ	_run_doneÚ_worker_scopeÚ_send_pending)r   r   ÚaddressÚportÚsourceÚsource_portÚmanagerr   s   &&&&&&&€r   r   ÚTrioQuicConnection.__init__Y   sc   ø€ Ü‰Ñ˜¨d¸KÔQÜ—{‘{×)Ñ)¨$¯(©(´F×4EÑ4EÀqÓIˆŒÜ#'§:¢:£<ˆÔ ÜŸš›ˆŒØ!ˆÔØ"ˆÖr   c              ƒ  ó^  "  €  V P                   '       dV   V P                  P                  \        P                  P                  V P                   V P                  4      4      G R j  x€L
  V P                  P                  V P                  4      G R j  x€L
  V P                  '       Ege   V P                  R4      w  rV P                  '       d   Rp\        P                  ! \        P                  ! 4       V,           R7      ;_uu_ 4       V n        V P                  P!                  \"        4      G R j  x€L
 pV P$                  P'                  W0P                  \(        P(                  ! 4       4       R R R 4       R V n        V P+                  V4       V P-                  4       G R j  x€L
  RV n        V P$                  P/                  \(        P(                  ! 4       4      pV F(  w  r5V P                  P1                  V4      G R j  x€L
  K*  	  EKw   RV n	        V P                  P3                  4        V P4                  P7                  4        R #  ELç EL½ EL   + '       g   i     Lí; i LÄ Lg  RT n	        T P                  P3                  4        T P4                  P7                  4        i ; i5i)NFg        )ÚdeadlineT)Ú_sourcerf   Úbindr/   ÚinetÚlow_level_address_tuplerd   ÚconnectÚ_peerÚ_doneÚ_get_timer_valuesrk   r   ÚCancelScopeÚcurrent_timerj   Úrecvr   r)   Úreceive_datagramÚtimeÚ_handle_timerÚ_handle_eventsÚdatagrams_to_sendr>   rG   rh   Úset)r   Ú
expirationÚintervalr;   Ú	datagramsÚ_s   &     r   Ú_workerÚTrioQuicConnection._workera   só  é € ð"	+Ø�|�|ˆ|Ø—l‘l×'Ñ'Ü—H‘H×4Ñ4°T·\±\À4Ç8Á8ÓLó÷ ð ð —,‘,×&Ñ& t§z¡zÓ2×2Ð2Ø—j—j‘jØ)-×)?Ñ)?ÀÓ)FÑ&�Ø×%×%Ð%ð  #�HÜ×%Ò%Ü!×.Ò.Ó0°8Õ;÷õ àÔ'Ø%)§\¡\×%6Ñ%6Ô7HÓ%I×I�HØ×$Ñ$×5Ñ5°hÇ
Á
ÌDÏIÊIËKÔX÷	ð
 &*�Ô"Ø×"Ñ" :Ô.Ø×)Ñ)Ó+×+Ð+ð &+�Ô"Ø ×,Ñ,×>Ñ>¼t¿yºy»{ÓK�	Û#,‘K�HØŸ,™,×+Ñ+¨HÓ5×5Ò5ô $-ð/ !ð4 ˆDŒJØ�L‰L×ÑÔ Ø×$Ñ$×(Ñ(Ö*òAò 3ò  J÷÷ úñ ,ñ 6øàˆDŒJØ�L‰L×ÑÔ Ø×$Ñ$×(Ñ(Õ*üs‘   ‚J-„A"I- Á&IÁ',I- ÂIÂI- Â+A I- Ä(IÄ3IÄ4=IÅ13I- Æ$I)Æ%AI- ÈI+ÈI- È=J-ÉI- ÉI- ÉIÉI&	É!	I- É+I- É-=J*Ê*J-c              ƒ  ó¦  "  € ^ p V P                   P                  4       pVf   R# \        V\        P                  P
                  P                  4      '       Ed   V P                  4       '       Ed    V P                  f   Q hV P                  P                  V4      pV EFk  p\        V\        P                  P
                  P                  4      '       dŸ   V P                  P                  VP                  4      pV'       dp   VP                  f   VP                   Vn        MVP"                  f   VP                   Vn        VP$                  '       d   VP'                  RR4      G Rj  x€L
  KÒ  KÔ  KÖ  \        V\        P                  P
                  P(                  4      '       g   EK  V P                  P                  VP                  4      pV'       g   EK=  VP'                  VP*                  VP$                  4      G Rj  x€L
  EKn  	  EM}V P                  P                  VP                  4      pV'       d/   VP'                  VP*                  VP,                  4      G Rj  x€L
  EM \        V\        P                  P
                  P.                  4      '       d   V P0                  P3                  4        MÑ\        V\        P                  P
                  P4                  4      '       d#   RV n        V P8                  P;                  4        M{\        V\        P                  P
                  P<                  4      '       dH   V P                  P                  VP                  4      pV'       d   VP'                  RR4      G Rj  x€L
  V^,          pV^
8”  g   EKœ  ^ p\>        P@                  ! ^ 4      G Rj  x€L
  EK¿   ELZ ELÂ ELc LC L5i)r   TNr   )!r)   Ú
next_eventÚ
isinstanceÚaioquicÚquicÚeventsÚStreamDataReceivedr*   Ú_h3_connÚhandle_eventÚh3ÚHeadersReceivedÚ_streamsr.   r   Ú_headersÚheadersÚ	_trailersÚstream_endedrC   ÚDataReceivedr=   Ú
end_streamÚHandshakeCompletedrh   r„   ÚConnectionTerminatedrz   rf   rG   ÚStreamResetr   Úsleep)r   ÚcountÚeventÚ	h3_eventsÚh3_eventÚstreams   &     r   r‚   Ú!TrioQuicConnection._handle_events†   s§  é € ØˆØØ×$Ñ$×/Ñ/Ó1ˆEØŠ}ÙÜ˜%¤§¡×!4Ñ!4×!GÑ!G×HÓHØ—:‘:—<“<ØŸ=™=Ò4Ð4Ð4Ø $§¡× :Ñ :¸5Ó A�IÜ$-˜Ü% h´·
±
×0AÑ0A×0QÑ0Q×RÒRØ%)§]¡]×%6Ñ%6°u·±Ó%G˜Fß%Ø#)§?¡?Ò#:Ø6>×6FÑ6F F¥OØ%+×%5Ñ%5Ò%=Ø7?×7GÑ7G FÔ$4Ø#+×#8×#8Ð#8Ø*0×*;Ñ*;¸CÀÓ*F×$FÒ$Fñ $9ñ  &ô (¨´'·*±*×2CÑ2C×2PÑ2P×QÕQØ%)§]¡]×%6Ñ%6°u·±Ó%G˜Fß%švØ&,×&7Ñ&7Ø$,§M¡M°8×3HÑ3Hó'"÷ !"ó !"ó %.ð" "Ÿ]™]×.Ñ.¨u¯©Ó?�FßØ$×/Ñ/°·
±
¸E×<LÑ<LÓM×MÐMùÜ˜E¤7§<¡<×#6Ñ#6×#IÑ#I×JÒJØ×(Ñ(×,Ñ,Õ.Ü˜E¤7§<¡<×#6Ñ#6×#KÑ#K×LÒLØ!�”
Ø—‘×"Ñ"Õ$Ü˜E¤7§<¡<×#6Ñ#6×#BÑ#B×CÒCØŸ™×*Ñ*¨5¯?©?Ó;�ßØ ×+Ñ+¨C°Ó6×6Ð6Ø�Q�JˆEØ�r�zà�Ü—j’j “m×#Ó#ò1 %Gò!"ò Nñ 7ñ
 $ùs�   ‚A/OÁ2BOÄAOÅOÅ*OÅ+;OÆ,*OÇ)OÈOÈ7OÈ>)OÉ'O
É(DOÍ4OÎ	OÎ
OÎ!OÎ<OÎ=OÏOÏ
OÏOÏOc              ƒ  ó¨   "  € V P                   P                  WV4       R V n        V P                  e   V P                  P	                  4        R# R# 5ir   )r)   Úsend_stream_datark   rj   Úcancel)r   r¥   r=   r<   s   &&&&r   r9   ÚTrioQuicConnection.write³   sF   é € Ø×Ñ×)Ñ)¨&¸Ô?Ø!ˆÔØ×ÑÒ)Ø×Ñ×%Ñ%Ö'ñ *ùs   ‚AAc              ƒ  óL  "  € V P                   '       d   R # \        P                  ! 4       ;_uu_4       GR j  x€L
 pVP                  V P                  4       R R R 4      GR j  x€L
  V P
                  P                  4        R #  LK L"  + GR j  x€L 
 '       g   i     L9; i5ir   )Ú_closedr   Úopen_nurseryÚ
start_soonr‰   ri   r„   )r   Únurserys   & r   ÚrunÚTrioQuicConnection.run¹   s]   é € Ø�<�<ˆ<ÙÜ×$Ò$×&×&Ô&¨'Ø×Ñ˜tŸ|™|Ô,÷ '×&à�‰×ÑÖ÷ '×&×&Ô&üsJ   ‚6B$¸B¹B$¼BÁB$Á#BÁ$!B$ÂB$ÂB!	ÂBÂ
B!	ÂB!	ÂB$c              ƒ  ó¼  "  € Vf   \        R 4      pM\        P                  ! V4      pT;_uu_ 4        V P                  P	                  4       G R j  x€L
  V P
                  '       d   \        hV P                  P                  R4      p\        W4      pW@P                  V&   VuuR R R 4       #  L\  + '       g   i     \        P                  P                  h; i5irP   )r   r   r(   rh   r   rz   r   r)   Úget_next_available_stream_idr
   r–   r/   r0   r1   )r   r2   r3   r   r¥   s   &&   r   Úmake_streamÚTrioQuicConnection.make_streamÀ   s¢   é € ØŠ?Ü! $Ó'‰Gä×(Ò(¨Ó1ˆGßŠWØ×*Ñ*×/Ñ/Ó1×1Ð1Ø�z�zˆzÜ#Ð#Ø×(Ñ(×EÑEÀeÓLˆIÜ# DÓ4ˆFØ'-�M‰M˜)Ñ$Ø÷ ŠWÙ1÷ ŽWô �m‰m×#Ñ#Ð#üs4   ‚1C³B0ÁB.ÁB0Á(;B0Â#CÂ.B0Â0C	Â;!Cc              ƒ  ó¶  "  € V P                   '       gÁ   V P                  e?   V P                  P                  V P                  ^ ,          V P                  ^,          4       RV n         V P                  P                  4        RV n        V P                  e   V P                  P                  4        V P                  P                  4       G R j  x€L
  R # R #  L5i)NT)r¬   Ú_managerÚclosedry   r)   rG   rk   rj   r©   ri   r   r$   s   &r   rG   ÚTrioQuicConnection.closeÏ   s›   é € Ø�|�|ˆ|Ø�}‰}Ò(Ø—‘×$Ñ$ T§Z¡Z°¥]°D·J±J¸qµMÔBØˆDŒLØ×Ñ×"Ñ"Ô$Ø!%ˆDÔØ×!Ñ!Ò-Ø×"Ñ"×)Ñ)Ô+Ø—.‘.×%Ñ%Ó'×'Ò'ñ ñ (ùs   ‚CCÃCÃ	C)r¬   rz   rh   ri   rk   rf   rj   r   rV   )rW   rX   rY   rZ   r   r‰   r‚   r9   r°   r´   rG   r[   r\   r]   r^   s   @@r   ra   ra   X   s/   ù‡ € ÷#ò#+òJ+$ôZ(òô$÷	(ò 	(r   ra   c                   óh   a a€ ] tR t^Ût oR]P
                  RR3V 3R lltRR ltR tR t	Rt
VtV ;t# )	ÚTrioQuicManagerNFc                ó>   <€ \         SV `  W#\        WE4       Wn        R # r   )r   r   ra   Ú_nursery)r   r¯   ÚconfÚverify_modeÚserver_namer”   r   s   &&&&&&€r   r   ÚTrioQuicManager.__init__Ü   s   ø€ ô 	‰Ñ˜Ô,>ÀÔPØŽr   c                óŠ   € V P                  WW4V4      w  rgV'       d&   V P                  P                  VP                  4       V# r   )Ú_connectr½   r®   r°   )r   rl   rm   rn   ro   Úwant_session_ticketr   Ústarts   &&&&&&  r   rx   ÚTrioQuicManager.connectç   s>   € ð #Ÿm™mØ˜6Ð0Có
Ñˆ÷ Ø�M‰M×$Ñ$ Z§^¡^Ô4ØÐr   c              ƒ  ó   "  € V # 5ir   rJ   r$   s   &r   rK   ÚTrioQuicManager.__aenter__ñ   rM   rN   c              ƒ  óš   "  € \        V P                  P                  4       4      pV F  pVP                  4       G R j  x€L
  K  	  R#  L
5irP   )ÚlistÚ_connectionsÚvaluesrG   )r   rQ   rR   rS   Úconnectionsr   s   &&&&  r   rT   ÚTrioQuicManager.__aexit__ô   sD   é € ô ˜4×,Ñ,×3Ñ3Ó5Ó6ˆÛ%ˆJØ×"Ñ"Ó$×$Ò$ñ &áñ %ùs   ‚<A¾A	¿A)r½   )iU  Nr   T)rW   rX   rY   rZ   ÚsslÚCERT_REQUIREDr   rx   rK   rT   r[   r\   r]   r^   s   @@r   r»   r»   Û   s2   ù‡ € ð Ø×%Ñ%ØØ÷	 ôò÷ò r   r»   )rc   rÏ   r,   r€   Úaioquic.h3.connectionrŽ   Úaioquic.h3.eventsÚaioquic.quic.configurationÚaioquic.quic.connectionÚaioquic.quic.eventsr   Údns.exceptionr/   Údns.inetÚdns._asyncbackendr   Údns.quic._commonr   r   r   r   r   r
   ra   r»   rJ   r   r   Ú<module>rÚ      sb   ðó Û 
Û Û ã Û Û !Û Û Û ã Û Ý )÷õ ô:�^ô :ôz@(Ð,ô @(ôFÐ&ö r   