ó
    Ö›‘h¹  ã                   ó   • S r SSKrSSKJrJr  SSKJr  SSKJr  SSK	r	SSK
Jr  SSKJr  SSKJrJr  SS	KJr  \" \5      \	R&                  " S
S
S9 " S S5      5       5       r\" \5      \	R&                  " S
S
S9 " S S5      5       5       r\" \5       " S S5      5       r\	R&                  " S
S
S9\" \5       " S S5      5       5       r\	R&                  " SSSS
S9\" \5       " S S5      5       5       r " S S\5      rg)z*
Address objects for network connections.
é    N)ÚOptionalÚUnion)Úwarn)Úimplementer)ÚLiteral)ÚIAddress)Ú_asFilesystemBytesÚ_coerceToFilesystemEncoding)ÚplatformT)Úunsafe_hashÚauto_attribsc                   ó¤   • \ rS rSr% Sr\R                  " \R                  R                  SS/5      S9r	\
\S   \S   4   \S'   \\S'   \\S'   S	rg
)ÚIPv4Addressé   aP  
An L{IPv4Address} represents the address of an IPv4 socket endpoint.

@ivar type: A string describing the type of transport, either 'TCP' or
    'UDP'.

@ivar host: A string containing a dotted-quad IPv4 address; for example,
    "127.0.0.1".
@type host: C{str}

@ivar port: An integer representing the port number.
@type port: C{int}
ÚTCPÚUDP©Ú	validatorÚtypeÚhostÚport© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚattrÚibÚ
validatorsÚin_r   r   r   Ú__annotations__ÚstrÚintÚ__static_attributes__r   ó    Ú\C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/internet/address.pyr   r      sR   ‡ ñð 37·'²'Ø—/‘/×%Ñ% u¨e nÓ5ñ3€Dˆ%�˜‘ ¨¡Ð.Ñ
/ó ð ƒIØ
†Ir&   r   c                   óÊ   • \ rS rSr% Sr\R                  " \R                  R                  SS/5      S9r	\
\S   \S   4   \S'   \\S'   \\S'   S	r\\S
'   S	r\
\\4   \S'   Srg)ÚIPv6Addressé/   a¹  
An L{IPv6Address} represents the address of an IPv6 socket endpoint.

@ivar type: A string describing the type of transport, either 'TCP' or
    'UDP'.

@ivar host: A string containing a colon-separated, hexadecimal formatted
    IPv6 address; for example, "::1".
@type host: C{str}

@ivar port: An integer representing the port number.
@type port: C{int}

@ivar flowInfo: the IPv6 flow label.  This can be used by QoS routers to
    identify flows of traffic; you may generally safely ignore it.
@type flowInfo: L{int}

@ivar scopeID: the IPv6 scope identifier - roughly analagous to what
    interface traffic destined for this address must be transmitted over.
@type scopeID: L{int} or L{str}
r   r   r   r   r   r   r   ÚflowInfoÚscopeIDr   N)r   r   r   r   r   r   r   r    r!   r   r   r   r"   r#   r$   r+   r,   r%   r   r&   r'   r)   r)   /   sn   ‡ ñð, 37·'²'Ø—/‘/×%Ñ% u¨e nÓ5ñ3€Dˆ%�˜‘ ¨¡Ð.Ñ
/ó ð ƒIØ
ƒIØ€HˆcÓØ €GˆU�3˜�8‰_Ö r&   r)   c                   ó   • \ rS rSrSrSrg)Ú_ProcessAddresséQ   z<
An L{interfaces.IAddress} provider for process transports.
r   N)r   r   r   r   r   r%   r   r&   r'   r.   r.   Q   s   † ôr&   r.   c                   ó.   • \ rS rSr% Sr\\S'   \\S'   Srg)ÚHostnameAddresséX   zï
A L{HostnameAddress} represents the address of a L{HostnameEndpoint}.

@ivar hostname: A hostname byte string; for example, b"example.com".
@type hostname: L{bytes}

@ivar port: An integer representing the port number.
@type port: L{int}
Úhostnamer   r   N)	r   r   r   r   r   Úbytesr"   r$   r%   r   r&   r'   r1   r1   X   s   ‡ ñð ƒOØ
†Ir&   r1   F)r   ÚreprÚeqr   c                   óà   • \ rS rSr% Sr\R                  " \R                  R                  \	5      S9r
\\   \S'   \" \R                   SS5      b
  S\S\4S	 jrO	S\S\4S
 jrS\4S jrS rSrg)ÚUNIXAddresséi   zy
Object representing a UNIX socket endpoint.

