Ë
    ûeœií  ã                   óÞ  — d dl Z d dlZd dlZd dlmZmZ d dlm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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  erddl!m"Z" ddl#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) n
dxZ&xZ'xZ"Z)dZ$ G d„ de«      Z* G d„ de«      Z+ G d„ de«      Z, G d„ de«      Z- G d„ de«      Z.er	ee
e/      Z0neZ0edge1f   Z2 G d„ dee0«      Z3 G d„ de«      Z4 G d„ de«      Z5y) é    N)ÚABCÚabstractmethod)ÚSized)Ú
BaseCookieÚMorsel)ÚTYPE_CHECKINGÚAnyÚ	AwaitableÚCallableÚDictÚ	GeneratorÚIterableÚListÚOptionalÚSequenceÚTupleÚ	TypedDictÚUnion)ÚCIMultiDict)ÚURLé   )Úparse_set_cookie_headers)ÚLooseCookies)ÚApplication)ÚHTTPException)ÚBaseRequestÚRequest)ÚStreamResponsec                   ó\   — e Zd Zdd„Zdeddfd„Zedefd„«       Zdd„Z	e
dedd	fd
„«       Zy)ÚAbstractRouterÚreturnNc                 ó   — d| _         y )NF©Ú_frozen©Úselfs    ú`/var/www/html/Whatsapp_Customer_Support_Chatbot/venv/lib/python3.12/site-packages/aiohttp/abc.pyÚ__init__zAbstractRouter.__init__(   s	   € Øˆ�ó    Úappc                  ó   — y)zºPost init stage.

        Not an abstract method for sake of backward compatibility,
        but if the router wants to be aware of the application
        it can override this.
        N© ©r&   r*   s     r'   Ú	post_initzAbstractRouter.post_init+   ó   � r)   c                 ó   — | j                   S ©Nr#   r%   s    r'   ÚfrozenzAbstractRouter.frozen3   s   € à�|‰|Ðr)   c                 ó   — d| _         y)zFreeze router.TNr#   r%   s    r'   ÚfreezezAbstractRouter.freeze7   s	   € àˆ�r)   ÚrequestÚAbstractMatchInfoc              ƒ   ó   K  — y­w)z#Return MATCH_INFO for given requestNr,   ©r&   r5   s     r'   ÚresolvezAbstractRouter.resolve;   ó   è ø� ùó   ‚©r!   N)Ú__name__Ú
__module__Ú__qualname__r(   r   r.   ÚpropertyÚboolr2   r4   r   r   r9   r,   r)   r'   r    r    '   s]   „ óð˜[ð ¨Tó ð ð˜ò ó ðóð ð2 Wð 2Ð1Dò 2ó ñ2r)   r    c                   ó  — e Zd ZdZeedeegee	   f   fd„«       «       Z
eedeegeee	      f   fd„«       «       Zeedee   fd„«       «       Zedeeef   fd„«       Zeedeedf   fd„«       «       Zed	edd
fd„«       Zedd„«       Zy
)r6   r,   r!   c                  ó   — y)zExecute matched request handlerNr,   r%   s    r'   ÚhandlerzAbstractMatchInfo.handlerD   r/   r)   c                  ó   — y)z*Expect handler for 100-continue processingNr,   r%   s    r'   Úexpect_handlerz AbstractMatchInfo.expect_handlerI   r/   r)   c                  ó   — y)z<HTTPException instance raised on router's resolving, or NoneNr,   r%   s    r'   Úhttp_exceptionz AbstractMatchInfo.http_exceptionP   r/   r)   c                  ó   — y)z;Return a dict with additional info useful for introspectionNr,   r%   s    r'   Úget_infozAbstractMatchInfo.get_infoU   r/   r)   .c                  ó   — y)z\Stack of nested applications.

        Top level application is left-most element.

        Nr,   r%   s    r'   ÚappszAbstractMatchInfo.appsY   r/   r)   r*   Nc                  ó   — y)z)Add application to the nested apps stack.Nr,   r-   s     r'   Úadd_appzAbstractMatchInfo.add_appb   r/   r)   c                  ó   — y)z‡Freeze the match info.

        The method is called after route resolution.

        After the call .add_app() is forbidden.

        Nr,   r%   s    r'   r4   zAbstractMatchInfo.freezef   r/   r)   r<   )r=   r>   r?   Ú	__slots__r@   r   r   r   r
   r   rD   r   rF   r   rH   r   Ústrr	   rJ   r   r   rL   rN   r4   r,   r)   r'   r6   r6   @   s'  „ à€IàØð.˜ 7 )¨Y°~Ñ-FÐ"FÑGò .ó ó ð.ð Øð9à	�7�)˜Y x°Ñ'?Ñ@Ð@Ñ	Aò9ó ó ð9ð
 ØðK ¨Ñ 7ò Kó ó ðKð ðJ˜$˜s C˜x™.ò Jó ðJð Øð�e˜K¨Ð,Ñ-ò ó ó ðð ð8˜;ð 8¨4ò 8ó ð8ð òó ñr)   r6   c                   óX   — e Zd ZdZdeddfd„Zedefd„«       Zede	dde
f   fd„«       Zy)ÚAbstractViewzAbstract class based view.r5   r!   Nc                 ó   — || _         y r1   ©Ú_requestr8   s     r'   r(   zAbstractView.__init__t   s	   € Øˆ�r)   c                 ó   — | j                   S )zRequest instance.rU   r%   s    r'   r5   zAbstractView.requestw   s   € ð �}‰}Ðr)   c                  ó   — y)zExecute the view handler.Nr,   r%   s    r'   Ú	__await__zAbstractView.__await__|   r/   r)   )r=   r>   r?   Ú__doc__r   r(   r@   r5   r   r   r   rY   r,   r)   r'   rS   rS   q   sZ   „ Ù$ð  ð  ¨Dó  ð ð˜ò ó ðð ð(˜9 T¨4°Ð%?Ñ@ò (ó ñ(r)   rS   c                   óN   — e Zd ZU dZeed<   eed<   eed<   eed<   eed<   eed<   y)	ÚResolveResulta•  Resolve result.

    This is the result returned from an AbstractResolver's
    resolve method.

    :param hostname: The hostname that was provided.
    :param host: The IP address that was resolved.
    :param port: The port that was resolved.
    :param family: The address family that was resolved.
    :param proto: The protocol that was resolved.
    :param flags: The flags that were resolved.
    ÚhostnameÚhostÚportÚfamilyÚprotoÚflagsN)r=   r>   r?   rZ   rQ   Ú__annotations__Úintr,   r)   r'   r\   r\   �   s'   … ñð ƒMØ
ƒIØ
ƒIØƒKØƒJØ„Jr)   r\   c                   óx   — e Zd ZdZedej                  fdededej                  de
e   fd„«       Zed
d	„«       Zy)ÚAbstractResolverzAbstract DNS resolver.r   r^   r_   r`   r!   c              ƒ   ó   K  — y­w)z$Return IP address for given hostnameNr,   )r&   r^   r_   r`   s       r'   r9   zAbstractResolver.resolveš   r:   r;   Nc              ƒ   ó   K  — y­w)zRelease resolverNr,   r%   s    r'   ÚclosezAbstractResolver.close    r:   r;   r<   )r=   r>   r?   rZ   r   ÚsocketÚAF_INETrQ   rd   ÚAddressFamilyr   r\   r9   ri   r,   r)   r'   rf   rf   —   s_   „ Ù àà%&ÀvÇ~Á~ñ3Øð3Ø"ð3Ø06×0DÑ0Dð3à	ˆmÑ	ò3ó ð3ð
 òó ñr)   rf   zMorsel[str]c                   óü   — e Zd ZdZddœdeej                     ddfd„Zee	de
fd„«       «       Ze	ddee   ddfd	„«       Ze	d
eddfd„«       Ze	 e«       fdededdfd„«       Zdee   deddfd„Ze	deddfd„«       Zy)ÚAbstractCookieJarzAbstract Cookie Jar.N)Úloopro   r!   c                ó>   — |xs t        j                  «       | _        y r1   )ÚasyncioÚget_running_loopÚ_loop)r&   ro   s     r'   r(   zAbstractCookieJar.__init__±   s   € ØÒ7œW×5Ñ5Ó7ˆ�
r)   c                  ó   — y)z(Return True if cookies should be quoted.Nr,   r%   s    r'   Úquote_cookiezAbstractCookieJar.quote_cookie´   r/   r)   Ú	predicatec                  ó   — y)z,Clear all cookies if no predicate is passed.Nr,   )r&   rv   s     r'   ÚclearzAbstractCookieJar.clear¹   r/   r)   Údomainc                  ó   — y)z0Clear all cookies for domain and all subdomains.Nr,   )r&   ry   s     r'   Úclear_domainzAbstractCookieJar.clear_domain½   r/   r)   ÚcookiesÚresponse_urlc                  ó   — y)zUpdate cookies.Nr,   )r&   r|   r}   s      r'   Úupdate_cookiesz AbstractCookieJar.update_cookiesÁ   r/   r)   Úheadersc                 óJ   — |r!t        |«      x}r| j                  ||«       yyy)z+Update cookies from raw Set-Cookie headers.N)r   r   )r&   r€   r}   Úcookies_to_updates       r'   Úupdate_cookies_from_headersz-AbstractCookieJar.update_cookies_from_headersÅ   s1   € ñ Ô-EÀgÓ-NÐNÐ)ÐNØ×ÑÐ 1°<Õ@ð Oˆ7r)   Úrequest_urlzBaseCookie[str]c                  ó   — y)z6Return the jar's cookies filtered by their attributes.Nr,   )r&   r„   s     r'   Úfilter_cookiesz AbstractCookieJar.filter_cookiesÌ   r/   r)   r1   )r=   r>   r?   rZ   r   rq   ÚAbstractEventLoopr(   r@   r   rA   ru   ÚClearCookiePredicaterx   rQ   r{   r   r   r   r   rƒ   r†   r,   r)   r'   rn   rn   ®   s  „ ÙàFJò 8 ¨×)BÑ)BÑ Cð 8Ètó 8ð Øð7˜dò 7ó ó ð7ð ñ;˜xÐ(<Ñ=ð ;Èò ;ó ð;ð ð? 3ð ?¨4ò ?ó ð?ð ÙHKËñ  lð À#ð ÐRVò ó ððAØ ‘}ðAØ47ðAà	óAð ðE¨#ð EÐ2Cò Eó ñEr)   rn   c                   óö   — e Zd ZU dZdZeed<   dZeed<   dZe	e   ed<   e
deeeef   ddfd	„«       Ze
ddeddfd
„«       Ze
dd„«       Ze
	 ddede	e   ddfd„«       Ze
dd„«       Ze
deddddfd„«       Zdd„Zy)ÚAbstractStreamWriterzAbstract stream writer.r   Úbuffer_sizeÚoutput_sizeÚlengthÚchunkr!   Nc              ƒ   ó   K  — y­w)zWrite chunk into stream.Nr,   ©r&   rŽ   s     r'   ÚwritezAbstractStreamWriter.writeØ   r:   r;   c              ƒ   ó   K  — y­w)zWrite last chunk.Nr,   r�   s     r'   Ú	write_eofzAbstractStreamWriter.write_eofÜ   r:   r;   c              ƒ   ó   K  — y­w)zFlush the write buffer.Nr,   r%   s    r'   ÚdrainzAbstractStreamWriter.drainà   r:   r;   ÚencodingÚstrategyc                  ó   — y)zEnable HTTP body compressionNr,   )r&   r–   r—   s      r'   Úenable_compressionz'AbstractStreamWriter.enable_compressionä   r/   r)   c                  ó   — y)zEnable HTTP chunked modeNr,   r%   s    r'   Úenable_chunkingz$AbstractStreamWriter.enable_chunkingê   r/   r)   Ústatus_liner€   zCIMultiDict[str]c              ƒ   ó   K  — y­w)zWrite HTTP headersNr,   )r&   rœ   r€   s      r'   Úwrite_headersz"AbstractStreamWriter.write_headersî   r:   r;   c                  ó   — y)zàForce sending buffered headers if not already sent.

        Required only if write_headers() buffers headers instead of sending immediately.
        For backwards compatibility, this method does nothing by default.
        Nr,   r%   s    r'   Úsend_headersz!AbstractStreamWriter.send_headersô   r/   r)   )r)   r<   )ÚdeflateN)r=   r>   r?   rZ   r‹   rd   rc   rŒ   r�   r   r   r   ÚbytesÚ	bytearrayÚ
memoryviewr‘   r“   r•   rQ   r™   r›   rž   r    r,   r)   r'   rŠ   rŠ   Ñ   s  … Ù!à€K�ÓØ€K�ÓØ€FˆH�S‰MÓàð'  u¨i¸Ð'CÑ!Dð 'Èò 'ó ð'ð ñ  Uð  °Tò  ó ð ð ò&ó ð&ð àCGñ+Øð+Ø3;¸C±=ð+à	ò+ó ð+ð
 ò'ó ð'ð ð!Øð!Ø);ð!à	ò!ó ð!ô
r)   rŠ   c            	       ót   — e Zd ZdZdZdej                  deddfd„Ze	de
d	ed
eddfd„«       Zedefd„«       Zy)ÚAbstractAccessLoggerzAbstract writer to access log.©ÚloggerÚ
log_formatr¨   r©   r!   Nc                 ó    — || _         || _        y r1   r§   )r&   r¨   r©   s      r'   r(   zAbstractAccessLogger.__init__  s   € ØˆŒØ$ˆ�r)   r5   ÚresponseÚtimec                  ó   — y)zEmit log to logger.Nr,   )r&   r5   r«   r¬   s       r'   ÚlogzAbstractAccessLogger.log  r/   r)   c                  ó   — y)zCheck if logger is enabled.Tr,   r%   s    r'   ÚenabledzAbstractAccessLogger.enabled	  s   € ð r)   )r=   r>   r?   rZ   rP   ÚloggingÚLoggerrQ   r(   r   r   r   Úfloatr®   r@   rA   r°   r,   r)   r'   r¦   r¦   ü   st   „ Ù(à(€Ið%˜wŸ~™~ð %¸3ð %À4ó %ð ð"˜;ð "°.ð "Èð "ÐRVò "ó ð"ð ð˜ò ó ñr)   r¦   )6rq   r±   rj   Úabcr   r   Úcollections.abcr   Úhttp.cookiesr   r   Útypingr   r	   r
   r   r   r   r   r   r   r   r   r   r   Ú	multidictr   Úyarlr   Ú_cookie_helpersr   Útypedefsr   Úweb_appr   Úweb_exceptionsr   Úweb_requestr   r   Úweb_responser   r    r6   rS   r\   rf   rQ   ÚIterableBaserA   rˆ   rn   rŠ   r¦   r,   r)   r'   ú<module>rÁ      sô   ðÛ Û Û ß #Ý !ß +÷÷ ÷ õ õ  "Ý å 5Ý "áÝ$Ý-ß1Þ,à;?Ð?€KÐ?�'Ð?˜K¨.Ø€Mô2�Sô 2ô2.˜ô .ôb(�3ô (ô �Iô ô,�sô ñ Ø˜F 3™KÑ(�Là€Lð    °Ð 5Ñ6Ð ô E˜˜|ô  EôF(˜3ô (ôV˜3õ r)   