<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]P                 @   sq  d  d l  Z  d  d l Z d  d l Z d d d d d d d d	 d
 d d d d d d d d d g Z e e f Z d d   Z d d d  Z d d d d  Z	 d d   Z
 d d   Z e j d d  Z e j d d  Z d d   Z d d   Z d Z d a d a d  d   Z d d d! d	  Z d" d
   Z d d# d  Z d a d a d$ Z d% Z d d d d& d'  Z d( d d) d  d* d d+ d d, d  Z d( d d+ d d- d. d/ d  Z d0 Z d a  d a! d a" d d1 d  Z# d2 d   Z$ d3 Z% e% d4 d5 Z& d6 d   Z' d7 d   Z( d8 d9   Z) d: d   Z* d; d<   Z+ d= d   Z, d> d?   Z- d@ dA   Z. dB dC   Z/ e0 dD k rme.   d S)E    Nencodedecodeencodebytesdecodebytes	b64encode	b64decode	b32encode	b32decode	b16encode	b16decode	b85encode	b85decode	a85encode	a85decodestandard_b64encodestandard_b64decodeurlsafe_b64encodeurlsafe_b64decodec             C   s   t  |  t  rA y |  j d  SWn t k
 r@ t d   Yn Xt  |  t  rT |  Sy t |   j   SWn+ t k
 r t d |  j	 j
  d   Yn Xd  S)Nasciiz4string argument should contain only ASCII charactersz>argument should be a bytes-like object or ASCII string, not %r)
isinstancestrr   UnicodeEncodeError
ValueErrorbytes_types
memoryviewtobytes	TypeError	__class____name__)s r    +/opt/alt/python35/lib64/python3.5/base64.py_bytes_from_decode_data"   s    r"   c             C   sB   t  j |   d  d  } | d  k	 r> | j t j d |   S| S)N   s   +/)binascii
b2a_base64	translatebytes	maketrans)r   altcharsencodedr    r    r!   r   3   s    Fc             C   st   t  |   }  | d  k	 r? t  |  } |  j t j | d   }  | rg t j d |   rg t j d   t j |   S)Ns   +/s   ^[A-Za-z0-9+/]*={0,2}$zNon-base64 digit found)	r"   r'   r(   r)   rematchr%   Error
a2b_base64)r   r*   Zvalidater    r    r!   r   B   s    c             C   s
   t  |   S)N)r   )r   r    r    r!   r   [   s    c             C   s
   t  |   S)N)r   )r   r    r    r!   r   b   s    s   +/s   -_c             C   s   t  |   j t  S)N)r   r'   _urlsafe_encode_translation)r   r    r    r!   r   p   s    c             C   s%   t  |   }  |  j t  }  t |   S)N)r"   r'   _urlsafe_decode_translationr   )r   r    r    r!   r   y   s    s    ABCDEFGHIJKLMNOPQRSTUVWXYZ234567c                s  t  d  k r> d d   t D     f d d     D a  d    t |  t  s_ t |   j   }  t |   d } | r |  t d |  }  t   } t	 j
 } t  } x{ t d t |   d  D]a } | |  | | d  d  } | | | d ?| | d ?d	 @| | d
 ?d	 @| | d	 @7} q W| d k r>d | d d   <nZ | d k r]d | d d   <n; | d k r|d | d d   <n | d k rd | d d   <t |  S)Nc             S   s   g  |  ] } t  | f   q Sr    )r(   ).0ir    r    r!   
<listcomp>   s   	 zb32encode.<locals>.<listcomp>c                s'   g  |  ] }   D] } | |  q q Sr    r    )r2   ab)b32tabr    r!   r4      s   	    r   big      i  
   r#   s   ======      s   ====      s   ===   =ir$   )_b32tab2_b32alphabetr   r   r   r   lenr(   	bytearrayint
from_bytesrange)r   Zleftoverr+   rI   Zb32tab2r3   cr    )r7   r!   r      s4    		+c             C   sW  t  d  k r% d d   t t  D a  t |   }  t |   d rP t j d   | d  k	 r t |  } |  j t j	 d d |   }  | r |  j
   }  t |   } |  j d  }  | t |   } t   } t  } x t d t |   d  D] } |  | | d  } d }	 y' x  | D] }
 |	 d	 >| |
 }	 qWWn$ t k
 rYt j d
  d   Yn X| |	 j d	 d  7} q W| rM|	 d	 | K}	 |	 j d	 d  } | d k r| d  d  | d d   <n | d k r| d  d  | d d   <na | d k r| d  d  | d d   <n8 | d k r>| d  d  | d d   <n t j d   t |  S)Nc             S   s   i  |  ] \ } } | |  q Sr    r    )r2   kvr    r    r!   
