ó
    cÛ–i²&  ã            	       ó  • S r SSKrSSKrSSKr0 r0 SS_SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_\S '   0 S!S_S"S_S#S_S$S_S%S_S&S_S'S
_S(S_S)S_S*S+_S,S-_S.S/_S0S1_S2S3_S4S5_S6S_\S7'   S8S0\S9'   \R
                  " S:5      R                  S;5      \R
                  " S<5      R                  S;5      \R
                  " S=5      R                  S;5      \R
                  " S>5      R                  S;5      \R
                  " S?5      R                  S;5      \R
                  " S@5      R                  S;5      \R
                  " SA5      R                  S;5      SB.r\" / SCQ5      r	SD r
SE rSF rSG rSH rSI rSJ rSOSK jr\SL:X  a3  SSKr \R(                  S5   r\R(                  S3   r\" \" \\5      5        gg! \ a6    \" SM\R(                  S   -  \R2                  SN9  \R4                  " S55         NLf = f)Pz&Generate LDIF from WSPP documentation.é    NÚ	fATTINDEXé   ÚfPDNTATTINDEXé   ÚfANRé   ÚfPRESERVEONDELETEé   ÚfCOPYé   ÚfTUPLEINDEXé   ÚfSUBTREEATTINDEXé   ÚfCONFIDENTIALé   ÚfCONFIDENTAILÚfNEVERVALUEAUDITé   ÚfRODCAttributeé   ÚfRODCFilteredAttributeÚfRODCFILTEREDATTRIBUTEÚfEXTENDEDLINKTRACKINGé   Ú	fBASEONLYé   ÚfPARTITIONSECRETé   ÚsearchflagsÚFLAG_ATTR_NOT_REPLICATEDÚFLAG_CR_NTDS_NCÚ FLAG_ATTR_REQ_PARTIAL_SET_MEMBERÚFLAG_CR_NTDS_DOMAINÚFLAG_ATTR_IS_CONSTRUCTEDÚFLAG_CR_NTDS_NOT_GC_REPLICATEDÚFLAG_ATTR_IS_OPERATIONALÚFLAG_SCHEMA_BASE_OBJECTÚFLAG_ATTR_IS_RDNÚFLAG_DISALLOW_MOVE_ON_DELETEé   ÚFLAG_DOMAIN_DISALLOW_MOVEé   ÚFLAG_DOMAIN_DISALLOW_RENAMEé   ÚFLAG_CONFIG_ALLOW_LIMITED_MOVEé   ÚFLAG_CONFIG_ALLOW_MOVEé   ÚFLAG_CONFIG_ALLOW_RENAMEé   ÚFLAG_DISALLOW_DELETEÚsystemflagsÚFLAG_ATTR_IS_CRITICALÚschemaflagsexs	   +‡s …>Úutf8s
   *†H†÷s   Vs
   *†H†÷s	   +‡s …Js	   +‡s …\s
   *†H†÷)z1.3.12.2.1011.28.0.702z1.2.840.113556.1.1.1.12z2.6.6.1.2.5.11.29z1.2.840.113556.1.1.1.11z1.3.12.2.1011.28.0.714z1.3.12.2.1011.28.0.732z1.2.840.113556.1.1.1.6)ÚauxiliaryclassÚ
