;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\207" [require eudc ldap] 2)#@51 Alist mapping EUDC attribute names to LDAP names.
(defvar eudc-ldap-attributes-translation-alist '((name . sn) (firstname . givenname) (email . mail) (phone . telephonenumber)) (#$ . 146))
(byte-code "\300\301\302\303#\210\300\304\305\303#\210\300\306\307\303#\210\300\310\311\303#\210\300\312\313\303#\210\300\314\315\303#\207" [eudc-protocol-set eudc-query-function eudc-ldap-simple-query-internal ldap eudc-list-attributes-function eudc-ldap-get-field-list eudc-protocol-attributes-translation-alist eudc-ldap-attributes-translation-alist eudc-bbdb-conversion-alist eudc-ldap-bbdb-conversion-alist eudc-protocol-has-default-query-attributes nil eudc-attribute-display-method-alist (("jpegphoto" . eudc-display-jpeg-inline) ("labeledurl" . eudc-display-url) ("audio" . eudc-display-sound) ("labeleduri" . eudc-display-url) ("mail" . eudc-display-mail) ("url" . eudc-display-url))] 4)#@72 Do some cleanup in a RECORD to make it suitable for EUDC.

(fn RECORD)
(defalias 'eudc-ldap-cleanup-record-simple #[257 "\300\301\"\207" [mapcar #[257 "\300@\227!AA\203 A\202 A@B\207" [intern] 3 "\n\n(fn FIELD)"]] 4 (#$ . 1037)])
(make-obsolete 'eudc-ldap-cleanup-record-simple 'eudc-ldap-cleanup-record-filtering-addresses "25.1")#@15 

(fn STRING)
(defalias 'eudc-filter-$ #[257 "\300\301\302\303\"\304#\207" [mapconcat identity split-string "\\$" "\n"] 6 (#$ . 1381)])#@265 Clean up RECORD to make it suitable for EUDC.
Make the record a cons-cell instead of a list if it is
single-valued.  Change the `$' character in postal addresses to a
newline.  Combine separate mail fields into one mail field with
multiple addresses.

(fn RECORD)
(defalias 'eudc-ldap-cleanup-record-filtering-addresses #[257 "\301\300!?\206	 ?\302\211\211\203V \211@\303@\227!A\203* \304>\203* \305\306\"\262\307=\203; \310\"\262\266\202O A\203E \202G @BB\262\266A\266\202\202\f \210\307A\203a \202c @BB\262\237\207" [ldap-ignore-attribute-codings boundp nil intern (postaladdress registeredaddress) mapcar eudc-filter-$ mail append] 11 (#$ . 1524)])#@261 Query the LDAP server with QUERY.
QUERY is a list of cons cells (ATTR . VALUE) where ATTRs should be valid
LDAP attribute names.
RETURN-ATTRS is a list of attributes to return, defaulting to
`eudc-default-return-attributes'.

(fn QUERY &optional RETURN-ATTRS)
(defalias 'eudc-ldap-simple-query-internal #[513 "\303\304!<\205 \305\306\"#\307C\305\310\"\262	\203+ \203+ \311=\204+ \312\"\262\n\313=\2049 \314\315\316\"\"\210\211\242\207" [eudc-server eudc-strict-return-matches eudc-duplicate-attribute-handling-method ldap-search eudc-ldap-format-query-as-rfc1558 mapcar symbol-name nil eudc-ldap-cleanup-record-filtering-addresses all eudc-filter-partial-records list mapc make-closure #[257 "\300\301\302!\300\242\"\240\207" [V0 append eudc-filter-duplicate-attributes] 5 "\n\n(fn RECORD)"]] 8 (#$ . 2211)])#@207 Return a list of valid attribute names for the current server.
OBJECTCLASS is the LDAP object class for which the valid
attribute names are returned.  Default to `person'.

(fn DUMMY &optional OBJECTCLASS)
(defalias 'eudc-ldap-get-field-list #[513 "\204 \302\303!\210\304\305	\306\211\307%!\310\311\312#\210\310\313\314#\210BC\315\316\317\320\321\206- \322BC!\306\323$\")\207" [eudc-server ldap-host-parameters-alist call-interactively eudc-set-server copy-sequence alist-get nil equal plist-put scope subtree sizelimit 1 mapcar eudc-ldap-cleanup-record-filtering-addresses ldap-search eudc-ldap-format-query-as-rfc1558 objectclass "person" t] 10 (#$ . 3041) nil])#@81 Value is STRING with characters forbidden in LDAP queries escaped.

(fn STRING)
(defalias 'eudc-ldap-escape-query-special-chars #[257 "\300\211\211\211\301\302#\303\304#\305\306#\307\310!\311#\207" [eudc-replace-in-string "\\\\" "\\5c" "(" "\\28" ")" "\\29" char-to-string 0 "\\00"] 8 (#$ . 3722)])#@73 Format the EUDC QUERY list as a RFC1558 LDAP search filter.

(fn QUERY)
(defalias 'eudc-ldap-format-query-as-rfc1558 #[257 "\300\301\302\303\304!\305#\306!@\307\"P\"\207" [#[513 "\301\302@\303A!\203 @>\204 \304\202 \305P#\207" [eudc-ldap-no-wildcard-attributes format "(%s=%s)" eudc-ldap-escape-query-special-chars "*" #1=""] 8 "\n\n(fn ITEM &optional WILDCARD)"] format "(&%s)" mapconcat butlast #1# last t] 8 (#$ . 4027)])#@34 Customize the EUDC LDAP support.
(defalias 'eudc-ldap-customize #[0 "\300\301!\207" [customize-group eudc-ldap] 2 (#$ . 4471) nil])#@64 Check if the current LDAP server has a configured search base.
(defalias 'eudc-ldap-check-base #[0 "\303\304\"\206 	\206 \305\306!??\205\" \307\n\"\204 C\nB\310\302!\207" [eudc-server ldap-default-base ldap-host-parameters-alist ldap-get-host-parameter base y-or-n-p "No search base defined.  Configure it now?" assoc customize-variable] 3 (#$ . 4608)])
(byte-code "\300\301!\210\302\303\304\305#\210\306\303\304\307#\210\310\311!\207" [eudc-register-protocol ldap defalias eudc-ldap-get-host-parameter ldap-get-host-parameter nil make-obsolete "29.1" provide eudcb-ldap] 4)
