
    g                     R    S SK JrJrJrJrJrJrJrJr  \\\\\\\S.r	S r
S rS rg)    )DS_DOMAIN_FUNCTION_2000DS_DOMAIN_FUNCTION_2003DS_DOMAIN_FUNCTION_2008DS_DOMAIN_FUNCTION_2008_R2DS_DOMAIN_FUNCTION_2012DS_DOMAIN_FUNCTION_2012_R2DS_DOMAIN_FUNCTION_2003_MIXEDDS_DOMAIN_FUNCTION_2016)2000200320082008_R220122012_R22016c                     [         U    $ )z1Interpret a string indicating a functional level.)string_version_to_constant)strings    8/usr/lib/python3/dist-packages/samba/functional_level.pystring_to_levelr   *   s    %f--    c                     U [         :  a  g[         S[        S[        S[        S[        S[
        S[        S[        S	0nUR                  U S
5      $ )z3turn the level enum number into a printable string.invalidr   z02003 with mixed domains/interim (NT4 DC support)r   r   z2008 R2r   z2012 R2r   zhigher than 2016)	r   r	   r   r   r   r   r   r
   get)levelstringss     r   level_to_stringr   /   sR    &&%>"I"I
G ;;u011r   c                     U R                  S5      nUc  [        S5      e [        U5      $ ! [         a    [        SU S35      ef = f)z?Return the ad dc functional level as an integer from a LoadParmzad dc functional levelz2'ad dc functional level' in smb.conf unrecognised!z'ad dc functional level = z' in smb.conf is not valid!)r   RuntimeErrorr   KeyError)lpsmb_conf_dc_functional_levels     r   dc_level_from_lpr#   @   sk     $&66*B#C #+ OPP9;<< 9 78T7U V8 8 9 	9	9s	   
, AN)
samba.dsdbr   r   r   r   r   r   r	   r
   r   r   r   r#    r   r   <module>r&      sB   (	 	 	 $##)#)# .
2"9r   