maycontainÚmustcontainÚposssuperiorsÚsystemauxiliaryclassÚsystemmaycontainÚsystemmustcontainÚsystemposssuperiorsc                 ó0  • Un[         R                  " S5      n U R                  5       nUSS S:X  a  US:w  a  US:w  d   eX$-   nOPUS:X  a  UnUS:X  a   X!4$ O=USS S:w  a.  US:w  a(  US:w  a"  UR                  U5      nU(       d
  US-   U-   nMw  Un X!4$ M~  )z,reads a line from an LDIF file, unfolding itú&^([A-Za-z][A-Za-z0-9-]*[A-Za-z0-9])::?Nr5   Ú Ú Ú
Ú#)ÚreÚcompileÚreadlineÚmatch)ÚfÚbufferÚlineÚattr_type_reÚlÚms         Ú1/usr/lib/python3/dist-packages/samba/ms_schema.pyÚ__read_folded_linerT   Y   sÌ   € à€Dä—:’:ÐFÓG€Là
Ø�J‰J‹LˆàˆRˆaˆ5�C‹<ð ˜2“: $¨$£,Ð/Ð.ð ‘8‰Dð �r‹zØ�à˜“7àð ˆ>Ðð! ð �R�a�5˜C“< A¨£I°!°r³'Ø$×*Ñ*¨1Ó-�AÞØ# c™z¨A™~˜Ù ð
 �Øàˆ>ÐñA ó    c              #   ó–  #   • SSK n[        R                  " S5      nSn / n [        X5      u  pSUSS S:X  a  M  US:X  d  US:X  a  OdUR	                  U5      nU(       a   USS S:X  a  USS nUR                  U5        O*[        S	U-  S
UR                  S9  UR                  " S5        M‰  [        U5      (       a  Uv •  US:X  a  gM©  7f)z)reads an LDIF entry, only unfolding linesr   NrD   rF   r5   rH   rG   éÿÿÿÿzInvalid line: %srE   )ÚendÚfile)
ÚsysrI   rJ   rT   rL   ÚappendÚprintÚstderrÚexitÚlen)rM   rZ   rP   rN   ÚentryrQ   rR   s          rS   Ú__read_raw_entriesra   ‚   sÐ   é € ãô —:’:ÐFÓG€Là€Fà
ØˆàÜ,¨QÓ7‰KˆQà��!ˆu˜‹|Ùà�D‹y˜A ›GØà×"Ñ" 1Ó%ˆAæØ�R�S�6˜T“>Ø˜#˜2˜�Aà—‘˜Q•äÐ(¨1Ñ,°#¸C¿J¹JÒGØ—’˜”ñ% ô( ˆu�:‰:ØŠKà�‹7Øñ7 ùs   ‚CC	c                 ó<  • U R                  S5      S:w  a6  U R                  SS5      n U R                  SS5      n U R                  SS5      $ U R                  S5      (       a  U R                  S	S5      $ U R                  S
5      (       a  U R                  SS5      $ U $ )z"fix a string DN to use ${SCHEMADN}z<RootDomainDN>rW   ú
 rF   rE   z)CN=Schema,CN=Configuration,<RootDomainDN>z${SCHEMADN}zDC=XzCN=Schema,CN=Configuration,DC=XzCN=XzCN=Schema,CN=Configuration,CN=X)ÚfindÚreplaceÚendswith)Údns    rS   Úfix_dnrh   ª   s�   € ð 
‡w�wÐÓ  BÓ&Ø�Z‰Z˜˜rÓ"ˆØ�Z‰Z˜˜RÓ ˆØ�z‰zÐEÀ}ÓUÐUØ	�‰�V×	Ñ	Ø�z‰zÐ;¸]ÓKÐKØ	�‰�V×	Ñ	Ø�z‰zÐ;¸]ÓKÐKàˆ	rU   c                 ó,  • [        U[        5      (       d   eUR                  SS5      nUR                  SS5      n [        U5      n[        U5      $ ! [         a6    SnUR                  S5      nU H  n[        U    U   nUSSU-
  -  -  nM      NJf = f)z%Evaluate the OR expression in 'value'rc   rF   rE   r   Ú|r5   r   )Ú
