§
    dÒ³g  ã            	       óä   — U d Z dgZddlZddlmZmZ ddlZej        ej        ej	        ej
        ej        ej        ej        ej        ej        f	Zeeegef         df         ed<   dded	ed
efd„ZdS )z&An implementation of RFC4013 SASLprep.Úsaslprepé    N)ÚCallableÚTuple.Ú_PROHIBITEDTÚdataÚprohibit_unassigned_code_pointsÚreturnc                 ó  ‡‡‡— |rt           t          j        fz   }nt           }t          j        Št          j        Šd                     ˆˆfd„| D ¦   «         ¦  «        } t          j                             d| ¦  «        } t          j	        } || d         ¦  «        r1 || d         ¦  «        st          d¦  «        ‚|t          j        fz   }n||fz   }| D ],Št          ˆfd„|D ¦   «         ¦  «        rt          d¦  «        ‚Œ-| S )	a½  An implementation of RFC4013 SASLprep.
    :param data:
        The string to SASLprep.
    :param prohibit_unassigned_code_points:
        RFC 3454 and RFCs for various SASL mechanisms distinguish between
        `queries` (unassigned code points allowed) and
        `stored strings` (unassigned code points prohibited). Defaults
        to ``True`` (unassigned code points are prohibited).
    :return: The SASLprep'ed version of `data`.
    Ú c                 óD   •— g | ]} ‰|¦  «        ° ‰|¦  «        rd n|‘ŒS )ú © )Ú.0ÚeltÚin_table_b1Úin_table_c12s     €€úP/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pdfminer/_saslprep.pyú
<listcomp>zsaslprep.<locals>.<listcomp>C   s<   ø€ ÐXÐXÐX°CÀ{À{ÐSVÑGWÔGWÐX�\�\ #Ñ&Ô&Ð	/ˆˆ¨CÐXÐXÐXó    ÚNFKCr   éÿÿÿÿz$SASLprep: failed bidirectional checkc              3   ó.   •K  — | ]} |‰¦  «        V — Œd S )Nr   )r   Úin_tableÚchars     €r   ú	<genexpr>zsaslprep.<locals>.<genexpr>\   s+   øè è € Ð9Ð9 (ˆxˆx˜‰~Œ~Ð9Ð9Ð9Ð9Ð9Ð9r   z+SASLprep: failed prohibited character check)r   Ú
stringprepÚin_table_a1r   r   ÚjoinÚunicodedataÚ	ucd_3_2_0Ú	normalizeÚin_table_d1Ú
ValueErrorÚin_table_d2Úany)r   r   Ú
prohibitedr"   r   r   r   s       @@@r   r   r   ,   s<  øøø€ ð 'ð !Ý ¥JÔ$:Ð#<Ñ<ˆ
ˆ
å ˆ
õ Ô*€LÝÔ(€KØ�7Š7ØXÐXÐXÐXÐX¸4ÐXÑXÔXñô €Dõ Ô ×*Ò*¨6°4Ñ8Ô8€DåÔ(€KØ€{�4˜”7ÑÔð 1Øˆ{˜4 œ8Ñ$Ô$ð 	Eõ ÐCÑDÔDÐDð  ¥:Ô#9Ð";Ñ;ˆ
ˆ
ð
   ; .Ñ0ˆ
ð ð Lð LˆÝÐ9Ð9Ð9Ð9¨jÐ9Ñ9Ô9Ñ9Ô9ð 	LÝÐJÑKÔKÐKð	Lð €Kr   )T)Ú__doc__Ú__all__r   Útypingr   r   r   r   Úin_table_c21_c22Úin_table_c3Úin_table_c4Úin_table_c5Úin_table_c6Úin_table_c7Úin_table_c8Úin_table_c9r   ÚstrÚboolÚ__annotations__r   r   r   r   ú<module>r5      sä   ðð& -Ð ,Ð ,àˆ,€à Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð ð ÔØÔØÔØÔØÔØÔØÔØÔØÔð2€ˆU�8˜S˜E 4˜KÔ(¨#Ð-Ô.ð ð ñ ð 3ð 3�3ð 3¸ð 3Èð 3ð 3ð 3ð 3ð 3ð 3r   