;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:46:06 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/gnus/nnweb.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`nnweb.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\303\304!\210\303\305!\210\303\306!\210\303\307!\210\303\310!\210\303\311!\210\204  \312\313!\210\314\315\316\317\"\317\211F	B\314\320D\nB\317\207" [noninteractive nnoo-definition-alist nnoo-state-alist require nnoo message gnus-util gnus nnmail mm-util eval (progn (require 'w3) (require 'url) (require 'w3-forms)) nnweb mapcar #[(p) "C\207" [p] 1] nil "*internal-non-initialized-backend*"] 4)
#@34 Where nnweb will save its files.
(defvar nnweb-directory (nnheader-concat gnus-directory "nnweb/") (#$ . 1028))
(nnoo-define 'nnweb-directory nil)
#@127 What search engine type is being used.
Valid types include `google', `dejanews', `dejanewsold', `reference',
and `altavista'.
(defvar nnweb-type 'google (#$ . 1182))
(nnoo-define 'nnweb-type nil)
#@24 Type-definition alist.
(defvar nnweb-type-definition '((google (article . ignore) (id . "http://groups.google.com/groups?selm=%s&output=gplain") (reference . identity) (map . nnweb-google-create-mapping) (search . nnweb-google-search) (address . "http://groups.google.com/groups") (identifier . nnweb-google-identity)) (dejanews (article . ignore) (id . "http://groups.google.com/groups?selm=%s&output=gplain") (reference . identity) (map . nnweb-google-create-mapping) (search . nnweb-google-search) (address . "http://groups.google.com/groups") (identifier . nnweb-google-identity)) (reference (article . nnweb-reference-wash-article) (map . nnweb-reference-create-mapping) (search . nnweb-reference-search) (address . "http://www.reference.com/cgi-bin/pn/go") (identifier . identity)) (altavista (article . nnweb-altavista-wash-article) (map . nnweb-altavista-create-mapping) (search . nnweb-altavista-search) (address . "http://www.altavista.digital.com/cgi-bin/query") (id . "/cgi-bin/news?id@%s") (identifier . identity))) (#$ . 1384))
#@36 Search string to feed to DejaNews.
(defvar nnweb-search nil (#$ . 2432))
(nnoo-define 'nnweb-search nil)
#@36 Maximum number of hits to display.
(defvar nnweb-max-hits 999 (#$ . 2543))
(nnoo-define 'nnweb-max-hits nil)
#@41 Whether this nnweb server is ephemeral.
(defvar nnweb-ephemeral-p nil (#$ . 2658))
(byte-code "\306\307\310\"\210\301B\311\301!\204 \310\306\301\310\"\210\302B\311\302!\204\" \310\306\302\310\"\210\303B\311\303!\2043 \310\306\303\310\"\210\304B\311\304!\204D \310\306\304\310\"\210\305B\311\305!\204U \310\306\305\310\"\210\312\313!\207" [current-load-list nnweb-articles nnweb-buffer nnweb-group-alist nnweb-group nnweb-hashtb nnoo-define nnweb-ephemeral-p nil boundp nnoo-define-basics-1 nnweb] 3)
(defalias 'nnweb-retrieve-headers #[(articles &optional group server fetch-old) "\306	\"\210\212\nq\210\307 \210\310\211\203J p\311\216\310\312\310!\210\211A@\211\203F \f\236\211A@)\211\203$ \313!\210\202$ ,\202p \310\211A@\211\203o \f\236\211A@)\211\203M \313!\210\202M )+\314\207" [group server nntp-server-buffer header article mm-emacs-mule nnweb-possibly-change-server erase-buffer nil ((byte-code "q\210\302	!\207" [#1=#:buffer #2=#:multibyte set-buffer-multibyte] 2)) set-buffer-multibyte nnheader-insert-nov nov enable-multibyte-characters #1# #2# default-enable-multibyte-characters articles nnweb-articles x] 4])
(nnoo-register-function 'nnweb-retrieve-headers)
(defalias 'nnweb-request-scan #[(&optional group server) "\304	\"\210\n\203 \305\306!\307\310! \210\n?\205 \311 \210\312!\207" [group server nnweb-ephemeral-p nnweb-hashtb nnweb-possibly-change-server gnus-make-hashtable 4095 nnweb-definition map nnweb-write-active nnweb-write-overview] 3])
(nnoo-register-function 'nnweb-request-scan)
(defalias 'nnweb-request-group #[(group &optional server dont-check) "\306\307\"\210	\2037 	\n\232\2047 \2047 	\307\310	\"\211\2036 \3118\3128\2046 \313	!\210)\f\204@ \314\315\316\"\207\203X \f\211@@)\317\f!\211@@)B\202b \310	\"\211A@)\314\315\320	#\210\321\322\fG@A	%)\207" [server group nnweb-group nnweb-ephemeral-p nnweb-articles nnweb-group-alist nnweb-possibly-change-server nil assoc 2 3 nnweb-read-overview nnheader-report nnweb "No matching articles" last "Opened group %s" nnheader-insert "211 %d %d %d %s\n" info nnweb-type nnweb-search dont-check x active] 7])
(nnoo-register-function 'nnweb-request-group)
(defalias 'nnweb-close-group #[(group &optional server) "\304	\"\210\n\211\205 \305!\205 \306\305!!)\203' \212\nq\210\307\310!\210\311\n!\210)\312\207" [group server nnweb-buffer buffer nnweb-possibly-change-server get-buffer buffer-name set-buffer-modified-p nil kill-buffer t] 4])
(nnoo-register-function 'nnweb-close-group)
(defalias 'nnweb-request-article #[(article &optional group server buffer) "\306	\"\210\212\n\206 q\210\f\236\211A@)\211\205  \307H\211\203N \203C p\310\216\311 \312\311!\210\313!,\202K \311 \313!)\204\275 \f;\205\325 \314\315\316\"\205\325 \314\315!\311\211!\"#\317\320\f\"\203r \321\322\f\"\"#\205\271 \"\205\271 \323#\"\"\203\242 p$%\324\216\311 \312\311!\210\313!\210,\202\253 \311 \313!\210)\314\325\316\"\205\271 \314\325!\f!\211+\205\325 &\204\307 \314\304! \210\326\327\330\f#\210\f\247\205\324 \fB+\207" [group server buffer nntp-server-buffer article nnweb-articles nnweb-possibly-change-server 8 ((byte-code "q\210\302	!\207" [#1=#:buffer #2=#:multibyte set-buffer-multibyte] 2)) nil set-buffer-multibyte nnweb-fetch-url nnweb-definition id t string-match "^<\\(.*\\)>$" match-string 1 format ((byte-code "q\210\302	!\207" [#3=#:buffer #4=#:multibyte set-buffer-multibyte] 2)) reference nnheader-report nnweb "Fetched article %s" x header url mm-emacs-mule enable-multibyte-characters #1# #2# default-enable-multibyte-characters active art fetch #3# #4# nnheader-callback-function] 5])
(nnoo-register-function 'nnweb-request-article)
(defalias 'nnweb-close-server #[(&optional server) "\303!\203( 	\211\205 \304\n!\205 \305\304\n!!)\203( \212	q\210\306\307!\210\310	!\210)\311\312\"\207" [server nnweb-buffer buffer nnweb-server-opened get-buffer buffer-name set-buffer-modified-p nil kill-buffer nnoo-close-server nnweb] 4])
(nnoo-register-function 'nnweb-close-server)
(defalias 'nnweb-request-list #[(&optional server) "\303\304\"\210\212	q\210\305\n!\210)\306\207" [server nntp-server-buffer nnweb-group-alist nnweb-possibly-change-server nil nnmail-generate-active t] 3])
(nnoo-register-function 'nnweb-request-list)
(defalias 'nnweb-request-update-info #[(group info &optional server) "\302	\"\207" [group server nnweb-possibly-change-server] 3])
(nnoo-register-function 'nnweb-request-update-info)
(defalias 'nnweb-asynchronous-p #[nil "\300\207" [t] 1])
(nnoo-register-function 'nnweb-asynchronous-p)
(defalias 'nnweb-request-create-group #[(group &optional server args) "\304\305\"\210\306	!\210	\307\310B\nBBB\311 \210\312\207" [server group args nnweb-group-alist nnweb-possibly-change-server nil nnweb-request-delete-group 1 0 nnweb-write-active t] 3])
(nnoo-register-function 'nnweb-request-create-group)
(defalias 'nnweb-request-delete-group #[(group &optional force server) "\303	\"\210\304\305\n\"\n\"\306 \210\307\310!!\210\311\207" [group server nnweb-group-alist nnweb-possibly-change-server delq assoc nnweb-write-active gnus-delete-file nnweb-overview-file t] 4])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnweb-request-delete-group nnoo-define-skeleton-1 nnweb] 2)
#@47 Read the overview of GROUP and build the map.
(defalias 'nnweb-read-overview #[(group) "\305\306!!\205A \307\310\311\312!!\313\216r\nq\210\314\306!!\210eb\210\307m?\205@ \315 \316y\210\317H\211\320HE\fB\321\f@\"\210\202! -\207" [group default-enable-multibyte-characters #1=#:temp-buffer header nnweb-articles file-exists-p nnweb-overview-file nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnheader-insert-file-contents nnheader-parse-nov 1 0 8 nnweb-set-hashtb] 4 (#$ . 8001)])
#@36 Write the overview file for GROUP.
(defalias 'nnweb-write-overview #[(group) "\306!\307\310\311!!\312\216r	q\210\f\205& \313\f\211A@\211A@)!\210\202 *r	q\210~\210\314ed\n\315\316%\210,\207" [group #1=#:temp-buffer #2=#:temp-file nnweb-articles articles x nnweb-overview-file get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnheader-insert-nov write-region nil 0] 8 (#$ . 8587)])
(defalias 'nnweb-set-hashtb #[(header data) "\303\304\305H!	\"\nL\207" [header nnweb-hashtb data intern nnweb-identifier 8] 4])
(defalias 'nnweb-get-hashtb #[(url) "\302\303!	\"J\207" [url nnweb-hashtb intern-soft nnweb-identifier] 3])
(defalias 'nnweb-identifier #[(ident) "\301\302!!\207" [ident nnweb-definition identifier] 2])
#@48 Return the name of the overview file of GROUP.
(defalias 'nnweb-overview-file #[(group) "\302	\303#\207" [nnweb-directory group nnheader-concat ".overview"] 4 (#$ . 9404)])
#@23 Save the active file.
(defalias 'nnweb-write-active #[nil "\304!\210\305\306\"\307\310\311!!\312\216r	q\210\313\314\303\315DEp\")r	q\210~\210\316ed\n\317\320%\210,\207" [nnweb-directory #1=#:temp-buffer #2=#:temp-file nnweb-group-alist gnus-make-directory nnheader-concat "active" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) prin1 setq quote write-region nil 0] 7 (#$ . 9584)])
#@23 Read the active file.
(defalias 'nnweb-read-active #[nil "\301\302\303\"\304\211\211$\207" [nnweb-directory load nnheader-concat "active" t] 5 (#$ . 10067)])
#@32 Return the definition of TYPE.
(defalias 'nnweb-definition #[(type &optional noerror) "	\n\236\236A\211\204 \f\204 \305\306\"\210)\207" [type nnweb-type nnweb-type-definition def noerror error "Undefined definition %s"] 4 (#$ . 10232)])
(defalias 'nnweb-possibly-change-server #[(&optional group server) "\306!\210\203 \307!\204 \310!\210	\204 \311 \210\n\204! \312\313!\2055 \f?\2055 \232\2055 \314\315\316#\207" [server nnweb-group-alist nnweb-hashtb group nnweb-ephemeral-p nnweb-group nnweb-init nnweb-server-opened nnweb-open-server nnweb-read-active gnus-make-hashtable 4095 nnweb-request-group nil t] 4])
#@30 Initialize buffers and such.
(defalias 'nnweb-init #[(server) "\211\205 \306	!\205 \307\306	!!)?\205& \212\310\311\312\313\f$!\210p*\211\207" [nnweb-buffer buffer default-enable-multibyte-characters nnweb-type nnweb-search server get-buffer buffer-name nil nnheader-set-temp-buffer format " *nnweb %s %s %s*"] 7 (#$ . 10868)])
(defalias 'nnweb-fetch-url #[(url) "\306\212	\2040 \307\310\311!!\312\216r\nq\210\313 \210\314\211\211\315!\210+\316 +\317 \210c\210\320\2029 \321\322p	$\210\320*\207" [buf nnheader-callback-function #1=#:temp-buffer default-process-coding-system coding-system-for-write coding-system-for-read nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte binary nnweb-insert buffer-string erase-buffer t nnweb-url-retrieve-asynch nnweb-callback url] 5])
(defalias 'nnweb-callback #[(buffer callback) "\211\205 \304	!\205 \305\304	!!)\205L \212q\210\306\307! \210\310 \210	q\210db\210\311!\210)\n\312!\210\211\211\205D 	;\203A \304\202B \305	!)\205K \313!)\207" [url-working-buffer buffer callback buf get-buffer buffer-name nnweb-definition article nnweb-decode-entities insert-buffer-substring t kill-buffer] 4])
(defalias 'nnweb-url-retrieve-asynch #[(url callback &rest data) "\306\307\211\310\311!\312\300\313\"\210\212\314	!q\210\313\315\307\"\210)\312\300\f\"-\207" [url-be-asynchronous url-working-buffer url-request-extra-headers url-request-data old-asynch url-request-method "GET" nil generate-new-buffer-name " *nnweb*" set-default t get-buffer-create url-retrieve data url-current-callback-data callback url-current-callback-func url] 6])
(byte-code "\300\301!\203\n \302\303M\210\300\207" [fboundp url-retrieve-synchronously nnweb-url-retrieve-asynch #[(url callback &rest data) "\303	\n#\207" [url callback data url-retrieve] 4]] 2)
#@54 Perform the search and create a number-to-url alist.
(defalias 'nnweb-dejanews-create-mapping #[nil "\212q\210\306 \210\307\310!	!\205\216\311\312\211\313\n\"\211A@)\206! \314\311B\315\211\211\211\211\211\211\211\211\211123456789:;:\203\201eb\210\316p!2\317\3202\"A@\321\2118@8\315<\211=\203V=@<\322\323<\"\324A@\236A3\325<!\237\203M\32687\32181A@6@5\327\3306\"\203\305 \331\332\333\334\335\3216\"!>\"@\335\3366\"\335\3146\"$6\202\310 \3376;T;3\340P3\327\3413\"\203\344 \342\343\312\2113$3\3443!\204M8\211AT\2418A7\3451\346R56\347\3503!\351Q\315\311\2113\315?@ABCD657E\352E756DCBA@?&\n.\nD4B4\3534\211@A)@4@\"\210=A\211=\204l *eb\210\354\355\315\312#\203j;FY\203q\315\211:\202H \335\314!:\306 \210\356:!\210\202F \357G4\244\360\"\211G.)\207" [nnweb-buffer nnweb-search nnweb-group nnweb-group-alist x text erase-buffer nnweb-definition search 0 t assoc 1 nil w3-parse-buffer nnweb-parse-find-all table 2 nnweb-parse-find a href nnweb-text 4 string-match "\\([0-9]+\\)/\\([0-9]+\\)/\\([0-9]+\\)" format "%s %s 00:00:00 %s" rassq string-to-number match-string 3 "Jan 1 00:00:00 0000" "&fmt=text" "&context=[^&]+" replace-match "" nnweb-get-hashtb " (" ")" "<" nnweb-identifier "@dejanews>" vector nnweb-set-hashtb re-search-forward "HREF=\"\\([^\"]+\\)\"[<>b]+Next result" url-insert-file-contents sort car-less-than-car group parse url map from date subject active case-fold-search more i row #1=#:--dolist-temp--97317 parse-time-months extra xref lines chars references id number nnweb-max-hits nnweb-articles] 15 (#$ . 12791)])
(defalias 'nnweb-dejanews-search #[(search) "\301\302\303!\304\305\306\307\310B\311BBB!Q!\210\312\207" [search nnweb-insert nnweb-definition address "?" nnweb-encode-www-form-urlencoded ("ST" . "PS") ("svcclass" . "dnyr") "QRY" (("defaultOp" . "AND") ("DBS" . "1") ("OP" . "dnquery.xp") ("LNG" . "ALL") ("maxhits" . "100") ("threaded" . "0") ("format" . "verbose2") ("showsort" . "date") ("agesign" . "1") ("ageweight" . "1")) t] 8])
(defalias 'nnweb-dejanewsold-search #[(search) "\301\302\303!\304B\305B\"\210\306\207" [search nnweb-fetch-form nnweb-definition address "query" (("defaultOp" . "AND") ("svcclass" . "dnold") ("maxhits" . "100") ("format" . "verbose2") ("threaded" . "0") ("showsort" . "date") ("agesign" . "1") ("ageweight" . "1")) t] 4])
#@43 Return an unique identifier based on URL.
(defalias 'nnweb-dejanews-identity #[(url) "\301\302\"\203\f \303\304\"\207\207" [url string-match "AN=\\([0-9]+\\)" match-string 1] 3 (#$ . 15198)])
#@54 Perform the search and create a number-to-url alist.
(defalias 'nnweb-reference-create-mapping #[nil "\212q\210\306 \210\307\310!	!\2051\311\312\211\313\n\"\211A@)\206! \314\311B\315\211\211\211\211\211\211\211&'()*+,-./0/\203$eb\210\316\317\315\312#\210e`|\210eb\210\320\321\315\312#\203`\320\322\315\312#\203k \311\224\202l d}\210eb\210\323\324!\203{ \325\314!\326 \210eb\210\316\327\315\312#\203\220 \330\331!\210\202\201 eb\210\320\332\315\312#\203\250 \333\325\314!!\325\334!L\210\202\223 ~\210\316\335\315\312#\2100T0\336!\204U -\211AT\241-A\337)\340,R(*'\315\311\341+!\315123456789:\342:987654321&\n.\nD&B&\343&\211@A)@&@\"\210\202U \315\211/\204E \344;&\244\345\"\211;.\f)\207" [nnweb-buffer nnweb-search nnweb-group nnweb-group-alist x url erase-buffer nnweb-definition search 0 t assoc 1 nil search-forward "</pre><hr>" re-search-forward "^ +[0-9]+\\." "^$" looking-at ".*href=\"\\([^\"]+\\)\"" match-string nnweb-remove-markup "	" replace-match " " "^\\([^:]+\\): \\(.*\\)$" intern 2 "</pre>" nnweb-get-hashtb "(" ") " string-to-int vector nnweb-set-hashtb sort car-less-than-car map Message-ID From Newsgroups Date Score Subject active case-fold-search more i extra xref lines chars references id date from subject number nnweb-articles] 13 (#$ . 15399)])
(defalias 'nnweb-reference-wash-article #[nil "\302eb\210\303\304\305\302#\210e`|\210\306\307\305\302#\210\310y\210\311 \306\312\305\302#\210`d|\210\313 \210eb\210\314\315!\203> \316 \210`\317y\210`|\210\202+ e	}\210\303\320\305\302#\203[ m\204[ \316 \210`\317y\210`|\210\202B eb\210\314\321!\203o \322\323\302\"\210\317y\210\202^ eb\210\303\324\305\302#\203\265 `\303\325\305\302#\203\210 \326\224\202\211 d}\210eb\210m\204\241 \314\327!\204\216 \330c\210\317y\210\202\216 eb\210\306\331\305\302#\203\265 \322\332\302\211#\210\202\244 ~\210\333 \210	\305\211\223*\207" [case-fold-search body t re-search-forward "^</center><hr>" nil search-forward "<pre>" -1 point-marker "</pre>" nnweb-remove-markup looking-at " *$" beginning-of-line 1 "^$" "\\(^[^ ]+:\\) *" replace-match "\\1 " "^References:" "^$\\|^[^:]+:" 0 "References" "	" "," " " nnweb-decode-entities] 5])
(defalias 'nnweb-reference-search #[(search) "\302\303\304!\305\306\307\310B\311BB!Q!\210\312\313\207" [search buffer-file-name url-insert-file-contents nnweb-definition address "?" nnweb-encode-www-form-urlencoded ("search" . "advanced") "querytext" (("subj" . "") ("name" . "") ("login" . "") ("host" . "") ("organization" . "") ("groups" . "") ("keywords" . "") ("choice" . "Search") ("startmonth" . "Jul") ("startday" . "25") ("startyear" . "1996") ("endmonth" . "Aug") ("endday" . "24") ("endyear" . "1996") ("mode" . "Quick") ("verbosity" . "Verbose") ("ranking" . "Relevance") ("first" . "1") ("last" . "25") ("score" . "50")) nil t] 7])
#@54 Perform the search and create a number-to-url alist.
(defalias 'nnweb-altavista-create-mapping #[nil "\212q\210\306 \210\307\310\311!\n	\"\205.\307\312\211\313\f\"\211A@)\206$ \314\307B\315\211\211\211\211\211\211$%&'()*+,-.-\203!eb\210\316\317\315\312#\210e\307\224|\210eb\210\316\317\315\312#\203f \320\321!\210\202W \322 \210eb\210\323\324\315\312#\203\325\314!$\325\326!*\325\327!)\325\330!&\331\325\332!\333Q'\325\334!(.T.\335$!\204l +\211AT\241+A\336&\337*R()'\315\307\211$\315/0123')(*4\3404*()'3210/&\n.\nD%B%\341%\211@A)@%@\"\210\202l 5\203.6Y\204\310\311!\n	T\211\"\204A \315\211-\204F \3425%\244\343\"\2115.*\207" [nnweb-buffer part nnweb-search nnweb-group nnweb-group-alist x erase-buffer 0 nnweb-definition search t assoc 1 nil search-forward "<dt>" replace-match "\n<blubb>" nnweb-decode-entities re-search-forward "<blubb>.*href=\"\\([^\"]+\\)\"><strong>\\([^>]*\\)</strong></a><dd>\\([^-]+\\)- <b>\\([^<]+\\)<.*href=\"news:\\([^\"]+\\)\">.*\">\\(.+\\)</a><P>" match-string 2 3 4 "<" 5 ">" 6 nnweb-get-hashtb "(" ") " vector nnweb-set-hashtb sort car-less-than-car url map group id from date subject active case-fold-search more i extra xref lines chars references number nnweb-articles nnweb-max-hits] 13 (#$ . 18251)])
(defalias 'nnweb-altavista-wash-article #[nil "eb\210\301\302\303\304\301#\203 e\305\224|\210eb\210\306\307!\203& \310\311\301\"\210\312y\210\202 \313\314\304\301#\203H `\312y\210`}\210eb\210\302\315\304\301#\203H \310\316\301\"\210\2028 ~\210\317 \210\320 )\207" [case-fold-search t re-search-forward "^<strong>" nil 0 looking-at "<strong>\\([^ ]+\\) +</strong> +\\(.*\\)$" replace-match "\\1: \\2" 1 re-search-backward "^References:" "<A.*\\?id@\\([^\"]+\\)\">[0-9]+</A>" "&lt;\\1&gt; " nnweb-remove-markup nnweb-decode-entities] 4])
(defalias 'nnweb-altavista-search #[(search &optional part) "\303\304\305!\306\307\310\311\312\205 \313\314\315_!BC\316\317	B\320BB\"BB!Q!\210\321\322\207" [part search buffer-file-name url-insert-file-contents nnweb-definition address "?" nnweb-encode-www-form-urlencoded ("pg" . "aq") ("what" . "news") append "stq" int-to-string 30 ("fmt" . "d") "q" (("r" . "") ("d0" . "") ("d1" . "")) nil t] 11])
(defalias 'nnweb-google-wash-article #[nil "\302\303eb\210\304\305\303\302#\210e`}\210\306\307\303\302\310$\210e`|\210\304\311\303\302#\203( \312\313!\210\304\314\303\302#\2034 \312\313!\210eb\210\315\316\303\302#\203F \312\317!\210\2027 \320 \210eb\210\304\321\303\302#\203[ \312\313!\210\202L db\210\317c\210~\210`d}\210\315\322\303\302#\210`d|\210\320 \210~*\207" [url case-fold-search t nil re-search-forward "^<pre>" search-backward "<table " 2 "Search Result [0-9]+" replace-match "" "View complete thread ([0-9]+ articles?)" search-forward "<br>" "\n" nnweb-remove-markup "^[ 	]*\n" "</pre>"] 5])
(defalias 'nnweb-google-parse-1 #[(&optional Message-ID) "\306\307\310	\"\211A@)\311\211\211\211\211\211\211\211\"#$%&'()'\204: \312\306B\211'*+F	Beb\210\313\314\311\307#\203%\315\316!\317\320\"\321\322\311\307#\321\323\311\307#}\210\324 \210\325 \210\326 &db\210~\210\312y\210\327\330!\203v \306\225b\210\327\331!\204\203 \332\311w\210\202\236 `\321\323\311\307#}\210\324 \210\325 \210\326 #db\210~\210\333\311w\210\327\334!\203\256 \315\316!\"\315\312!$\312y\210)T)\335\f!\204= '\211AT\241'A#\203\324 \336#\337&R\202\326 &\"$,\206\340 \311\306\211\f\311-./0123456\3406543210/.-&\n.\nDB\341\211@A)@@\"\210\202= .\207" [nnweb-group nnweb-group-alist x mid url map 0 t assoc nil 1 re-search-forward "a href=/groups\\(\\?[^ \">]*selm=\\([^ &\">]+\\)\\)" match-string 2 format "http://groups.google.com/groups?selm=%s&output=gplain" search-forward ">" "</a>" nnweb-remove-markup nnweb-decode-entities buffer-string looking-at "<br><font[^>]+>" "<a[^>]+>" " 	" "- 	" "\\([0-9]+[/ ][A-Za-z]+[/ ][0-9]+\\)[ 	]*by[ 	]*\\([^<]*\\) - <a" nnweb-get-hashtb "(" ") " vector nnweb-set-hashtb From Newsgroups Date Score Subject active case-fold-search i nnweb-type nnweb-search Message-ID extra xref lines chars references id date from subject number] 13])
(defalias 'nnweb-google-reference #[(id) "\306!\307\n\244\n\211@A)@\211\205D \2034 \fp\310\216\307\311\307!\210\312	\313H!\210,\202> \307\312	\313H!\210)\n\211@@)*\207" [id header map nnweb-articles x mm-emacs-mule nnweb-google-parse-1 nil ((byte-code "q\210\302	!\207" [#1=#:buffer #2=#:multibyte set-buffer-multibyte] 2)) set-buffer-multibyte nnweb-fetch-url 8 enable-multibyte-characters #1# #2# default-enable-multibyte-characters] 4])
#@54 Perform the search and create a number-to-url alist.
(defalias 'nnweb-google-create-mapping #[nil "\212q\210\304 \210\305\306!	!\205# \307\310 \244\311\211\204 \312\313\"\211))\207" [nnweb-buffer nnweb-search more nnweb-articles erase-buffer nnweb-definition search t nnweb-google-parse-1 nil sort car-less-than-car] 4 (#$ . 22888)])
(defalias 'nnweb-google-search #[(search) "\301\302\303!\304\305\306B\307B!Q!\210\310\207" [search nnweb-insert nnweb-definition address "?" nnweb-encode-www-form-urlencoded "q" (("num" . "100") ("hq" . "") ("hl" . "") ("lr" . "") ("safe" . "off") ("sites" . "groups")) t] 6])
#@43 Return an unique identifier based on URL.
(defalias 'nnweb-google-identity #[(url) "\301\302\"\203\f \303\304\"\207\207" [url string-match "selm=\\([^ &>]+\\)" match-string 1] 3 (#$ . 23514)])
#@39 Insert HTML based on a w3 parse tree.
(defalias 'nnweb-insert-html #[(parse) ";\203\n \301!c\207\302\303@!\304\261\210\305\306A@\304#c\210\307c\210\310\311\3128\"\210\313\303@!\307\261\207" [parse nnheader-string-as-multibyte "<" symbol-name " " mapconcat #[(param) "\302@!\303\304A:\203 \211A@)\202 A!Q\207" [param x symbol-name "=" prin1-to-string] 5] ">\n" mapcar nnweb-insert-html 2 "</"] 4 (#$ . 23716)])
#@33 Return PAIRS encoded for forms.
(defalias 'nnweb-encode-www-form-urlencoded #[(pairs) "\301\302\303#\207" [pairs mapconcat #[(data) "\301@!\302\301A!Q\207" [data w3-form-encode-xwfu "="] 4] "&"] 4 (#$ . 24147)])
#@69 Fetch a form from URL with PAIRS as the data using the POST method.
(defalias 'nnweb-fetch-form #[(url pairs) "\306!\307\310\311\f!\210\312+\313\207" [pairs url-request-extra-headers url-request-method url-request-data url buffer-file-name nnweb-encode-www-form-urlencoded "POST" (("Content-type" . "application/x-www-form-urlencoded")) url-insert-file-contents nil t] 3 (#$ . 24368)])
#@27 Decode all HTML entities.
(defalias 'nnweb-decode-entities #[nil "eb\210\303\304\305\306#\205M \307\310!\311H\312=\203- \313\307\310!\310\305O!\314!\203( \202) \315)\2029 \316\307\310!!	\236A\2069 \312\211;\204C \317\n!\320\n\306\211#\210)\202 \207" [c w3-html-entities elem re-search-forward "&\\(#[0-9]+\\|[a-z]+\\);" nil t match-string 1 0 35 string-to-number mm-char-or-char-int-p 32 intern char-to-string replace-match] 5 (#$ . 24765)])
(defalias 'nnweb-decode-entities-string #[(string) "\302\303\304!!\305\216rq\210	c\210\306 \210ed{+\207" [#1=#:temp-buffer string get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnweb-decode-entities] 3])
#@50 Remove all HTML markup, leaving just plain text.
(defalias 'nnweb-remove-markup #[nil "eb\210\300\301\302\303#\203 \304\224\300\305\302\303#\206 d|\210\202 eb\210\306\307\302\303#\205/ \310\311\303\211#\210\202 \207" [search-forward "<!--" nil t 0 "-->" re-search-forward "<[^>]+>" replace-match ""] 5 (#$ . 25511)])
#@116 Insert the contents from an URL in the current buffer.
If FOLLOW-REFRESH is non-nil, redirect refresh url in META.
(defalias 'nnweb-insert #[(url &optional follow-refresh) "\n\203, \214``}\210\304!\210eb\210\305\306\307\310#\203( \311\312!ed|\210\313\310\"\210))\2020 \304!\210	\211)\207" [buffer-file-name name follow-refresh url url-insert-file-contents re-search-forward "<meta[ 	\n]*http-equiv=\"Refresh\"[^>]*URL=\\([^\"]+\\)\"" nil t match-string 1 nnweb-insert] 4 (#$ . 25839)])
#@36 Find the element of TYPE in PARSE.
(defalias 'nnweb-parse-find #[(type parse &optional maxdepth) "\300\301\215\207" [found (nnweb-parse-find-1 type parse maxdepth)] 2 (#$ . 26339)])
(defalias 'nnweb-parse-find-1 #[(type contents maxdepth) "\203 \305!?\205F 	:\205F 	@\n=\203 \306\307	\"\210	A<\205F 	\310\211\203D \f@\211:\203= \311\n\205; S#\210\fA\211\204* *\310\207" [maxdepth contents type element #1=#:--dolist-temp--97326 zerop throw found nil nnweb-parse-find-1] 5])
#@37 Find all elements of TYPE in PARSE.
(defalias 'nnweb-parse-find-all #[(type parse) "\300\301\215\207" [found (nnweb-parse-find-all-1 type parse)] 2 (#$ . 26830)])
(defalias 'nnweb-parse-find-all-1 #[(type contents) "\305	:\203: 	@\n=\203 	B\202: 	A<\203: 	\305\211\2039 \f@\211:\2032 \306\n\"\244\fA\211\204# *)\207" [result contents type element #1=#:--dolist-temp--97327 nil nnweb-parse-find-all-1] 5])
(byte-code "\301B\301\207" [current-load-list nnweb-text] 2)
#@42 Return a list of text contents in PARSE.
(defalias 'nnweb-text #[(parse) "\302\303	!\210\237)\207" [nnweb-text parse nil nnweb-text-1] 2 (#$ . 27316)])
(defalias 'nnweb-text-1 #[(contents) "\304\211\203- \n@\211;\203 	B\202& 	:\203& 	A<\203& \305	!\210\nA\211\204 *\304\207" [contents element #1=#:--dolist-temp--97328 nnweb-text nil nnweb-text-1] 3])
(defalias 'nnweb-replace-in-string #[(string match newtext) "\303	\"\203 \304\n\305\211	$\202  	\207" [match string newtext string-match replace-match t] 5])
(provide 'nnweb)
