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



(require 'nnheader)
(defvar nnoo-definition-alist nil)
(defvar nnoo-state-alist nil)
(defvar nnoo-parent-backend nil)#@102 The same as `defvar', only takes list of variables to MAP to.

(fn VAR INIT &optional DOC &rest MAP)
(defalias 'defvoo '(macro . #[898 "\300\203 \301\302PF\202 \301E\303\304D\304DEE\207" [prog1 defvar "\n\nThis is a Gnus server variable.  See Info node `(gnus)Select Methods'." nnoo-define quote] 10 (#$ . 202)]))
(byte-code "\300\301\302\303#\300\301\304\305#\306\301\307\310#\207" [function-put defvoo lisp-indent-function 2 doc-string-elt 3 put edebug-form-spec (var init &optional doc &rest map)] 6)#@70 The same as `defun', only register FUNC.

(fn FUNC ARGS &rest FORMS)
(defalias 'deffoo '(macro . #[642 "\300\301BBB\302\303DDE\207" [prog1 defun nnoo-register-function quote] 8 (#$ . 722)]))
(byte-code "\300\301\302\303#\300\301\304\305#\306\301\307\310#\207" [function-put deffoo lisp-indent-function 2 doc-string-elt 3 put edebug-form-spec (&define name lambda-list def-body)] 6)#@16 

(fn FUN VAL)
(defalias 'noo--defalias #[514 "\300\"\301!\210\207" [defalias nnoo-register-function] 5 (#$ . 1114)])#@13 

(fn FUNC)
(defalias 'nnoo-register-function #[257 "\301\302\303!\"\233\211\204 \304\305\"\210\211@B\240\207" [nnoo-definition-alist 3 assoc nnoo-backend error "%s belongs to a backend that hasn't been declared"] 5 (#$ . 1240)])#@30 

(fn BACKEND &rest PARENTS)
(defalias 'nnoo-declare '(macro . #[385 "\300\301\302\303D\304BB\305\306\302\303D\307BBD\310\311\303DEE\312\313\303D\310\314\303\nDE\315BBB\316BBF\317\302\303D\320BB\312\313\303D\321BB\322BBEE\207" [eval-and-compile if assq quote (nnoo-definition-alist) setcar cdr (nnoo-definition-alist) mapcar #'list push list #'list (nil nil) (nnoo-definition-alist) unless (nnoo-state-alist) ("*internal-non-initialized-backend*") (nnoo-state-alist)] 13 (#$ . 1481)]))
(byte-code "\300\301\302\303#\300\207" [function-put nnoo-declare lisp-indent-function 1] 4)#@16 

(fn BACKEND)
(defalias 'nnoo-parents #[257 "\301\"A@\207" [nnoo-definition-alist assoc] 4 (#$ . 2077)])#@16 

(fn BACKEND)
(defalias 'nnoo-variables #[257 "\301\302\"8\207" [nnoo-definition-alist 2 assoc] 5 (#$ . 2190)])#@16 

(fn BACKEND)
(defalias 'nnoo-functions #[257 "\301\302\"8\207" [nnoo-definition-alist 3 assoc] 5 (#$ . 2310)])#@30 

(fn BACKEND &rest IMPORTS)
(defalias 'nnoo-import '(macro . #[385 "\300\301D\301DE\207" [nnoo-import-1 quote] 6 (#$ . 2430)]))
(byte-code "\300\301\302\303#\300\207" [function-put nnoo-import lisp-indent-function 1] 4)#@24 

(fn BACKEND IMPORTS)
(defalias 'nnoo-import-1 #[514 "\211@9\203 \211A\262\242\202 \300\211\205O \211@\211A\206  \301@!\211\203G \211@\302\303!\"\304!\204? \305\306\307\n$\"\210\210A\266\202\202  \210A\266\202\202 \207" [nnoo-parent-function nnoo-functions nnoo-symbol nnoo-rest-symbol fboundp noo--defalias make-closure #[128 "\301\302\300#\207" [V0 V1 V2] 5 "\n\n(fn &rest ARGS)"]] 15 (#$ . 2658)])#@30 

(fn BACKEND FUNCTION ARGS)
(defalias 'nnoo-parent-function #[771 "\301!\302\303!\304!\236A#\210\305\"\304!\236A\211\2034 \211@A@@@JL\210\211A\262\202 )\210\207" [nnoo-parent-backend nnoo-backend nnoo-change-server nnoo-current-server nnoo-parents apply] 10 (#$ . 3084)])#@74 Execute FUNCTION on behalf of BACKEND.

(fn BACKEND FUNCTION &rest ARGS)
(defalias 'nnoo-execute #[642 "\301!\302\303!\304!\236A#\210\305\"\304!\236A\211\2034 \211@A@@@JL\210\211A\262\202 )\210\207" [nnoo-parent-backend nnoo-backend nnoo-change-server nnoo-current-server nnoo-parents apply] 10 (#$ . 3379)])#@27 

(fn BACKEND &rest MAPS)
(defalias 'nnoo-map-functions '(macro . #[385 "\300\301\302\303\"\"B\207" [progn mapcar make-closure #[257 "\301AG\302\211W\203* \211A8\247\203 \303\304BB\202 \211A8B\262\211T\262\202 \266\305\306\300\307@!\"\310\311\312\313\300D\313@D\314\237BF\257\207" [V0 nil 0 nth (args) deffoo nnoo-symbol nnoo-rest-symbol (&rest args) (ignore args) nnoo-parent-function quote list] 11 "\n\n(fn M)"]] 7 (#$ . 3710)]))
(byte-code "\300\301\302\303#\300\207" [function-put nnoo-map-functions lisp-indent-function 1] 4)#@15 

(fn SYMBOL)
(defalias 'nnoo-backend #[257 "\300\301\302!\"\210\303\302!\304\211\225SO!\207" [string-match "^[^-]+-" symbol-name intern 0] 5 (#$ . 4267)])#@15 

(fn SYMBOL)
(defalias 'nnoo-rest-symbol #[257 "\300\301\302!\"\210\303\302!\304\225\305O!\207" [string-match "^[^-]+-" symbol-name intern 0 nil] 5 (#$ . 4430)])#@23 

(fn BACKEND SYMBOL)
(defalias 'nnoo-symbol #[514 "\300\301\302#!\207" [intern format "%s-%s"] 7 (#$ . 4600)])#@16 

(fn VAR MAP)
(defalias 'nnoo-define #[514 "\301!\211\236\211A@\204 \302\303\"\210AA\304\3058\236\3058\"\240\210AA\211JB\3058B\240\210\205I \301@!\236\211A\262\242DC\244\210\2020 \207" [nnoo-definition-alist nnoo-backend error "%s belongs to a backend that hasn't been declared" delq 2] 10 (#$ . 4719)])#@28 

(fn BACKEND SERVER DEFS)
(defalias 'nnoo-change-server #[771 "\236A\211@\302!	\203 \303\304	#\202 \305!\306\211\2041 	\306D\211\262BA\262\232\204\322 \307\n\"\210\310AA\"A\206N \305\n!\262\203c @@@AL\210A\262\202P \240\210\310AA\"A\204\263 \211A\262	\242\211\262\203\263 \211@\236\204\230 @\311@!\205\224 @JBC\244\210\312\232\203\251 \211@A@JL\210\202s \211@A@L\210\202s \203\322 \313@@\303\304#\314\315	@A\"#\210A\262\202\263 \266\316\207" [nnoo-state-alist nnoo-parent-backend nnoo-parents format "%s+%s" nnoo-variables nil nnoo-push-server assoc boundp "*internal-non-initialized-backend*" nnoo-change-server mapcar #[257 "\211@A@JD\207" [] 3 "\n\n(fn DEF)"] t] 16 (#$ . 5050)])#@24 

(fn BACKEND CURRENT)
(defalias 'nnoo-push-server #[514 "\236\301!A\302\303AA\"AA\"\241\210\304\232\2036 \301!\305\211A\262\242\211\262\2034 \211@J\241\210\202 \266\305\203N @@@@JBB\262A\262\2027 BC\244\207" [nnoo-state-alist nnoo-variables delq assoc "*internal-non-initialized-backend*" nil] 9 (#$ . 5802)])#@23 

(fn BACKEND SERVER)
(defalias 'nnoo-current-server-p #[514 "\301!\203 \302\303#\202 \232\207" [nnoo-parent-backend nnoo-current-server format "%s+%s"] 7 (#$ . 6143)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put nnoo-current-server-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@16 

(fn BACKEND)
(defalias 'nnoo-current-server #[257 "\211\236A@\207" [nnoo-state-alist] 3 (#$ . 6471)])#@33 

(fn BACKEND &optional SERVER)
(defalias 'nnoo-close-server #[513 "\211\204	 \301!\262\211\203= \236A\302A\"\203; \303\240\210\304A\"\241\210\211A\262\211\203; \211A\262\242@\303L\210\202* \266\305\207" [nnoo-state-alist nnoo-current-server assoc nil delq t] 8 (#$ . 6581)])#@16 

(fn BACKEND)
(defalias 'nnoo-close #[257 "\301\236\"\302\207" [nnoo-state-alist delq t] 4 (#$ . 6877)])#@23 

(fn BACKEND SERVER)
(defalias 'nnoo-status-message #[514 "\300!\207" [nnheader-get-report] 4 (#$ . 6992)])#@23 

(fn BACKEND SERVER)
(defalias 'nnoo-server-opened #[514 "\302!\203 \303\304#\202 \232\266\202\205 \305	!\207" [nnoo-parent-backend nntp-server-buffer nnoo-current-server format "%s+%s" buffer-live-p] 9 (#$ . 7107)])#@76 Define `close-server', `server-opened' and `status-message'.

(fn BACKEND)
(defalias 'nnoo-define-basics '(macro . #[257 "\300\301\302\303\304\305\"\306\"\307\310\311\"\312\310\313\311\"\314	D\315BBF\307\310\316\"\317\320\314\nD\321BBFD\"BB\322\301\"\210\207" [when t append mapcar make-closure #[257 "\301\302\300\"\303\302\304\"\305\300D\306BBF\207" [V0 deffoo nnoo-symbol (&optional server) nnoo quote (server)] 7 "\n\n(fn FUN)"] (server-opened status-message) deffoo nnoo-symbol close-server (&optional server _defs) nnoo quote (server) open-server (server &optional defs) nnoo-change-server (server defs) eval] 12 (#$ . 7340)]))#@117 Define all required backend functions for BACKEND.
All functions will return nil and report an error.

(fn BACKEND)
(defalias 'nnoo-define-skeleton '(macro . #[257 "\300\301\302DDD\207" [eval-and-compile nnoo-define-skeleton-1 quote] 5 (#$ . 7991)]))#@16 

(fn BACKEND)
(defalias 'nnoo-define-skeleton-1 #[257 "\300\211\205) \211@\301\"\302!\204! \303\304#\305\306\307	#\"\266\210A\266\202\202 \207" [(retrieve-headers request-close request-article request-group close-group request-list request-post request-list-newsgroups) nnoo-symbol fboundp format "%s-%s not implemented" noo--defalias make-closure #[128 "\302\301\300\"\207" [V0 V1 nnheader-report] 4 "\n\n(fn &rest ARGS)"]] 11 (#$ . 8248)])#@26 

(fn SERVER &rest ARGS)
(defalias 'nnoo-set #[385 "\301@!@\211\203 \302@@A@@A#\210\211A\262\202 )\210\302@A@AA#\210\211\205@ \211A\262\242\211A\262\242L\210\202+ \207" [nnoo-parent-backend nnoo-parents nnoo-change-server] 7 (#$ . 8707)])
(provide 'nnoo)
