+
    üÐjt  ã                   óÎ  € ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt Rt]! ]! R	^^^ 4      R
]R4        ! R R]4      t ! R R]4      t]	! ]4       ! R R4      4       t]	! ]4       ! R R4      4       t]	! ]4       ! R R4      4       t]	! ]4       ! R R4      4       t ! R R4      t ! R R4      t]! ] P0                  4      t]! ] P4                  4      t]! ] P8                  4      t]! ] P<                  4      t]! ] P@                  4      t!]! ] PD                  4      t#]! ] PH                  4      t%]! ] PL                  4      t']! ] PP                  4      t)]! ] PT                  4      t+]! ] PX                  4      t-]! ] P\                  4      t/]! ] P`                  4      t1]! ]/]1.]]]]]!]#]%]'])]+]-]! . RO4      .R7      t2]! ]/.]]]]!]#]%]'])]+]-.
R7      t3]! 4       t4R# )é    N)Úidna)Úchain)Ú	ucd_3_2_0)Ú	InterfaceÚimplementer)ÚVersion)ÚdeprecatedModuleAttributeFÚTwistedzcrippled is always FalseÚcrippledc                   ó*   a € ] tR t^t o RtR tRtV tR# )ÚILookupTablez)
Interface for character lookup classes.
c                ó   € R# )z,
Return whether character is in this table.
N© ©Úcs   &ÚP/usr/lib/python3/dist-packages/twisted/words/protocols/jabber/xmpp_stringprep.pyÚlookupÚILookupTable.lookup   ó   ‚ ó    r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      ó   ø‡ € ñ÷ð r   r   c                   ó*   a € ] tR t^$t o RtR tRtV tR# )ÚIMappingTablez*
Interface for character mapping classes.
c                ó   € R# )z
Return mapping for character.
Nr   r   s   &r   ÚmapÚIMappingTable.map)   r   r   r   N)r   r   r   r   r   r$   r   r   r   s   @r   r"   r"   $   r    r   r"   c                   ó&   a € ] tR t^/t o R tRtV tR# )ÚLookupTableFromFunctionc                ó   € Wn         R # ©N©r   ©ÚselfÚin_table_functions   &&r   Ú__init__Ú LookupTableFromFunction.__init__1   s   € Ø'Žr   r*   N©r   r   r   r   r.   r   r   r   s   @r   r'   r'   /   s   ø‡ € ÷(ð (r   r'   c                   ó,   a € ] tR t^5t o R tR tRtV tR# )ÚLookupTablec                ó   € Wn         R # r)   ©Ú_table)r,   Útables   &&r   r.   ÚLookupTable.__init__7   s   € ØŽr   c                ó   € WP                   9   # r)   r4   ©r,   r   s   &&r   r   ÚLookupTable.lookup:   s   € Ø—K‘KÑÐr   r4   N)r   r   r   r   r.   r   r   r   r   s   @r   r2   r2   5   s   ø‡ € ò÷ ð  r   r2   c                   ó&   a € ] tR t^>t o R tRtV tR# )ÚMappingTableFromFunctionc                ó   € Wn         R # r)   ©r$   )r,   Úmap_table_functions   &&r   r.   Ú!MappingTableFromFunction.__init__@   s   € Ø%Žr   r>   Nr0   r   s   @r   r<   r<   >   s   ø‡ € ÷&ð &r   r<   c                   ó,   a € ] tR t^Dt o R tR tRtV tR# )ÚEmptyMappingTablec                ó   € Wn         R # r)   ©Ú_in_table_functionr+   s   &&r   r.   ÚEmptyMappingTable.__init__F   s   € Ø"3Ör   c                ó8   € V P                  V4      '       d   R # V# r)   rD   r9   s   &&r   r$   ÚEmptyMappingTable.mapI   s   € Ø×"Ñ" 1×%Ò%ÙàˆHr   rD   N)r   r   r   r   r.   r$   r   r   r   s   @r   rB   rB   D   s   ø‡ € ò4÷ð r   rB   c                   óR   a € ] tR t^Pt o . R. RR3R ltR tR tR tR tR t	Rt
V tR	# )
ÚProfileTc                óB   € Wn         W n        W0n        W@n        WPn        R # r)   )ÚmappingsÚ	normalizeÚprohibitedsÚdo_check_unassignedsÚdo_check_bidi)r,   rL   rM   rN   Úcheck_unassignedsÚ
check_bidis   &&&&&&r   r.   ÚProfile.__init__Q   s    € ð !ŒØ"ŒØ&ÔØ$5Ô!Ø'Ör   c                ó(  € V P                  V4      pV P                  '       d   \        P                  ! R V4      pV P                  V4       V P                  '       d   V P                  V4       V P                  '       d   V P                  V4       V# )ÚNFKC)r$   rM   ÚunicodedataÚcheck_prohibitedsrO   rQ   rP   Úcheck_bidirectionals)r,   ÚstringÚresults   && r   ÚprepareÚProfile.prepare_   sr   € Ø—‘˜&Ó!ˆØ�>�>ˆ>Ü ×*Ò*¨6°6Ó:ˆFØ×Ñ˜vÔ&Ø×$×$Ð$Ø×"Ñ" 6Ô*Ø××ÐØ×%Ñ% fÔ-Øˆr   c                óÄ   € . pV FH  pTpV P                    F  pVP                  V4      pWC8w  g   K   M	  Vf   K7  VP                  V4       KJ  	  RP                  V4      # )NÚ )rL   r$   ÚappendÚjoin)r,   rY   rZ   r   Úresult_cÚmappings   &&    r   r$   ÚProfile.mapj   s]   € ØˆãˆAØˆHàŸ=œ=�Ø"Ÿ;™; q›>�Ø–=Ùñ )ð
 Ô#Ø—‘˜hÖ'ñ ð �w‰w�v‹Ðr   c                ó¢   € V FH  pV P                    F5  pVP                  V4      '       g   K  \        R \        V4      ,          4      h	  KJ  	  R# ©zInvalid character %sN)rN   r   ÚUnicodeErrorÚrepr)r,   rY   r   r6   s   &&  r   rW   ÚProfile.check_prohibitedsz   s>   € ÛˆAØ×)Ô)�Ø—<‘< —?”?Ü&Ð'=ÄÀQÃÕ'GÓHÐHó *ó r   c                ó†   € V F:  p\         P                  ! V4      '       g   K!  \        R \        V4      ,          4      h	  R# )zUnassigned code point %sN)Ú
