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


#@20 Default LDAP port.
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\"\207" [require url-vars url-parse url-util ldap autoload tls-certificate-information "tls"] 3)
(defconst url-ldap-default-port 389 (#$ . 83))#@76 An assoc list mapping LDAP attribute names to pretty descriptions of them.
(defalias 'url-ldap-expand-file-name 'url-default-expander)
(defvar url-ldap-pretty-names '(("l" . "City") ("objectclass" . "Object Class") ("o" . "Organization") ("ou" . "Organizational Unit") ("cn" . "Name") ("sn" . "Last Name") ("givenname" . "First Name") ("mail" . "Email") ("title" . "Title") ("c" . "Country") ("postalcode" . "ZIP Code") ("telephonenumber" . "Phone Number") ("facsimiletelephonenumber" . "Fax") ("postaladdress" . "Mailing Address") ("description" . "Notes")) (#$ . 327))#@75 An assoc list mapping LDAP attribute names to pretty formatters for them.
(defvar url-ldap-attribute-formatters '(("mail" lambda (x) (format "<a href='mailto:%s'>%s</a>" x x)) ("owner" . url-ldap-dn-formatter) ("creatorsname" . url-ldap-dn-formatter) ("jpegphoto" . url-ldap-image-formatter) ("usercertificate" . url-ldap-certificate-formatter) ("modifiersname" . url-ldap-dn-formatter) ("namingcontexts" . url-ldap-dn-formatter) ("defaultnamingcontext" . url-ldap-dn-formatter) ("member" . url-ldap-dn-formatter)) (#$ . 903))#@10 

(fn N)
(defalias 'url-ldap-attribute-pretty-name #[257 "\301\227\"\243\206\n \211\207" [url-ldap-pretty-names assoc] 4 (#$ . 1435)])#@12 

(fn N V)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put url-ldap-attribute-pretty-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'url-ldap-attribute-pretty-desc #[514 "\301\302\"\203 \303\304\"\262\305\227\"\243\206 \306!\207" [url-ldap-attribute-formatters string-match "^\\([^;]+\\);" match-string 1 assoc identity] 5 (#$ . 1577)])#@11 

(fn DN)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put url-ldap-attribute-pretty-desc speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'url-ldap-dn-formatter #[257 "\300\301!\302\303\260\207" ["<a href='/" url-hexify-string "'>" "</a>"] 6 (#$ . 1972)])#@13 

(fn DATA)#@12 

(fn AVA)
(defalias 'url-ldap-certificate-formatter #[257 "\300!\211\204	 \301\207\302\303\304\305#\306Q\207" [tls-certificate-information "<b>Unable to parse certificate</b>" "<table border=0>\n" mapconcat #[257 "\300\301@A#\207" [format "<tr><td>%s</td><td>%s</td></tr>\n"] 5 (#$ . 2291)] "\n" "</table>\n"] 7 (#$ . 2274)])
(defalias 'url-ldap-image-formatter #[257 "\300\301\302\303!!\"\207" [format "<img alt='JPEG Photo' src='data:image/jpeg;base64,%s'>" url-hexify-string base64-encode-string] 6 (#$ . 2274)])#@210 Perform an LDAP search specified by URL.
The return value is a buffer displaying the search results in HTML.
URL can be a URL string, or a URL record of the type returned by
`url-generic-parse-url'.

(fn URL)#@10 

(fn X)#@12 

(fn EXT)#@12 

(fn OBJ)#@13 

(fn ATTR)
(defalias 'url-ldap #[257 "\211;\203 \302\303!!\262\202 \304!>\204 \305\306!\210r\307\310!q\210\211\311c\210\312\313!\204B \314\315\316\317\320!\321\322\323\324\325\326\327\330\331\261\210\202\223\332\304!>\204R \333\334\335D\"\210\336H\304!>\204d \333\334\335D\"\210\337H\304!>\204w \333\334\335D\"\210\211\340H\206\247 \304!>\204\214 \333\334\335D\"\210\211\341H\205\247 \342\304!>\204\242 \333\334\335D\"\210\341H\343\"\262\332\211\211\211\211\211\344\345\n\"\203\276 \341\332O\262	\346\347\350\351\"\"\262	@\262A@\262\352	8\262\353	8\262\337	8\262\303\206\354 \354!\262\355\303\206\366 \356!!\262\303\206 \357!\262\360>\204\305\361\"\210\362\236A\262\203\"\346\303\350\363\"\"\262\2035\346\364\350\363\"\"\262\346\365\"\262\366\367\"\206@\366\370\"\243\262\n\313\371	\372\373!Q\374	\375\n\376\377\f\201@ \257\f!\262A\314\315\201A \317\320!\321\322\323\201B \201C \nG!\201D \261\210\201E \201F \"\210\201G \330\331\261\266p)\207" [cl-struct-url-tags url-current-object url-generic-parse-url url-unhex-string type-of error "Argument is not a valid URL" generate-new-buffer " *url-ldap*" "Content-type: text/html\n\n" fboundp ldap-search-internal "<html>\n" " <head>\n" "  <title>LDAP Not Supported</title>\n" "  <base href='" url-recreate-url "'>\n" " </head>\n" " <body>\n" "  <h1>LDAP Not Supported</h1>\n" "  <p>\n" "    This version of Emacs does not support LDAP.\n" "  </p>\n" " </body>\n" "</html>\n" nil signal wrong-type-argument url 6 4 5 1 url-scheme-get-property default-port string-match "^/" mapcar #[257 "\211G\300U?\205	 \211\207" [0] 3 (#$ . 3033)] split-string "\\?" 2 3 "" intern "base" "(objectClass=*)" (base one sub) "Malformed LDAP URL: Unknown scope: %S" ((base . base) (one . onelevel) (sub . subtree)) "," #[257 "\300\301\"\203 \302\303\"\302\304\"B\207\211B\207" [string-match "\\([^=]*\\)=\\(.*\\)" match-string 1 2] 5 (#$ . 3047)] #[257 "\300@!\300A!B\207" [url-unhex-string] 4 (#$ . 3047)] assoc "bindname" "!bindname" host ":" number-to-string base attributes scope filter binddn "  <title>LDAP Search Results</title>\n" "  <h1>" int-to-string " matches</h1>\n" mapc #[257 "\300\301\261\210\302\303\"\210\304c\207" ["  <hr>\n" "  <table border=1>\n" mapc #[257 "\211AG\302U\203< \303@\304\227\"\243\206 \211\262\305@A@\306\307\"\203* \310\302\"\262\304\227	\"\243\2064 \311!\266\202\312\261\207\313\314@\304\227\"\243\206J \211\262\305\315\316\317\"A\320#\321\322\261\207" [url-ldap-pretty-names url-ldap-attribute-formatters 1 "   <tr><td>" assoc "</td><td>" string-match #1="^\\([^;]+\\);" match-string identity "</td></tr>\n" "   <tr>\n" "    <td valign=top>" mapconcat make-closure #[257 "\300@\302\303\"\203 \304\305\"\262\306\227	\"\243\206 \307!\207" [V0 url-ldap-attribute-formatters string-match #1# match-string 1 assoc identity] 6 (#$ . 3033)] "<br>\n" "</td>" "   </tr>\n"] 9 (#$ . 3079)] "  </table>\n"] 4 (#$ . 3063)] "  <hr>\n"] 24 (#$ . 2819)])
(provide 'url-ldap)