<dictcomp>   s   	 zb32decode.<locals>.<dictcomp>   zIncorrect paddings   01   OrA   r   r8   zNon-base32 digit foundr9   r#   r@   r>   r?   r=   r$   rQ   rC   rQ   rB   rQ   )_b32rev	enumeraterE   r"   rF   r%   r.   r'   r(   r)   upperrstriprG   rJ   KeyErrorto_bytes)r   casefoldZmap01lZpadcharsdecodedZb32revr3   ZquantaaccrK   Zlastr    r    r!   r	      sJ    	c             C   s   t  j |   j   S)N)r%   ZhexlifyrU   )r   r    r    r!   r
      s    c             C   sL   t  |   }  | r |  j   }  t j d |   r? t j d   t j |   S)Ns	   [^0-9A-F]zNon-base16 digit found)r"   rU   r,   searchr%   r.   Z	unhexlify)r   rY   r    r    r!   r     s    
s   <~s   ~>c       	         s   t  |  t  s! t |   j   }  t |   d } | rF |  d | }  t j d t |   d  j |   }      f d d   | D } | r | r | d d k r   d d	 | d <| d d  |  | d <d
 j |  S)Nr?   s    z!%dIc                se   g  |  ][ }  r | r d  n?  r7 | d k r7 d n'  | d  | d d   | d  q S)   zi       yi^	 U   i9  r    )r2   Zword)charschars2foldnuls
foldspacesr    r!   r4   )  s   	z_85encode.<locals>.<listcomp>r#   r^   r   r8       r$   r$   r$   r$   )	r   r   r   r   rF   structStructunpackjoin)	r6   ra   rb   padrc   rd   paddingZwordschunksr    )ra   rb   rc   rd   r!   	_85encode  s    &
rm   rd   wrapcolrj   adobec               s  t  d  k r; d d   t d d  D a  d d   t  D a t |  t  t | d |    | rf t      r t | r{ d n d       f d	 d   t d
 t      D } | r t | d  d  k r | j d  d j |    | r  t	 7    S)Nc             S   s   g  |  ] } t  | f   q Sr    )r(   )r2   r3   r    r    r!   r4   L  s   	 za85encode.<locals>.<listcomp>!   v   c             S   s'   g  |  ] } t  D] } | |  q q Sr    )	_a85chars)r2   r5   r6   r    r    r!   r4   M  s   	 Tr>   r#   c                s$   g  |  ] }   | |    q Sr    r    )r2   r3   )resultrn   r    r!   r4   U  s   	r   re   s   
r$   )
rr   rJ   
_a85chars2rm   	_A85STARTmaxrF   appendri   _A85END)r6   rd   rn   rj   ro   rl   r    )rs   rn   r!   r   7  s"    

ignorecharss    	
c            C   s  t  |   }  | rh |  j t  s6 t d j t    |  j t  rX |  d d  }  n |  d  d  }  t j d  j	 } g  } | j
 } g  } | j
 } | j }	 x6|  d D]*}
 d |
 k o d k n rX| |
  t |  d k rd } x  | D] }
 d	 | |
 d
 } q Wy | | |   Wn$ t j k
 rMt d  d   Yn X|	   q |
 d k r| rvt d   | d  q | r|
 d k r| rt d   | d  q |
 | k rq q t d |
   q Wd j |  } d t |  } | r| d  |  } | S)Nz1Ascii85 encoded byte sequences must end with {!r}r>   z!I   ur?      !r   r8   r`   rp   zAscii85 overflowr^   zz inside Ascii85 5-tuples       r_   zy inside Ascii85 5-tuples       zNon-Ascii85 digit found: %cre   rR   rR   s   uuuurp   u   z   y   )r"   endswithrx   r   format
startswithru   rf   rg   packrw   clearrF   errorri   )r6   rd   ro   ry   packIr[   Zdecoded_appendZcurrZcurr_appendZ
curr_clearxr\   rs   rk   r    r    r!   r   `  sV    			