@ivar name: The filename associated with this socket.
@type name: C{bytes}
)Ú	converterÚnameÚsamefileNÚotherÚreturnc                 óÀ  • [        XR                  5      (       d  [        $ U R                  UR                  :H  nU(       dW  U R                  (       aF  UR                  (       a5   [        R
                  R                  U R                  UR                  5      $ U$ ! [         a     U$ [        [        4 a'  n[        R                  " 5       (       d  Ue SnAU$ SnAff = f)zh
Overriding C{attrs} to ensure the os level samefile
check is done if the name attributes do not match.
N)Ú
isinstanceÚ	__class__ÚNotImplementedr;   ÚosÚpathr<   ÚOSErrorÚ	TypeErrorÚ
ValueErrorr   ÚisLinux)Úselfr=   ÚresÚes       r'   Ú__eq__ÚUNIXAddress.__eq__y   s°   € ô
 ˜e§^¡^×4Ñ4Ü%Ð%Ø—)‘)˜uŸz™zÑ)ˆCÞ˜4Ÿ9Ÿ9¨¯¯ð ÜŸ7™7×+Ñ+¨D¯I©I°u·z±zÓBÐBð ˆJøô ó Øð ˆJô "¤:Ð.ó  ô $×+Ò+×-Ñ-Ø˜ó .àˆJûð ús   Á$3B Â
CÂ'CÂ6CÃCc                 ót   • [        XR                  5      (       a  U R                  UR                  :H  $ [        $ ©N)r@   rA   r;   rB   )rI   r=   s     r'   rL   rM   �   s*   € Ü˜%§¡×0Ñ0Ø—y‘y E§J¡JÑ.Ð.Ü!Ð!r&   c                 óJ   • U R                   nUb  [        SU5      OS nSU< S3$ )NÚ zUNIXAddress(Ú))r;   r
   )rI   r;   Úshows      r'   Ú__repr__ÚUNIXAddress.__repr__”   s.   € Ø�y‰yˆØ8<Ñ8HÔ*¨2¨tÔ4ÈdˆØ˜d™X QÐ'Ð'r&   c                 ó  • U R                   c  [        U R                  S 45      $  [        R                  " U R                   5      n[        UR
                  UR                  45      $ ! [         a    [        U R                   5      s $ f = frO   )r;   ÚhashrA   rC   ÚstatÚst_inoÚst_devrE   )rI   Ús1s     r'   Ú__hash__ÚUNIXAddress.__hash__™   sl   € Ø�9‰9ÑÜ˜Ÿ™¨Ð.Ó/Ð/ð	#Ü—’˜Ÿ™Ó#ˆBÜ˜Ÿ™ B§I¡IÐ.Ó/Ð/øÜó 	#Ü˜Ÿ	™	“?Ò"ð	#ús   ¦A A' Á'B	ÂB	r   )r   r   r   r   r   r   r   Ú
convertersÚoptionalr	   r;   r   r4   r"   ÚgetattrrC   rD   ÚobjectÚboolrL   r#   rT   r\   r%   r   r&   r'   r8   r8   i   s�   ‡ ñð !ŸGšGØ—/‘/×*Ñ*Ð+=Ó>ñ€Dˆ(�5‰/ó ñ ˆr�w‰w˜
 DÓ)Ñ5ð	 ð 	¨4õ 	ð,	" ð 	"¨4ô 	"ð
(˜#ô (õ
#r&   r8   c                   ó*   • \ rS rSrSrS\S\4S jrSrg)Ú_ServerFactoryIPv4Addressé§   z@Backwards compatibility hack. Just like IPv4Address in practice.r=   r>   c                 óJ  • [        U[        5      (       a*  [        S[        SS9  U R                  U R
                  4U:H  $ [        U[        5      (       aJ  U R                  U R                  U R
                  4nUR                  UR                  UR
                  4nX#:H  $ [        $ )Nz?IPv4Address.__getitem__ is deprecated.  Use attributes instead.é   )ÚcategoryÚ
stacklevel)	r@   Útupler   ÚDeprecationWarningr   r   r   r   rB   )rI   r=   ÚaÚbs       r'   rL   Ú _ServerFactoryIPv4Address.__eq__ª   s„   € Ü�eœU×#Ñ#ÜØTÜ+Øòð
 —I‘I˜tŸy™yÐ)¨UÑ2Ð2Ü˜œ{×+Ñ+Ø—‘˜DŸI™I t§y¡yÐ1ˆAØ—‘˜UŸZ™Z¨¯©Ð4ˆAØ‘6ˆMÜÐr&   r   N)	r   r   r   r   r   ra   rb   rL   r%   r   r&   r'   rd   rd   §   s   † ÙJð˜Fð  t÷ r&   rd   )r   rC   Útypingr   r   Úwarningsr   Úzope.interfacer   r   Útyping_extensionsr   Útwisted.internet.interfacesr   Útwisted.python.filepathr	   r
   Útwisted.python.runtimer   Úsr   r)   r.   r1   r8   rd   r   r&   r'   Ú<module>rw      s  ðñó
 
ß "Ý å &ã Ý %å 0ß SÝ +ñ ˆXÓØ‡‚�D tÑ,÷ð ó -ó ðñ, ˆXÓØ‡‚�D tÑ,÷!ð !ó -ó ð!ñ@ ˆXÓ÷ð ó ðð ‡‚�D tÑ,ÙˆXÓ÷ð ó ó -ðð ‡‚�E ¨%¸dÑCÙˆXÓ÷5#ð 5#ó ó Dð5#ôx õ r&   