isinstanceÚstrre   ÚintÚ
ValueErrorÚsplitÚ	bitFields)ÚkeyÚvalueÚoÚflagsrM   Úbitposs         rS   Ú__convert_bitfieldrv   º   s�   € ä�eœS×!Ñ!Ð"Ð!à�M‰M˜% Ó$€EØ�M‰M˜#˜rÓ"€Eð)ä�‹Jˆô ˆq‹6€Møô ó )ØˆØ—‘˜CÓ ˆÛˆAÜ˜s‘^ AÑ&ˆFØ�Q˜2 ™;Ñ'Ñ(ŠAó ð)ús   ½A Á=BÂBc                 ó  • / nU  Hu  n[        US   [        5      (       a  US   /nOUS   nUS   (       a   UR                  US   < SUS   < 35        MQ  U H  nUR                  US   < SU< 35        M      Mw     SR                  U5      $ )zWrite out entry as LDIFr5   r3   r   z:: ú: rG   )rk   rl   r[   Újoin)r`   ÚoutrQ   ÚvlÚvs        rS   Ú__write_ldif_oner}   Î   sˆ   € à
€CãˆÜ�a˜‘dœC× Ñ Ø�A‘$�‰Bà�1‘ˆBàˆQ�4Ø�J‰J A a¤D¨!¨A«$Ð/Ô0ÙãˆAØ�J‰J 1 Q¤4ªÐ+Ö,ó ñ ð �9‰9�S‹>ÐrU   c           	      ó�  • U  Vs/ s H  o"R                  SS5      PM     n nSnS=n=n=pgU  GH‘  nUS   R                  S5      (       a  UR                  S5        US   SS US'   OUR                  S5        US	   R                  5       nUS   R	                  5       US'   US   R                  5       US'   U(       d  US
:X  a  US   nU[        ;   aG  US   R                  SS5      US'   US   R                  SS5      US'   US   R                  S5      US'   U[        ;   a  [        X‚S   5      US'   US:X  a,  US   (       d"  [        US   R                  5          US'   SUS'   [        US   [        5      (       a  [        US   5      US'   US:X  a  SnUS   n	US:X  a  SnGM{  US:X  a  SnGM†  US:X  d  GM�  SnGM”     U(       d   e/ n
U(       d  U
R                  SSU-  S/5        OU
R                  SW	S/5        U(       d  U
R                  SSU/S/5        U(       d  U
R                  SUS/5        U(       d  U
R                  SUS/5        U
R                  S[        [        R                   " 5       5      S/5        X  Vs/ s H(  o»S	   R                  5       [#        / SQ5      ;  d  M&  UPM*     sn-   n U $ s  snf s  snf )zvPerform transformations required to convert the LDIF-like schema
file entries to LDIF, including Samba-specific stuff.Ú:r5   rF   Frx   Tr3   Nr   Úcnrc   rE   Ú,Úomobjectclassrg   ÚobjectclassÚadmindisplaynameÚadmindescriptionzCN=%s,${SCHEMADN}ÚobjectClassÚtopÚadminDescriptionÚadminDisplayNameÚ
objectGUID)rg   Ú
changetypeÚobjectcategory)ro   Ú
startswithr[   ÚlowerÚlstripÚrstripÚmultivalued_attrsre   rp   rv   ÚoMObjectClassBERÚstriprk   rl   rh   ÚuuidÚuuid4Úset)r`   r†   rQ   r€   Úskip_dnÚskip_objectclassÚskip_admin_descriptionÚskip_admin_display_namerq   rg   ÚheaderÚxs               rS   Ú__transform_entryr�   â   s§  € ñ ',Ó,¢e �W‰W�S˜!Ž_¡e€EÐ,à	€BØTYÐY€GÐYÐÐYÐ!7äˆØˆQ‰4�?‰?˜4× Ñ Ø�H‰H�TŒNØ�Q‘4˜˜�8ˆAˆaŠDà�H‰H�UŒOà�‰d�j‰j‹lˆØ�‰t�{‰{‹}ˆˆ!‰Ø�‰t�{‰{‹}ˆˆ!‰æ�c˜T“kØ�1‘ˆBàÔ#Ó#à�Q‘4—<‘<  rÓ*ˆAˆa‰DØ�Q‘4—<‘<  RÓ(ˆAˆa‰Dà�Q‘4—:‘:˜c“?ˆAˆa‰Dà”)ÓÜ% c¨Q©4Ó0ˆAˆa‰Dà�/Ó!Ø�Q—4Ü'¨¨!©¯
©
«Ñ5��!‘Ø��!‘ä�a˜‘dœC× Ñ Ü˜!˜A™$“<ˆAˆa‰Dà�$‹;ØˆGØ�1‘ˆBà�-ÓØ#ÓØÐ&Ó&Ø&*Ó#ØÐ&Ö&Ø%)Ó"ñS öV €Jˆ2à€FÞØ�‰�tÐ0°2Ñ5°uÐ=Õ>à�‰�t˜R Ð'Ô(æØ�‰�} u¨kÐ&:¸EÐBÔCÞ!Ø�‰Ð)¨2¨uÐ5Ô6Þ"Ø�‰Ð)¨2¨uÐ5Ô6à
‡M�M�<¤¤T§Z¢Z£\Ó!2°EÐ:Ô;à Ój¢˜A¨A©$¯*©*«,¼cÒBhÓ>iÑ*i—a¡ÑjÑj€Eà€LùòG -ùòB ks   …J>Ê%KÊ1Kc           
      óâ   • / nSSK Jn  U" U SSS9 n[        U5       H&  nUR                  [	        [        XQ5      5      5        M(     SSS5        SR                  U5      $ ! , (       d  f       N= f)z!Load and transform a schema file.r   )ÚopenÚrzlatin-1)ÚencodingNú

)ÚiorŸ   ra   r[   r}   r�   ry   )Úfilenamer†   rz   rŸ   rM   r`   s         rS   Ú__parse_schema_filer¥   ,  s`   € ð €CåÙ	ˆh˜ iÒ	0°AÜ'¨Ö*ˆEØ�J‰JÔ'Ô(9¸%Ó(MÓNÖOñ +÷ 
1ð �;‰;�sÓÐ÷	 
1Õ	0ús   ‘6A Á 
A.c                 ól   • SnSnU(       a  [        U S5      nU(       a  [        US5      nUS-   U-   S-   $ )z-Read WSPP documentation-derived schema files.rF   ÚattributeSchemaÚclassSchemar¢   )r¥   )Ú	attr_fileÚclasses_fileÚdump_attributesÚdump_classesÚdebugÚ	attr_ldifÚclasses_ldifs          rS   Úread_ms_schemar°   9  sB   € ð €IØ€LæÜ'¨	Ð3DÓEˆ	ÞÜ*¨<¸ÓGˆà�vÑ Ñ,¨vÑ5Ð5rU   Ú__main__z(Usage: %s attr-file.txt classes-file.txt)rY   )TTF)Ú__doc__rI   Úbase64r”   rp   Ú	b64encodeÚdecoder’   r–   r‘   rT   ra   rh   rv   r}   r�   r¥   r°   Ú__name__rZ   Úargvr©   rª   Ú
IndexErrorr\   r]   r^   © rU   rS   Ú<module>rº      s7  ðñ$ -ã 	Û Û à€	ðØ�ðà�Rðð ˆBðð ˜ð	ð
 ˆRðð �2ðð ˜ðð �Rðð �Rðð ˜ðð �bðð ˜bðð  ˜bð!ð" ˜Rð#ð$ �ð%ð& ˜ð'€	ˆ-Ñ ð.Ø ðØ$5°rðà&¨ðà,AÀ2ðð  ðð %EÀbðð  ð	ð
 ˜rðð ˜ðð # Aðð   ðð " 1ðð % aðð ˜aðð  ðð ˜Að€	ˆ-Ñ ð$ ˜Rð€	ˆ/Ñ ð %×.Ò.Ð/VÓW×^Ñ^Ð_eÓfØ%×/Ò/Ð0[Ó\×cÑcÐdjÓkØ×)Ò)Ð*IÓJ×QÑQÐRXÓYØ%×/Ò/Ð0[Ó\×cÑcÐdjÓkØ$×.Ò.Ð/VÓW×^Ñ^Ð_eÓfØ$×.Ò.Ð/VÓW×^Ñ^Ð_eÓfØ$×.Ò.Ð/ZÓ[×bÑbÐciÓjñÐ ñ ò 0ó 1Ð ò
&òR%òPò ò(ò(GòT
ô6ð ˆzÓÛðØ—H‘H˜Q‘Kˆ	Ø—x‘x ‘{ˆñ
 
‰.˜ LÓ
1Õ2ð øð ó ÙÐ8¸C¿H¹HÀQ¹KÑHÈsÏzÉzÒZØ�Š�Žðús   ÆG Ç9G?Ç>G?