§
    Ètºfù  ã                   ó¦   — d dl mZ d dlmZmZ d dlmZ d dlmZ  eej	        ¦  «         G d„ d¦  «        ¦   «         Z
 G d„ dej        ¦  «        Zd	S )
é    )Úimplementer)ÚethernetÚraw)Ú
components)Úunittestc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )Ú
MyProtocolc                 ó.   — t          |¦  «        | _        d S )N)ÚlistÚ	expecting)Úselfr   s     ú^/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/pair/test/test_ethernet.pyÚ__init__zMyProtocol.__init__   s   € Ý˜i™œˆŒˆˆó    c                 ó   — dS )z!
        Not implemented
        N© )r   ÚnumÚprotos      r   ÚaddProtozMyProtocol.addProto   s   € € € r   c                 óÖ   — | j         s
J d¦   «         ‚| j                              d¦  «        }t          ¦   «         }||||dœ}|||fk    s J d                     |||f¦  «        ¦   «         ‚d S )Nz(Got a packet when not expecting anymore.r   ©ÚpartialÚdestÚsourceÚprotocolzExpected {!r}, got {!r})r   ÚpopÚlocalsÚformat)	r   Údatar   r   r   r   ÚexpectÚlocalVariablesÚparamss	            r   ÚdatagramReceivedzMyProtocol.datagramReceived   sŽ   € ØŒ~ÐIÐIÐIÑIÔIÐIØ”×#Ò# AÑ&Ô&ˆÝ™œˆàØØØ ð	
ð 
ˆð ˜$ ˜Ò'Ð'Ð'Ð)B×)IÒ)IØ�T˜6�Nñ*
ô *
Ñ'Ô'Ð'Ð'Ð'r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r#   r   r   r   r	   r	   
   sA   € € € € € ð)ð )ð )ðð ð ð

ð 
ð 
ð 
ð 
r   r	   c                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚEthernetTestsc                 óæ   — t          j        ¦   «         }t          ddddddœfg¦  «        }|                     d|¦  «         |                     dd¬¦  «         |j        rJ d	|j        z  ¦   «         ‚d S )
Nó   foobarr   ó   123456ó   987654é   r   ó   123456987654 foobar©r   ú5Should not expect any more packets, but still want %r©r   ÚEthernetProtocolr	   r   r#   r   ©r   r   Úp1s      r   ÚtestPacketParsingzEthernetTests.testPacketParsing$   s¦   € ÝÔ)Ñ+Ô+ˆÝð à#$Ø )Ø"+Ø$*ð	ð ðð
ñ
ô 
ˆð 	�Š�v˜rÑ"Ô"Ð"à×ÒÐ<ÀaÐÑHÔHÐHà”<ð 	
ð 	
ØCÀbÄlÑRñ	
ô 	
ð 	
ð 	
ð 	
r   c           	      ó$  — t          j        ¦   «         }t          ddddddœfddd	d
ddœfg¦  «        }|                     d|¦  «         |                     dd¬¦  «         |                     dd¬¦  «         |j        rJ d|j        z  ¦   «         ‚d S )Nr*   r   r+   r,   r-   r   ó   quuxé   ó   012345ó   abcdefr.   r/   ó   012345abcdef quuxr0   r1   r3   s      r   ÚtestMultiplePacketsz!EthernetTests.testMultiplePackets;   sà   € ÝÔ)Ñ+Ô+ˆÝð à#$Ø )Ø"+Ø$*ð	ð ðð à#$Ø )Ø"+Ø$*ð	ð ððñ
ô 
ˆð, 	�Š�v˜rÑ"Ô"Ð"à×ÒÐ<ÀaÐÑHÔHÐHØ×ÒÐ:ÀAÐÑFÔFÐFà”<ð 	
ð 	
ØCÀbÄlÑRñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó²  — t          j        ¦   «         }t          ddddddœfg¦  «        }t          ddddddœfg¦  «        }|                     d|¦  «         |                     d|¦  «         |                     dd¬¦  «         |j        r"J d	                     |j        ¦  «        ¦   «         ‚|j        r"J d	                     |j        ¦  «        ¦   «         ‚d S )
Nr*   r   r+   r,   r-   r   r.   r/   z7Should not expect any more packets, but still want {!r})r   r2   r	   r   r#   r   r   ©r   r   r4   Úp2s       r   ÚtestMultipleSameProtosz$EthernetTests.testMultipleSameProtos\   s8  € ÝÔ)Ñ+Ô+ˆÝð à#$Ø )Ø"+Ø$*ð	ð ðð
ñ
ô 
ˆõ ð à#$Ø )Ø"+Ø$*ð	ð ðð
ñ
ô 
ˆð 	�Š�v˜rÑ"Ô"Ð"Ø�Š�v˜rÑ"Ô"Ð"à×ÒÐ<ÀaÐÑHÔHÐHð ”ð	
ð 	
àG×NÒNØŒLñ
ô 
ñ	
ô 	
ð 	
ð ”ð	
ð 	
àG×NÒNØŒLñ
ô 
ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óÒ   — t          j        ¦   «         }t          g ¦  «        }|                     d|¦  «         |                     dd¬¦  «         |                     dd¬¦  «         d S )Ni  r.   r   r/   r;   r8   )r   r2   r	   r   r#   r3   s      r   ÚtestWrongProtoNotSeenz#EthernetTests.testWrongProtoNotSeenŠ   si   € ÝÔ)Ñ+Ô+ˆÝ˜‰^Œ^ˆØ�Š�v˜rÑ"Ô"Ð"à×ÒÐ<ÀaÐÑHÔHÐHØ×ÒÐ:ÀAÐÑFÔFÐFÐFÐFr   c           	      ó  — t          j        ¦   «         }t          ddddddœfddd	d
ddœfg¦  «        }|                     d|¦  «         t          ddd	d
ddœfddddddœfg¦  «        }|                     d|¦  «         |                     dd¬¦  «         |                     dd¬¦  «         |                     dd¬¦  «         |                     dd¬¦  «         |j        rJ d|j        z  ¦   «         ‚|j        rJ d|j        z  ¦   «         ‚d S )Nr*   r   r+   r,   r-   r   r7   r8   r9   r:   i  r.   r/   s   012345abcdefquuxs   123456987654foobarr;   r0   r1   r>   s       r   ÚtestDemuxingzEthernetTests.testDemuxing’   s¨  € ÝÔ)Ñ+Ô+ˆÝð à#$Ø )Ø"+Ø$*ð	ð ðð à#$Ø )Ø"+Ø$*ð	ð ððñ
ô 
ˆð, 	�Š�v˜rÑ"Ô"Ð"åð à#$Ø )Ø"+Ø$*ð	ð ðð à#$Ø )Ø"+Ø$*ð	ð ððñ
ô 
ˆð, 	�Š�v˜rÑ"Ô"Ð"à×ÒÐ<ÀaÐÑHÔHÐHØ×ÒÐ:ÀAÐÑFÔFÐFØ×ÒÐ<ÀaÐÑHÔHÐHØ×ÒÐ:ÀAÐÑFÔFÐFà”<ð 	
ð 	
ØCÀbÄlÑRñ	
ô 	
ð 	
ð ”<ð 	
ð 	
ØCÀbÄlÑRñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó    — t          j        ¦   «         }	 |                     dd¦  «         t          d¦  «        ‚# t          j        $ r Y dS w xY w)z2Adding a wrong level protocol raises an exception.é*   Ú	sillinessú2addProto must raise an exception for bad protocolsN)r   r2   r   ÚAssertionErrorr   ÚCannotAdapt©r   Úes     r   ÚtestAddingBadProtos_WrongLevelz,EthernetTests.testAddingBadProtos_WrongLevelÐ   sb   € åÔ%Ñ'Ô'ˆð	WØ�JŠJ�r˜;Ñ'Ô'Ð'õ !Ð!UÑVÔVÐVøõ Ô%ð 	ð 	ð 	ØˆDˆDð	øøøs   •: ºAÁAc                 óØ   — t          j        ¦   «         }	 |                     dt          g ¦  «        ¦  «         t	          d¦  «        ‚# t
          $ r}|j        dk    rn‚ Y d}~dS d}~ww xY w)z=Adding a protocol with a negative number raises an exception.éÿÿÿÿrH   )z'Added protocol must be positive or zeroN©r   r2   r   r	   rI   Ú	TypeErrorÚargsrK   s     r   ÚtestAddingBadProtos_TooSmallz*EthernetTests.testAddingBadProtos_TooSmallÚ   s…   € åÔ%Ñ'Ô'ˆð	WØ�JŠJ�r�: b™>œ>Ñ*Ô*Ð*õ !Ð!UÑVÔVÐVøõ ð 	ð 	ð 	ØŒvÐEÒEÐEØàð �����øøøøð	øøøó   •#A Á