sU   0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~c             C   sE   t  d  k r2 d d   t D a  d d   t  D a t |  t  t |  S)Nc             S   s   g  |  ] } t  | f   q Sr    )r(   )r2   r3   r    r    r!   r4     s   	 zb85encode.<locals>.<listcomp>c             S   s'   g  |  ] } t  D] } | |  q q Sr    )	_b85chars)r2   r5   r6   r    r    r!   r4     s   	 )r   _b85alphabet
_b85chars2rm   )r6   rj   r    r    r!   r     s    	c       
      C   s  t  d  k r@ d  g d a  x$ t t  D] \ } } | t  | <q& Wt |   }  t |   d } |  d | }  g  } t j d  j } x t d t |   d  D] } |  | | d  } d } y' x  | D] } | d t  | } q WWnY t	 k
 r>xA t |  D]3 \ } } t  | d  k r t
 d | |  d   q W  Yn Xy | j | |   Wq t j k
 rt
 d |  d   Yq Xq Wd	 j |  }	 | r|	 d  |  }	 |	 S)
N   r8      ~z!Ir   r`   z#bad base85 character at position %dz+base85 overflow in hunk starting at byte %dre   )_b85decrT   r   r"   rF   rf   rg   r   rJ   r   r   rw   r   ri   )
r6   r3   rK   rk   outr   chunkr\   jrs   r    r    r!   r     s<    L   r?   r@   c             C   s   xy |  j  t  } | s Px@ t |  t k  r[ |  j  t t |   } | sN P| | 7} q Wt j |  } | j |  q Wd  S)N)read
MAXBINSIZErF   r%   r&   write)inputoutputr   nsliner    r    r!   r     s    c             C   s:   x3 |  j    } | s Pt j |  } | j |  q Wd  S)N)readliner%   r/   r   )r   r   r   r   r    r    r!   r     s    c             C   s   y t  |   } WnD t k
 rV } z$ d |  j j } t |  |  WYd  d  } ~ Xn X| j d k r d | j |  j j f } t |   | j d k r d | j |  j j f } t |   d  S)	Nz"expected bytes-like object, not %srK   r6   Bz-expected single byte elements, not %r from %sr#   z(expected 1-D data, not %d-D data from %s)rK   r6   r   )r   r   r   r   r   ndim)r   merrmsgr    r    r!   _input_type_check  s    "r   c             C   sj   t  |   g  } xJ t d t |   t  D]0 } |  | | t  } | j t j |   q) Wd j |  S)Nr   re   )r   rJ   rF   r   rw   r%   r&   ri   )r   piecesr3   r   r    r    r!   r     s    
c             C   s)   d d  l  } | j d t d  t |   S)Nr   zAencodestring() is a deprecated alias since 3.1, use encodebytes()r>   )warningswarnDeprecationWarningr   )r   r   r    r    r!   encodestring  s    	
r   c             C   s   t  |   t j |   S)N)r   r%   r/   )r   r    r    r!   r   '  s    
c             C   s)   d d  l  } | j d t d  t |   S)Nr   zHdecodestring() is a deprecated alias since Python 3.1, use decodebytes()r>   )r   r   r   r   )r   r   r    r    r!   decodestring,  s    	
r   c        	      C   st  d d  l  }  d d  l } y) | j |  j d d   d  \ } } Wn` | j k
 r } z= |  j |  _ t |  t d |  j d  |  j d  WYd  d  } ~ Xn Xt } xa | D]Y \ } } | d k r t } | d k r t	 } | d k r t	 } | d	 k r t
   d  Sq W| rW| d d
 k rWt | d d   } | | |  j j  Wd  QRXn | |  j j |  j j  d  S)Nr   r#   Zdeutzusage: %s [-d|-e|-u|-t] [file|-]
        -d, -u: decode
        -e: encode (default)
        -t: encode and decode string 'Aladdin:open sesame'r>   z-ez-dz-uz-t-rb)sysgetoptargvr   stderrstdoutprintexitr   r   testopenbufferstdin)	r   r   Zoptsargsr   funcor5   fr    r    r!   main6  s0    )
      r   c              C   sR   d }  t  t |    t |   } t  t |   t |  } t  t |   d  S)Ns   Aladdin:open sesame)r   reprr   r   )Zs0s1s2r    r    r!   r   P  s    r   __main__)1r,   rf   r%   __all__r(   rG   r   r"   r   r   r   r   r)   r0   r1   r   r   rE   rD   rS   r   r	   r
   r   rr   rt   ru   rx   rm   r   r   r   r   r   r   r   r   ZMAXLINESIZEr   r   r   r   r   r   r   r   r   r   r   r    r    r    r!   <module>	   sf   	&J$)H-	
	

