+
    +O|jO+  ã                   ó  € ^ 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
t^ RIt^ RIt^ RIt^ RItRt^t]^,          t ! R R]4      t ! R R4      t ! R R	4      t ! R
 R4      t ! R R]4      t ! R R4      t ! R R]4      tR# )é    N)ÚAnyi   c                   ó   € ] tR t^tRtR# )ÚUnexpectedEOF© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚIC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\dns/quic/_common.pyr   r      s   † Ûr   r   c                   óD   a € ] tR t^t o R tR tR tR tR tR t	Rt
V tR# )	ÚBufferc                ó"   € R V n         RV n        R# )r   FN©Ú_bufferÚ	_seen_end©Úselfs   &r   Ú__init__ÚBuffer.__init__   s   € ØˆŒØˆŽr   c                ó‚   € V P                   '       d   R # V ;P                  V,          un        V'       d
   RV n         R # R # )NT)r   r   ©r   ÚdataÚis_ends   &&&r   ÚputÚ
Buffer.put#   s+   € Ø�>�>ˆ>ÙØ�Š˜Õ�ßØ!ˆDŽNñ r   c                ón   € \        V P                  4      V8¼  d   R # V P                  '       d   \        hR# )TF)Úlenr   r   r   )r   Úamounts   &&r   ÚhaveÚBuffer.have*   s(   € Üˆt�|‰|Ó Ô&ÙØ�>�>ˆ>ÜÐÙr   c                ó   € V P                   # ©N)r   r   s   &r   Úseen_endÚBuffer.seen_end1   ó   € Ø�~‰~Ðr   c                ó~   € V P                  V4      '       g   Q hV P                  R V pV P                  VR  V n        V# r$   )r!   r   )r   r    r   s   && r   ÚgetÚ
Buffer.get4   s>   € Ø�y‰y˜× Ò Ð Ð Ø�|‰|˜G˜VÐ$ˆØ—|‘| F GÐ,ˆŒØˆr   c                ó\   € V P                  4       '       g   Q hV P                  pR V n        V# )r   )r%   r   )r   r   s   & r   Úget_allÚBuffer.get_all:   s'   € Ø�}‰}�ŠÐˆØ�|‰|ˆØˆŒØˆr   r   N)r   r   r	   r
   r   r   r!   r%   r)   r,   r   Ú__classdictcell__©Ú__classdict__s   @r   r   r      s(   ø‡ € òò"òòò÷ð r   r   c                   ó`   a € ] tR t^At o R tR tR tR tR tR t	RR lt
R tR	 tR
 tRtV tR# )ÚBaseQuicStreamc                óf   € Wn         W n        \        4       V n        ^ V n        RV n        RV n        R# ©r   N)Ú_connectionÚ
_stream_idr   r   Ú
_expectingÚ_headersÚ	_trailers)r   Ú
connectionÚ	stream_ids   &&&r   r   ÚBaseQuicStream.__init__B   s+   € Ø%ÔØ#ŒÜ“xˆŒØˆŒØˆŒØˆŽr   c                ó   € V P                   # r$   )r6   r   s   &r   ÚidÚBaseQuicStream.idJ   s   € Ø�‰Ðr   c                ó   € V P                   # r$   )r8   r   s   &r   ÚheadersÚBaseQuicStream.headersM   s   € Ø�}‰}Ðr   c                ó   € V P                   # r$   )r9   r   s   &r   ÚtrailersÚBaseQuicStream.trailersP   r'   r   c                óN   € Ve   \         P                   ! 4       V,           pV# R pV# r$   )Útime)r   ÚtimeoutÚ
expirations   && r   Ú_expiration_from_timeoutÚ'BaseQuicStream._expiration_from_timeoutS   s-   € ØÒÜŸš› wÕ.ˆJð Ðð ˆJØÐr   c                ób   € Ve)   \        V\        P                  ! 4       ,
          R4      pV# R pV# )Ng        )ÚmaxrG   )r   rI   rH   s   && r   Ú_timeout_from_expirationÚ'BaseQuicStream._timeout_from_expirationZ   s2   € ØÒ!Ü˜*¤t§y¢y£{Õ2°CÓ8ˆGð ˆð ˆGØˆr   c           	     óþ  € V P                   P                  4       '       g   \        R 4      h\        P                  P                  V4      pVP                  P                  4       pV'       d   RpM5RpVR\        P                  ! V4      P                  R4      ,           ,          pRV3RVP                  P                  4       3RVP                  P                  4       3RV3R.pV'       d6   VP                  RR	\        \        V4      4      P                  4       3.4       V P                   P!                  V P"                  Ws'       * 4       V'       d*   V P                   P%                  V P"                  VR
