;ELC   
;;; Compiled
;;; in Emacs version 26.3
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@63 US-ASCII control characters excluding CR, LF and white space.
(defvar ietf-drums-no-ws-ctl-token "-\f-" (#$ . 408))
#@42 US-ASCII characters excluding CR and LF.
(defvar ietf-drums-text-token "-	\f-" (#$ . 536))
#@21 Special characters.
(defvar ietf-drums-specials-token "()<>[]:;@\\,.\"" (#$ . 637))
#@18 Quote character.
(defvar ietf-drums-quote-token "\\" (#$ . 727))
#@14 White space.
(defvar ietf-drums-wsp-token " 	" (#$ . 798))
#@22 Folding white space.
(defvar ietf-drums-fws-regexp (concat "[" ietf-drums-wsp-token "]*\n[" ietf-drums-wsp-token "]+") (#$ . 863))
#@16 Textual token.
(defvar ietf-drums-atext-token "-^a-zA-Z0-9!#$%&'*+/=?_`{|}~" (#$ . 1000))
#@36 Textual token including full stop.
(defvar ietf-drums-dot-atext-token "-^a-zA-Z0-9!#$%&'*+/=?_`{|}~." (#$ . 1096))
#@97 Non-white-space control characters, plus the rest of ASCII excluding
backslash and doublequote.
(defvar ietf-drums-qtext-token (concat ietf-drums-no-ws-ctl-token "!#-[]-") (#$ . 1217))
#@12 Tspecials.
(defvar ietf-drums-tspecials "][()<>@,;:\\\"/?=" (#$ . 1409))
(defvar ietf-drums-syntax-table (byte-code "\302!\303\304\305	#\210\303\306\307	#\210\303\310\311	#\210\303\312\313	#\210\303\314\313	#\210\303\315\316	#\210\303\317\316	#\210\303\320\316	#\210	)\207" [emacs-lisp-mode-syntax-table table copy-syntax-table modify-syntax-entry 92 "/" 60 "(" 62 ")" 64 "w" 47 42 "_" 59 39] 4))
#@44 Translate TOKEN into a list of characters.
(defalias 'ietf-drums-token-to-list #[(token) "\306\307\211\211\211\211\fGW\203q \fHT\n\310=\2032 \f\203+ \311\202\f \n	B\202\f \203O \f\nX\203J \312\313\f\"	B\fT\211\2027 \307\202\f \fGU\203a \312\313\n\"	B\202\f \f\203l \312\313\f\"	B\n\202\f 	\237.\207" [range out c e b i 0 nil 45 t make-char ascii token] 7 (#$ . 1814)])
(defalias 'ietf-drums-init #[(string) "\302!\210	c\210\303 \210eb\207" [ietf-drums-syntax-table string set-syntax-table ietf-drums-unfold-fws] 2])
(put 'ietf-drums-init 'byte-optimizer 'byte-compile-inline-expand)
#@30 Remove comments from STRING.
(defalias 'ietf-drums-remove-comments #[(string) "\306\307!rq\210\310\216\311\n\312!\210\nc\210\313 \210eb)\210m\204q \311f\211\314=\203< \31514 \316\317!0\2028 db)\210\202 	\320=\203k `\3211d \322 p\323\216\312\324!!\210\325\314\326\"\210\316\317!\210`+0\202f \210d|\210\202 \317u\210\202 \327 ,\207" [#1=#:temp-buffer c string ietf-drums-syntax-table err #2=#:buffer generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] nil set-syntax-table ietf-drums-unfold-fws 34 (error) forward-sexp 1 40 (error) syntax-table #[nil "rq\210\302	!)\207" [#2# #3=#:table set-syntax-table] 2] copy-syntax-table modify-syntax-entry "w" buffer-string #3#] 5 (#$ . 2429)])
#@32 Remove whitespace from STRING.
(defalias 'ietf-drums-remove-whitespace #[(string) "\304\305!rq\210\306\216	\307\n!\210	c\210\310 \210eb)\210\311m\204P \311f\211\312=\2030 \313\314!\210\202 \315=\203= \313\314!\210\202 \316>\203J \317\314!\210\202 \314u\210\202 \320 ,\207" [#1=#:temp-buffer string ietf-drums-syntax-table c generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] set-syntax-table ietf-drums-unfold-fws nil 34 forward-sexp 1 40 (32 9 10 13) delete-char buffer-string] 3 (#$ . 3175)])
#@37 Return the first comment in STRING.
(defalias 'ietf-drums-get-comment #[(string) "\305\306!rq\210\307\216	\310\n!\210	c\210\311 \210eb)\210\312\211m\204K \312f\211\313=\2032 \314\315!\210\202 \316=\203E `T\314\315!\210`S{\202 \315u\210\202 \f-\207" [#1=#:temp-buffer string ietf-drums-syntax-table c result generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] set-syntax-table ietf-drums-unfold-fws nil 34 forward-sexp 1 40] 4 (#$ . 3730)])
#@45 Remove comments and whitespace from STRING.
(defalias 'ietf-drums-strip #[(string) "\301\302!!\207" [string ietf-drums-remove-whitespace ietf-drums-remove-comments] 3 (#$ . 4229)])
#@34 Remove some garbage from STRING.
(defalias 'ietf-drums-remove-garbage #[(string) "\301\302\"\203 \303\211\224O\303\225\304OP\202  \207" [string string-match "[][()<>@,;:\\\"/?=]+" 0 nil] 4 (#$ . 4417)])
#@158 Remove comments, whitespace and garbage from STRING.
STRING is assumed to be a string that is extracted from
the Content-Transfer-Encoding header of a mail.
(defalias 'ietf-drums-strip-cte #[(string) "\301\302\303!!)!\207" [string ietf-drums-remove-garbage ietf-drums-remove-whitespace ietf-drums-remove-comments] 4 (#$ . 4633)])
#@56 Parse STRING and return a MAILBOX / DISPLAY-NAME pair.
(defalias 'ietf-drums-parse-address #[(string) "\306\307!rq\210\310\216\311\211\211\211\312#!\210c\210\313 \210eb)\210m\204\264 \311f\211\314=\203K \212\3151> \316\317!\210\3200\202@ \210\311)\204K \321\317!\210\311f\n\322=\204W \n\323=\203] \317u\210\202# \n\324=\203j \316\317!\210\202# \n\314=\203 `T\316\317!\210`S{\fB\202# \325\326$\327\330R!\203\227 `\316\317!\210`{\fB\202# \n\331=\203\256 \332\333`T\316\317!\210`S{!!\202# \317u\210\202# \f\203\303 \334\335\336\f!\337#\202\307 \340!\204\343 	\205\346 \341\327	\"\205\346 \334\335\f\237\342#\340!B\202\346 	B.\207" [#1=#:temp-buffer display-string c mailbox display-name string generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] nil set-syntax-table ietf-drums-unfold-fws 34 (error) forward-sexp 1 t delete-char 32 9 40 looking-at "[" "@" "]" 60 ietf-drums-remove-whitespace ietf-drums-remove-comments mapconcat identity reverse " " ietf-drums-get-comment string-match "" ietf-drums-syntax-table ietf-drums-atext-token] 6 (#$ . 4972)])
#@156 Parse STRING and return a list of MAILBOX / DISPLAY-NAME pairs.
If RAWP, don't actually parse the addresses, but instead return
a list of address strings.
(defalias 'ietf-drums-parse-addresses #[(string &optional rawp) "\205\252 \306\307!r	q\210\310\216\311\n!\210c\210\312 \210eb)\210`\313\211\211m\204\201 \313f\211\314>\203G \3151? \316\317!0\202C \210\320\313w\210\202' \f\321=\203{ \203Y `{\202i \3221g \323`{!0\202i \210\313\211\203r B\317u\210`\202' \317u\210\202' \203\215 `{\202\235 \3241\233 \323`{!0\202\235 \210\313\211\203\246 B\237.\207" [string #1=#:temp-buffer ietf-drums-syntax-table address c pairs generate-new-buffer " *temp*" #[nil "\301!\205	 \302!\207" [#1# buffer-name kill-buffer] 2] set-syntax-table ietf-drums-unfold-fws nil (34 60 40) (error) forward-sexp 1 "^," 44 (error) ietf-drums-parse-address (error) beg rawp] 5 (#$ . 6095)])
#@51 Unfold folding white space in the current buffer.
(defalias 'ietf-drums-unfold-fws #[nil "eb\210\301\302\303#\203 \304\305\303\211#\210\202 eb\207" [ietf-drums-fws-regexp re-search-forward nil t replace-match " "] 4 (#$ . 6999)])
#@40 Return an Emacs time spec from STRING.
(defalias 'ietf-drums-parse-date #[(string) "\301\302\303!\"\207" [string apply encode-time parse-time-string] 4 (#$ . 7238)])
#@53 Narrow to the header section in the current buffer.
(defalias 'ietf-drums-narrow-to-header #[nil "eb\300\301\302\303#\203 \304\224\202 d}\210eb\207" [re-search-forward "^?$" nil 1 0] 5 (#$ . 7411)])
#@63 Quote string if it needs quoting to be displayed in a header.
(defalias 'ietf-drums-quote-string #[(string) "\302\303\304Q	\"\203 \305	\305Q\207	\207" [ietf-drums-atext-token string string-match "[^" "]" "\""] 4 (#$ . 7619)])
(defalias 'ietf-drums-make-address #[(name address) "\203\f \302!\303	\304R\207	\207" [name address ietf-drums-quote-string " <" ">"] 4])
(provide 'ietf-drums)
