o
    \h                     @   s|   d Z ddlZddlmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZ ddgZG dd deZG dd deZdS )	z
    pygments.lexers.ldap
    ~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for LDAP.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroupsdefault)
OperatorCommentKeywordLiteralNameStringNumberPunctuation
WhitespaceEscape	LdifLexerLdaprcLexerc                   @   s  e Zd ZdZdZdgZdgZdgZdZdZ	de
fd	eee
fd
eeje
fdeeee
eje
fdeeee
eje
ee
dfdeeee
ee
fdeeee
eje
fdeeee
ee
fdeeedfdeeedfdeeee
eje
fdeejedfdeejedfdeejedfgdedfdedfed gd!eejefd"eejedfd#eejedfgd$ee
ee
fd%ee
ee
d fgd&ee
eje
fd'ee
eje
d fgd(ee
ejed)fgd*efd+ed,fd-ed,fd.efd/e
fd0e
d fgd1ee
ee
fd2ee
ee
d fgd3Zd4S )5r   z
    Lexer for LDIF
    LDIFldifz*.ldifztext/x-ldifz-https://datatracker.ietf.org/doc/html/rfc28492.17z\s*\nz(-)(\n)z	(#.*)(\n)z"(version)(:)([ \t]*)(.*)([ \t]*\n)z?(control)(:)([ \t]*)([\.0-9]+)([ \t]+)((?:true|false)?)([ \t]*)after-controlz+(deleteoldrdn)(:)([ \n]*)([0-1]+)([ \t]*\n)z,(add|delete|replace)(::?)(\s*)(.*)([ \t]*\n)z)(changetype)(:)([ \t]*)([a-z]*)([ \t]*\n)z(dn|newrdn)(::)	base64-dnz(dn|newrdn)(:)dnz-(objectclass)(:)([ \t]*)([^ \t\n]*)([ \t]*\n)z!([a-zA-Z]*|[0-9][0-9\.]*[0-9])(;)propertyz"([a-zA-Z]*|[0-9][0-9\.]*[0-9])(:<)urlz#([a-zA-Z]*|[0-9][0-9\.]*[0-9])(::?)valuez:<)#popr   z::?)r   r   r   z([-a-zA-Z0-9]*)(;)z([-a-zA-Z0-9]*)(:<)z([-a-zA-Z0-9]*)(::?)z(\s*)([^\n]+\S)(\n )z(\s*)([^\n]+\S)(\n)z([ \t]*)(\S*)([ \t]*\n )z([ \t]*)(\S*)([ \t]*\n)z([ \t]*)([-a-zA-Z0-9\.]+)(=))r   dn-valuez\\[^\n],)r   r   z\+z	[^,\+\n]+z\n z\nz+([ \t]*)([^ \t\n][^ \t\n]*[^\n])([ \t]*\n )z*([ \t]*)([^ \t\n][^ \t\n]*[^\n])([ \t]*\n))rootr   r   r   r   r   r   r   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   version_addedr   r   r   r   Singler   r   Integerr	   Other	AttributeClassr   Propertyr
   PreprocFiler   r   tokens r/   r/   W/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/pygments/lexers/ldap.pyr      s    

	

c                   @   sN  e Zd ZdZdZddgZg dZdgZdZdZ	d	Z
d
Zde
 de dZdZdZdZejejB Zddejfdefde deeeejfde deeeejfdeeeejfdeeeejfde de deeeejfdeeeejfdeeeejfdeeeejfdeeeefd eeeeejfde d!eeeefgiZd"S )#r   z1
    Lexer for OpenLDAP configuration files.
    zLDAP configuration fileldapconfldaprc)z.ldaprcr2   z	ldap.confztext/x-ldapconfzkhttps://www.openldap.org/software//man.cgi?query=ldap.conf&sektion=5&apropos=0&manpath=OpenLDAP+2.4-Releaser   z,SASL_(?:MECH|REALM|AUTHCID|AUTHZID|CBINDING)zSTLS_(?:CACERT|CACERTDIR|CERT|ECNAME|KEY|CIPHER_SUITE|PROTOCOL_MIN|RANDFILE|CRLFILE)z(?:URI|SOCKET_BIND_ADDRESSES||)zEGSSAPI_(?:ALLOW_REMOTE_PRINCIPAL|ENCRYPT|SIGN)|REFERRALS|SASL_NOCANONzSKEEPALIVE_(?:IDLE|PROBES|INTERVAL)|NETWORK_TIMEOUT|PORT|SIZELIMIT|TIMELIMIT|TIMEOUTz]none|noanonymous|noplain|noactive|nodict|forwardsec|passcred|(?:minssf|maxssf|maxbufsize)=\d+r   z#.*z\s+(z!)(\s+)(on|true|yes|off|false|no)$z)(\s+)(\d+)z(VERSION)(\s+)(2|3)z,(DEREF)(\s+)(never|searching|finding|always)z(SASL_SECPROPS)(\s+)((?:z)(?:,z)*)z2(SASL_CBINDING)(\s+)(none|tls-unique|tls-endpoint)z7(TLS_REQ(?:CERT|SAN))(\s+)(allow|demand|hard|never|try)z"(TLS_CRLCHECK)(\s+)(none|peer|all)z(BASE|BINDDN)(\s+)(\S+)$z#(HOST)(\s+)([a-z0-9]+)((?::(\d+))?)z)(\s+)(\S+)$N)r   r   r    r!   r"   r#   r$   r%   r   r&   _sasl_keywords_tls_keywords_literal_keywords_boolean_keywords_integer_keywords	_secpropsre
IGNORECASE	MULTILINEflagsr   r'   r   r   r   Constantr   r(   r   r.   r/   r/   r/   r0   r   i   sf    




)r!   r<   pygments.lexerr   r   r   pygments.tokenr   r   r   r   r	   r
   r   r   r   r   __all__r   r   r/   r/   r/   r0   <module>   s    
0T