
    Fwg
                         d Z ddlmZ ddlmZ ddlmZ ddlmZ g dZ	 ddlm	Z
 ddlmZ d	 Zd
 Zd Zd Zd Zy# e$ r	 ddlmZ
 Y #w xY w)z Encodings and related functions.    )unicode_literals)division)absolute_import)str)encode_7or8bitencode_base64encode_noopencode_quopri)encodebytes)encodestringc                 @    t        | d      }|j                  dd      S )NT)	quotetabs z=20)_encodestringreplace)sencs     V/var/www/horilla/myenv/lib/python3.12/site-packages/future/backports/email/encoders.py_qencoder      s    
T
*C;;sE""    c                 z    | j                         }t        t        |      d      }| j                  |       d| d<   y)zlEncode the message's payload in Base64.

    Also, add an appropriate Content-Transfer-Encoding header.
    asciibase64Content-Transfer-EncodingN)get_payloadr   _bencodeset_payloadmsgorigencdatas      r   r   r   !   s7    
 ??D(4.'*GOOG'/C#$r   c                 f    | j                         }t        |      }| j                  |       d| d<   y)zvEncode the message's payload in quoted-printable.

    Also, add an appropriate Content-Transfer-Encoding header.
    zquoted-printabler   N)r   r   r   r   s      r   r
   r
   ,   s0    
 ??DtnGOOG'9C#$r   c                    | j                         }|d| d<   y	 t        |t              r|j                  d       n|j	                  d       d| d<   t        |t              s"| j                  |j	                  dd             yy# t
        $ rO | j                         }|xr |j                  }|r%|j                         j                  d      rd| d<   nd| d<   Y w xY w)z9Set the Content-Transfer-Encoding header to 7bit or 8bit.N7bitr   r   z	iso-2022-8bitsurrogateescape)r   
isinstancer   encodedecodeUnicodeErrorget_charsetoutput_charsetlower
startswithr   )r   r    charsetoutput_csets       r   r   r   7   s    ??D|+1'(2dC KK KK  ,2'(dC G->?@ !  6//#8'"8"8;,,.99+F/5C+,/5C+,6s   3B ACCc                     | j                         }t        |t              s"| j                  |j	                  dd             yy)zDo nothing.r   r&   N)r   r'   r   r   r)   )r   r    s     r   r	   r	   S   s7    
 ??DdC G->?@ !r   N)__doc__
__future__r   r   r   future.builtinsr   __all__r   r   r   ImportErrorr   quoprir   r   r   r
   r   r	    r   r   <module>r9      sZ   
 ' '  & 0. 1#0:A8A}  0/0s   < A
	A