4       R# R# )z%cannot send H3 to a non-H3 connections   POSTs   GETs   ?dns=ó   =s   :methods   :schemes
   :authoritys   :paths   content-lengthTN)s   acceptó   application/dns-message)s   content-typerR   )r5   Úis_h3ÚSyntaxErrorÚurllibÚparseÚurlparseÚpathÚencodeÚbase64Úurlsafe_b64encodeÚrstripÚschemeÚnetlocÚextendÚstrr   Úsend_headersr6   Ú	send_data)r   ÚurlÚdatagramÚpostÚ	url_partsrX   ÚmethodrA   s   &&&&    r   Úsend_h3ÚBaseQuicStream.send_h3g   s8  € Ø×Ñ×%Ñ%×'Ò'ÜÐEÓFÐFÜ—L‘L×)Ñ)¨#Ó.ˆ	Ø�~‰~×$Ñ$Ó&ˆßØ‰FàˆFØ�Hœv×7Ò7¸ÓA×HÑHÈÓNÕNÕNˆDà˜Ð Ø˜×)Ñ)×0Ñ0Ó2Ð3Ø˜I×,Ñ,×3Ñ3Ó5Ð6Ø�tÐØ3ð
ˆ÷ Ø�N‰NàAØ&¬¬C°«MÓ(:×(AÑ(AÓ(CÐDðôð 	×Ñ×%Ñ% d§o¡o°wÄÔIßØ×Ñ×&Ñ& t§¡¸À$ÖGñ r   c                ó˜   € V P                   P                  4       '       d   V# \        V4      p\        P                  ! R V4      V,           # )z!H)r5   rS   r   ÚstructÚpack)r   rd   Úls   && r   Ú_encapsulateÚBaseQuicStream._encapsulateƒ   s;   € Ø×Ñ×!Ñ!×#Ò#ØˆOÜ�‹MˆÜ�{Š{˜4 Ó# hÕ.Ð.r   c                ó  € V P                   P                  W4        V P                  ^ 8„  ;'       d.    V P                   P                  V P                  4      ;'       g    V P                   P                  #   \
         d     R# i ; i)r   T)r   r   r7   r!   r%   r   r   s   &&&r   Ú_common_add_inputÚ BaseQuicStream._common_add_input‰   sp   € Ø�‰×Ñ˜Ô&ð	à—‘ !Ñ#×JÐJ¨¯©×(9Ñ(9¸$¿/¹/Ó(J÷'ð 'à—‘×&Ñ&ð'øô ô 	Úð	ús   �A7 ³,A7 Á A7 Á7BÂBc                óˆ   € V P                   P                  V P                  4       V P                  P	                  R R4       R# )r   TN)r5   Úclose_streamr6   r   r   r   s   &r   Ú_closeÚBaseQuicStream._close’   s.   € Ø×Ñ×%Ñ% d§o¡oÔ6Ø�‰×Ñ˜˜dÖ#r   )r   r5   r7   r8   r6   r9   N©T)r   r   r	   r
   r   r>   rA   rD   rJ   rN   rh   rn   rq   ru   r   r.   r/   s   @r   r2   r2   A   s=   ø‡ € òòòòòòôHò8/ò÷$ð $r   r2   c                   óZ   a € ] tR t^—t o R
R ltR tR tRR ltRR ltRR lt	R t
R	tV tR# )ÚBaseQuicConnectionNc                óp  € R V n         Wn        W n        W0n        R V n        W`n        / V n        VeG   VP                  4       '       d1   \        P                  P                  P                  VR 4      V n        MRV n        \        P                  P                  V4      V n        \        P                  P#                  W#34      V n        VfR   V^ 8w  dK   V P                   \&        P(                  8X  d   RpM(V P                   \&        P*                  8X  d   RpM\,        hV'       d   WE3V n        R# RV n        R# )FNz0.0.0.0z::)Ú_doner5   Ú_addressÚ_portÚ_closedÚ_managerÚ_streamsrS   ÚaioquicÚh3r:   ÚH3ConnectionÚ_h3_connÚdnsÚinetÚaf_for_addressÚ_afÚlow_level_address_tupleÚ_peerÚsocketÚAF_INETÚAF_INET6ÚNotImplementedErrorÚ_source)r   r:   ÚaddressÚportÚsourceÚsource_portÚmanagers   &&&&&&&r   r   ÚBaseQuicConnection.__init__˜   sá   € ð ˆŒ
Ø%ÔØŒØŒ
ØˆŒØŒØˆŒØÒ 7§=¡=§?¢?Ü#ŸJ™J×1Ñ1×>Ñ>¸zÈ5ÓQˆD�Mà ˆDŒMÜ—8‘8×*Ñ*¨7Ó3ˆŒÜ—X‘X×5Ñ5°w°oÓFˆŒ
ØŠ>˜k¨QÔ.Ø�x‰xœ6Ÿ>™>Ô)Ø"‘Ø—‘œVŸ_™_Ô,Ø‘ä)Ð)ßØ"Ð0ˆDŽLàˆDŽLr   c                ó   € V P                   R J# r$   )r„   r   s   &r   rS   ÚBaseQuicConnection.is_h3º   s   € Ø�}‰} DÐ(Ð(r   c                ó    € V P                   V R # r$   )r€   )r   r;   s   &&r   rt   ÚBaseQuicConnection.close_stream½   s   € Ø�M‰M˜)Ò$r   c                ó^   € V P                   f   Q hV P                   P                  WV4       R # r$   )r„   ra   )r   r;   rA   r   s   &&&&r   ra   ÚBaseQuicConnection.send_headersÀ   s&   € Ø�}‰}Ò(Ð(Ð(Ø�‰×"Ñ" 9°vÖ>r   c                ó^   € V P                   f   Q hV P                   P                  WV4       R # r$   )r„   rb   )r   r;   r   r   s   &&&&r   rb   ÚBaseQuicConnection.send_dataÄ   s&   € Ø�}‰}Ò(Ð(Ð(Ø�‰×Ñ 	°Ö8r   c                óð   € \         P                   ! 4       pV P                  P                  4       pVf
   VR,           p\        W2,
          ^ 4      pV P                  '       d   V'       d   \        VR4      pW43# )Ni  gš™™™™™©?)rG   r5   Ú	get_timerrM   r~   Úmin)r   Úclosed_is_specialÚnowrI   Úintervals   &&   r   Ú_get_timer_valuesÚ$BaseQuicConnection._get_timer_valuesÈ   sb   € Ü�iŠi‹kˆØ×%Ñ%×/Ñ/Ó1ˆ
ØÒØ˜t�ˆJÜ�zÕ'¨Ó+ˆØ�<�<ˆ<×-ô ˜8 TÓ*ˆHØÐ%Ð%r   c                óv   € \         P                   ! 4       pW8:  d   V P                  P                  V4       R # R # r$   )rG   r5   Úhandle_timer)r   rI   r¢   s   && r   Ú_handle_timerÚ BaseQuicConnection._handle_timerÕ   s,   € Ü�iŠi‹kˆØÔØ×Ñ×)Ñ)¨#Ö.ñ r   )r|   rˆ   r~   r5   r{   r„   r   rŠ   r}   r�   r€   )Nr   N)Frw   )r   r   r	   r
   r   rS   rt   ra   rb   r¤   r¨   r   r.   r/   s   @r   ry   ry   —   s.   ø‡ € ô  òD)ò%ô?ô9ô&÷/ð /r   ry   c                   ó6   a € ] tR t^Ût o RV 3R lR lltRtV tR# )ÚAsyncQuicConnectionNc                ó4   <€ V ^8„  d   QhRS[ R,          RS[/# )é   rH   NÚreturn)Úfloatr   )Úformatr0   s   "€r   Ú__annotate__Ú AsyncQuicConnection.__annotate__Ü   s   ø€ ÷ ñ ©°­ð Áñ r   c              ƒ  ó   "  € R # 5ir$   r   )r   rH   s   &&r   Úmake_streamÚAsyncQuicConnection.make_streamÜ   s   é € Ùùs   ‚r   r$   )r   r   r	   r
   r´   r   r.   r/   s   @r   r«   r«   Û   s   ø‡ € ÷÷ ð r   r«   c                   óL   a € ] tR t^àt o R	R ltR