stringprepÚin_table_a1rf   rg   ©r,   rY   r   s   && r   rQ   ÚProfile.check_unassigneds€   s2   € ÛˆAÜ×%Ò% a×(Ô(Ü"Ð#=ÄÀQÃÕ#GÓHÐHó r   c                óˆ  € R pR pV FA  p\         P                  ! V4      '       d   Rp\         P                  ! V4      '       g   K?  RpKC  	  V'       d   V'       d   \        R4      hV'       dT   \         P                  ! V^ ,          4      '       d$   \         P                  ! VR,          4      '       g   \        R4      hR# R# )FTzViolation of BIDI Requirement 2zViolation of BIDI Requirement 3Néÿÿÿÿ)rj   Úin_table_d1Úin_table_d2rf   )r,   rY   Ú
found_LCatÚfound_RandALCatr   s   &&   r   rX   ÚProfile.check_bidirectionals…   s™   € Øˆ
ØˆãˆAÜ×%Ò% a×(Ò(Ø"&�Ü×%Ò% a×(Ô(Ø!’
ñ	 ÷ Ÿ/ÜÐ@ÓAÐAçÜ×"Ò" 6¨!¥9×-Ò-´*×2HÒ2HÈÐPRÍ×2TÒ2TäÐ@ÓAÐAñ 3Uñ r   )rP   rO   rL   rM   rN   N)r   r   r   r   r.   r[   r$   rW   rQ   rX   r   r   r   s   @r   rJ   rJ   P   s=   ø‡ € ð ØØØØô(ò	òò IòI÷
Bð Br   rJ   c            
       óÐ   a€ ] tR t^˜t oRt]! ]! ^ ^-4      ]! ^.^04      ]! ^:^A4      ]! ^[^a4      ]! ^{^€4      4       U u. uF  p \        V 4      NK  	  up tR t	R t
R tRtVtR# u up i )ÚNamePrepaz  Implements preparation of internationalized domain names.

This class implements preparing internationalized domain names using the
rules defined in RFC 3491, section 4 (Conversion operations).

We do not perform step 4 since we deal with unicode representations of
domain names and do not convert from or to ASCII representations using
punycode encoding. When such a conversion is needed, the C{idna} standard
library provides the C{ToUnicode()} and C{ToASCII()} functions. Note that
C{idna} itself assumes UseSTD3ASCIIRules to be false.

The following steps are performed by C{prepare()}:

  - Split the domain name in labels at the dots (RFC 3490, 3.1)
  - Apply nameprep proper on each label (RFC 3491)
  - Enforce the restrictions on ASCII characters in host names by
    assuming STD3ASCIIRules to be true. (STD 3)
  - Rejoin the labels using the label separator U+002E (full stop).

c                ó  € . p\         P                  P                  V4      pV'       d   \        VR,          4      ^ 8X  d   RpVR MRpV F#  pVP	                  V P                  V4      4       K%  	  RP                  V4      V,           # )é   Ú.r^   ro   )r   ÚdotsÚsplitÚlenr_   Únameprepr`   )r,   rY   rZ   ÚlabelsÚtrailing_dotÚlabels   &&    r   r[   ÚNamePrep.prepareº   sq   € Øˆä—‘—‘ Ó(ˆç”c˜& �*“o¨Ô*ØˆLØ�r‘
àˆLãˆEØ�M‰M˜$Ÿ-™-¨Ó.Ö/ñ ð �x‰x˜Ó ,Õ.Ð.r   c                ón   € V F.  pW P                   9   g   K  \        R \        V4      ,          4      h	  R# re   )rN   rf   rg   rl   s   && r   rW   ÚNamePrep.check_prohibitedsÊ   s-   € ÛˆAØ×$Ñ$Ö$Ü"Ð#9¼DÀ»GÕ#CÓDÐDó r   c                ó¸   € \         P                  ! V4      pV P                  V4       V^ ,          R8X  d   \        R4      hVR,          R8X  d   \        R4      hV# )r   Ú-zInvalid leading hyphen-minuszInvalid trailing hyphen-minusro   )r   r}   rW   rf   )r,   r€   s   &&r   r}   ÚNamePrep.nameprepÏ   sR   € Ü—’˜eÓ$ˆØ×Ñ˜uÔ%Ø��8�sŒ?ÜÐ=Ó>Ð>Ø��9˜ÔÜÐ>Ó?Ð?Øˆr   r   N)r   r   r   r   r   r   ÚrangeÚchrrN   r[   rW   r}   r   r   )Únr   s   0@r   rv   rv   ˜   sƒ   ø‡ € ññ0 Ù�$˜Ó!Ù�$˜Ó!Ù�$˜Ó!Ù�$˜Ó!Ù�$˜Ó!ô
ó	ñ
ˆAô 	ˆAŽñ
ñ	€Kò/ò E÷
ð ùòA	s   ½A#rv   )rL   rN   )Ú"Ú&Ú'Ú/Ú:Ú<Ú>Ú@)5rj   Ú	encodingsr   Ú	itertoolsr   rV   r   Úzope.interfacer   r   Úincrementalr   Útwisted.python.deprecater	   r   r   r   r"   r'   r2   r<   rB   rJ   rv   Úin_table_c11ÚC_11Úin_table_c12ÚC_12Úin_table_c21ÚC_21Úin_table_c22ÚC_22Úin_table_c3ÚC_3Úin_table_c4ÚC_4Úin_table_c5ÚC_5Úin_table_c6ÚC_6Úin_table_c7ÚC_7Úin_table_c8ÚC_8Úin_table_c9ÚC_9Úin_table_b1ÚB_1Úmap_table_b2ÚB_2ÚnodeprepÚresourceprepr}   r   r   r   Ú<module>r³      s3  ðó Ý Ý õ 1ç 1å å >à€Ù ÙˆI�r˜1˜aÓ Ð"<¸hÈ
ôô
�9ô ô�Iô ñ ˆ\Ó÷(ð (ó ð(ñ
 ˆ\Ó÷ ð  ó ð ñ ˆ]Ó÷&ð &ó ð&ñ
 ˆ]Ó÷ð ó ð÷EBñ EB÷P>ñ >ñB ˜z×6Ñ6Ó7€Ù˜z×6Ñ6Ó7€Ù˜z×6Ñ6Ó7€Ù˜z×6Ñ6Ó7€Ù˜j×4Ñ4Ó5€Ù˜j×4Ñ4Ó5€Ù˜j×4Ñ4Ó5€Ù˜j×4Ñ4Ó5€Ù˜j×4Ñ4Ó5€Ù˜j×4Ñ4Ó5€Ù˜j×4Ñ4Ó5€á˜
×.Ñ.Ó/€Ù˜z×6Ñ6Ó7€áØ�3ˆZàØØØØØØØØØØÙÒ<Ó=ðô€ñ$ àðð �t˜T 3¨¨S°#°s¸CÀÐEô	€ñ ‹:‚r   