A)ÁA$Á$A)c                 óØ   — t          j        ¦   «         }	 |                     dt          g ¦  «        ¦  «         t	          d¦  «        ‚# t
          $ r}|j        dk    rn‚ Y d}~dS d}~ww xY w)ú<Adding a protocol with a number >=2**16 raises an exception.i   rH   ©z"Added protocol must fit in 16 bitsNrP   rK   s     r   ÚtestAddingBadProtos_TooBigz(EthernetTests.testAddingBadProtos_TooBigç   s…   € åÔ%Ñ'Ô'ˆð	WØ�JŠJ�u�j¨™nœnÑ-Ô-Ð-õ !Ð!UÑVÔVÐVøõ ð 	ð 	ð 	ØŒvÐ@Ò@Ð@Øàð �����øøøøð	øøørT   c                 óØ   — t          j        ¦   «         }	 |                     dt          g ¦  «        ¦  «         t	          d¦  «        ‚# t
          $ r}|j        dk    rn‚ Y d}~dS d}~ww xY w)rV   i  rH   rW   NrP   rK   s     r   ÚtestAddingBadProtos_TooBig2z)EthernetTests.testAddingBadProtos_TooBig2ô   s…   € åÔ%Ñ'Ô'ˆð	WØ�JŠJ�y¥*¨R¡.¤.Ñ1Ô1Ð1õ !Ð!UÑVÔVÐVøõ ð 	ð 	ð 	ØŒvÐ@Ò@Ð@Øàð �����øøøøð	øøørT   N)r$   r%   r&   r5   r<   r@   rB   rD   rM   rS   rX   rZ   r   r   r   r(   r(   #   s¯   € € € € € ð
ð 
ð 
ð.
ð 
ð 
ðB,
ð ,
ð ,
ð\Gð Gð Gð<
ð <
ð <
ð|Wð Wð WðWð Wð WðWð Wð WðWð Wð Wð Wð Wr   r(   N)Úzope.interfacer   Útwisted.pairr   r   Útwisted.pythonr   Útwisted.trialr   ÚIRawPacketProtocolr	   ÚTestCaser(   r   r   r   ú<module>ra      sâ   ðð 'Ð &Ð &Ð &Ð &Ð &à &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø %Ð %Ð %Ð %Ð %Ð %Ø "Ð "Ð "Ð "Ð "Ð "ð €ˆSÔ#Ñ$Ô$ð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ %Ô$ð
ð0\Wð \Wð \Wð \Wð \W�HÔ%ñ \Wô \Wð \Wð \Wð \Wr   