R ltR tR tR tR t	Rt
V tR# )ÚBaseQuicManagerNc                óz  € / V n         W0n        / V n        / V n        WPn        Vf�   R p\        V\        4      '       d   TpRpV'       d   R.pMRR.p\        P                  P                  P                  VVVR7      pVe4   \        P                  P                  V4      w  r‰VP                  W‰R7       Wn        R # )NTr‚   Údoqzdoq-i03)Úalpn_protocolsÚverify_modeÚserver_name)ÚcafileÚcapath)Ú_connectionsÚ_connection_factoryÚ_session_ticketsÚ_tokensÚ_h3Ú
isinstancer`   r�   ÚquicÚconfigurationÚQuicConfigurationr…   Ú	_tls_utilÚ#convert_verify_to_cafile_and_capathÚload_verify_locationsÚ_conf)
r   Úconfr»   Úconnection_factoryr¼   r‚   Úverify_pathrº   r½   r¾   s
   &&&&&&    r   r   ÚBaseQuicManager.__init__á   s½   € ð ˆÔØ#5Ô Ø "ˆÔØˆŒØŒØŠ<ØˆKÜ˜+¤s×+Ò+Ø)�Ø"�ßØ"& ‘à"'¨Ð!3�Ü—<‘<×-Ñ-×?Ñ?Ø-Ø'Ø'ð @ó ˆDð
 Ò&Ü!$§¡×!RÑ!RØó"‘�ð ×*Ñ*°&Ð*ÔHØŽ
r   c                ój  € V P                   P                  W34      pVe   VR3# V P                  pV'       d\    V P                  P	                  W34      p	\
        P
                  ! V4      pW˜n        \        P                  ! V P                  W4      p
MR p
V'       d\    V P                  P	                  W34      p\
        P
                  ! V4      pW¸n        \        P                  ! V P                  W4      pMR p\        P                  P                   P#                  VV
VR7      p\$        P&                  P)                  W34      pVP+                  V\,        P,                  ! 4       4       V P/                  WÑW#W@4      pWpP                   W3&   VR3#   \         d     EL.i ; i  \         d     LÚi ; i)NF)rÆ   Úsession_ticket_handlerÚtoken_handlerT)r¿   r)   rË   rÁ   ÚpopÚcopyÚsession_ticketÚKeyErrorÚ	functoolsÚpartialÚsave_session_ticketrÂ   ÚtokenÚ
save_tokenr�   rÅ   r:   ÚQuicConnectionr…   r†   r‰   ÚconnectrG   rÀ   )r   r�   r‘   r’   r“   Úwant_session_ticketÚ
want_tokenr:   rÌ   rÕ   rÑ   rÚ   rÒ   ÚqconnÚ	lladdresss   &&&&&&&        r   Ú_connectÚBaseQuicManager._connectþ   sŒ  € ð ×&Ñ&×*Ñ*¨G¨?Ó;ˆ
ØÒ!Ø Ð&Ð&Ø�z‰zˆßðØ!%×!6Ñ!6×!:Ñ!:¸G¸?Ó!K�ä—y’y “�Ø&4Ô#ô &/×%6Ò%6Ø×(Ñ(¨'ó&Ñ"ð &*Ð"ßðØŸ™×(Ñ(¨'¨Ó9�ä—y’y “�Ø"”
ô
 &×-Ò-¨d¯o©o¸wÓM‰Mà ˆMä—‘×'Ñ'×6Ñ6ØØ#9Ø'ð 7ó 
ˆô
 —H‘H×4Ñ4°g°_ÓEˆ	Ø�‰�i¤§¢£Ô-Ø×-Ñ-Ø˜D¨+ó
ˆ
ð .8×Ñ˜7˜/Ñ*Ø˜DÐ!Ð!øôG ô âðûô  ô áðús#   º8F Â8F$ ÆF!Æ F!Æ$F2Æ1F2c                óH   €  V P                   W3 R #   \         d     R # i ; ir$   )r¿   rÖ   )r   r�   r‘   s   &&&r   ÚclosedÚBaseQuicManager.closed6  s)   € ð	Ø×!Ñ! 7 /Ò2øÜô 	Úð	ús   ‚ ’! !c                ó   € V P                   # r$   )rÃ   r   s   &r   rS   ÚBaseQuicManager.is_h3<  s   € Ø�x‰xˆr   c                óä   € \        V P                  4      pV\        8¼  dA   \        V P                  P	                  4       4      ^ \
         pV F  pV P                  V K  	  W0P                  W3&   R# r4   )r   rÁ   ÚMAX_SESSION_TICKETSÚlistÚkeysÚSESSIONS_TO_DELETE)r   r�   r‘   Úticketrm   Úkeys_to_deleteÚkeys   &&&&   r   rÙ   Ú#BaseQuicManager.save_session_ticket?  sf   € ô �×%Ñ%Ó&ˆØÔ#Ô#Ü! $×"7Ñ"7×"<Ñ"<Ó">Ó?ÀÔBTÐUˆNÛ%�Ø×)Ñ)¨#Ò.ñ &à17×Ñ˜w˜oÓ.r   c                óä   € \        V P                  4      pV\        8¼  dA   \        V P                  P	                  4       4      ^ \
         pV F  pV P                  V K  	  W0P                  W3&   R# r4   )r   rÂ   rê   rë   rì   rí   )r   r�   r‘   rÚ   rm   rï   rð   s   &&&&   r   rÛ   ÚBaseQuicManager.save_tokenJ  s^   € ô �—‘ÓˆØÔ#Ô#Ü! $§,¡,×"3Ñ"3Ó"5Ó6°qÔ9KÐLˆNÛ%�Ø—L‘L Ò%ñ &à(-�‰�g�_Ó%r   )rË   rÀ   r¿   rÃ   rÁ   rÂ   )NF)éU  Nr   TT)r   r   r	   r
   r   râ   rå   rS   rÙ   rÛ   r   r.   r/   s   @r   r·   r·   à   s)   ø‡ € ôô:6"òpòò	8÷	.ð 	.r   r·   c                   ó*   a € ] tR tRt o RR ltRtV tR# )ÚAsyncQuicManageriV  Nc                ó   € \         hr$   )rŽ   )r   r�   r‘   r’   r“   s   &&&&&r   rÝ   ÚAsyncQuicManager.connectW  s   € Ü!Ð!r   r   )rô   Nr   )r   r   r	   r
   rÝ   r   r.   r/   s   @r   rö   rö   V  s   ø‡ € ÷"ò "r   rö   )rZ   rÔ   r×   r‹   rk   rG   Úurllib.parserU   Útypingr   Úaioquic.h3.connectionr�   Úaioquic.quic.configurationÚaioquic.quic.connectionÚdns._tls_utilr…   Údns.inetÚQUIC_MAX_DATAGRAMrê   rí   Ú	Exceptionr   r   r2   ry   r«   r·   rö   r   r   r   Ú<module>r     sž   ðó Û Û Û Û Û Û Ý ã Û !Û ã Û àÐ ØÐ ð )¨AÕ-Ð ô	�Iô 	÷ ñ  ÷FS$ñ S$÷lA/ñ A/ôHÐ,ô ÷
s.ñ s.ôl"�ö "r   