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



(require 'outline)#@124 List of start and end markers for the folds currently entered.
An end marker of nil means the fold ends after (point-max).
(defvar foldout-fold-list nil (#$ . 103))
(make-variable-buffer-local 'foldout-fold-list)#@61 Mode line string announcing that we are in an outline fold.
(defvar foldout-mode-line-string nil (#$ . 321))
(byte-code "\301\302!\210\302\236\204  \303\236>\304\204 \305\306!\210A\244\241\266\301\207" [minor-mode-alist make-variable-buffer-local foldout-mode-line-string outline-minor-mode ((foldout-mode-line-string foldout-mode-line-string)) error "Can't find outline-minor-mode in minor-mode-alist"] 5)#@376 Open the subtree under the current heading and narrow to it.

Normally the body and the immediate subheadings are exposed, but
optional arg EXPOSURE (interactively with prefix arg) changes this:-

        EXPOSURE > 0	exposes n levels of subheadings (c.f. `show-children')
	EXPOSURE < 0	exposes only the body
	EXPOSURE = 0	exposes the entire subtree

(fn &optional EXPOSURE)
(defalias 'foldout-zoom-subtree #[256 "\212~\210\301 \210\302!`\303 \304 \210\305\306w\210`m?\205 \307 T\306\223}\210b\210\2043 \310 \210\311 \210\202Z \312W\203? \310 \210\202Z :\203J \311 \210\202Z \312V\203W \311!\210\202Z \313 \210BB\314 \266\205)\207" [foldout-fold-list outline-back-to-heading prefix-numeric-value point-marker outline-end-of-subtree "\n" nil make-marker outline-show-entry outline-show-children 0 outline-show-subtree foldout-update-mode-line] 8 (#$ . 743) "P"])#@209 Return to the ARG'th enclosing fold view.  With ARG = 0 exit all folds.

Normally causes exited folds to be hidden, but with ARG < 0, -ARG folds are
exited and text is left visible.

(fn &optional NUM-FOLDS)
(defalias 'foldout-exit-fold #[256 "\301\302\211\211\211\204 \303\304!\210\305U\203 G\262\202' \305W\203' \302\262[\262G^\262~\210\305U\204\232 @@\262@A\262AS\262\203Y b\210\306u\210h\307>\204Y \310c\210\305U\203\211 \203u `\262\306u\210h\311>\203r \306u\210`\262\203 b\210\312 \210\203\211 \313\302#\210\302\211\223\210\203/ \302\211\223\210\202/ \203\267 @@\262@A\262\203\264 \314!S\202\265 d}\210\315 \210\316 \207" [foldout-fold-list t nil error "Not in a fold!" 0 -1 (10 13) 10 (10 13) outline-hide-subtree outline-flag-region marker-position recenter foldout-update-mode-line] 10 (#$ . 1627) "p"])#@47 Set the mode line to indicate our fold depth.
(defalias 'foldout-update-mode-line #[0 "G\211\303U\203\f \304\202% 	\203 \305\306\"\202% \211\307U\203! \310\202% \305\311\"\211\207" [foldout-fold-list outline-minor-mode foldout-mode-line-string 0 nil format ":%d" 1 " Inside 1 fold" " Inside %d folds"] 4 (#$ . 2489)])#@215 Zoom in on the heading clicked on.

How much is exposed by the zoom depends on the number of mouse clicks:-

	1	expose body
	2	expose subheadings
	3	expose body and subheadings
	4	expose entire subtree

(fn EVENT)
(defalias 'foldout-mouse-zoom #[257 "\300!\262\301!\210\302\211:\203 \3038\250\203 \3038\262\202\" \304\262\211\304U\203, \305\202A \211\303U\2036 \306\202A \211\307U\203@ \310\202A \311\262!\207" [foldout-mouse-swallow-events foldout-mouse-goto-heading foldout-zoom-subtree 2 1 -1 (1) 3 nil 0] 5 (#$ . 2818) "@e"])#@216 Show what is hidden under the heading clicked on.

What gets exposed depends on the number of mouse clicks:-

	1	expose body
	2	expose subheadings
	3	expose body and subheadings
	4	expose entire subtree

(fn EVENT)
(defalias 'foldout-mouse-show #[257 "\300!\262\301!\210\211\211:\203 \3028\250\203 \3028\262\202! \303\262\211\303U\203* \304 \207\211\302U\2033 \305 \207\211\306U\203? \304 \210\305 \207\307 \207" [foldout-mouse-swallow-events foldout-mouse-goto-heading 2 1 outline-show-entry outline-show-children 3 outline-show-subtree] 4 (#$ . 3365) "@e"])#@239 Hide the subtree under the heading clicked on, or exit a fold.

What happens depends on the number of mouse clicks:-

	1	hide subtree
	2	exit fold and hide text
	3	exit fold without hiding text
	4	exit all folds and hide text

(fn EVENT)
(defalias 'foldout-mouse-hide-or-exit #[257 "\300!\262\211\211:\203 \3018\250\203 \3018\262\202 \302\262\211\302U\203* \303!\210\304 \207\305\301U\2035 \302\202@ \306U\203? \307\202@ \310!\207" [foldout-mouse-swallow-events 2 1 foldout-mouse-goto-heading outline-hide-subtree foldout-exit-fold 3 -1 0] 5 (#$ . 3940) "@e"])#@157 Swallow intervening mouse events so we only get the final click-count.
Signal an error if the final event isn't the same type as the first one.

(fn EVENT)
(defalias 'foldout-mouse-swallow-events #[257 "\300!\301\302 \303\245\304\"\204 \305 \262\202 \211\300!=\204  \306\307!\210\210\207" [event-basic-type sit-for mouse-double-click-time 1000.0 nodisplay read--potential-mouse-event error ""] 5 (#$ . 4519)])#@118 Go to the heading where the mouse EVENT started.
Signal an error if the event didn't occur on a heading.

(fn EVENT)
(defalias 'foldout-mouse-goto-heading #[257 "\300\301!!b\210\302 \206 \212\303 \210o)\206 \304\305!\207" [posn-point event-start outline-on-heading-p beginning-of-line error "Not a heading line"] 4 (#$ . 4940)])#@61 Set non-nil before loading foldout to inhibit key bindings.
(defvar foldout-inhibit-key-bindings nil (#$ . 5277))#@212 List of modifier keys to apply to foldout's mouse events.

The default (meta control) makes foldout bind its functions to
M-C-down-mouse-{1,2,3}.

Valid modifiers are shift, control, meta, alt, hyper and super.
(defvar foldout-mouse-modifiers '(meta control) (#$ . 5397))
(byte-code "\204p \305	\306\307#\210\305	\310\311#\210\312\n\"\211\204\" \313 \262\305\n#\210\305\314\307#\210\305\315\311#\266\316\317\320\321\f\"\"\322\323\324P!!\322\323\325P!!\322\323\326P!!\305	\327#\210\305	\330#\210\305	\331#\210\305\n\327#\210\305\n\330#\210\305\n\331#\266\305\207" [foldout-inhibit-key-bindings outline-mode-map outline-minor-mode-map outline-minor-mode-prefix foldout-mouse-modifiers define-key "" foldout-zoom-subtree "" foldout-exit-fold lookup-key make-sparse-keymap "" "" apply concat mapcar #[257 "\300\301\267\202 \302\202# \303\202# \304\202# \305\202# \306\202# \307\202# \310\311\"\312\"\207" [vector #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (shift 7 control 11 meta 15 alt 19 hyper 23 super 27)) 83 67 77 65 72 115 error "Invalid mouse modifier %s" 45] 5 "\n\n(fn MODIFIER)"] vector intern "down-mouse-1" "down-mouse-2" "down-mouse-3" foldout-mouse-zoom foldout-mouse-show foldout-mouse-hide-or-exit] 8)
(defconst foldout-hide-flag t)
(make-obsolete-variable 'foldout-hide-flag nil "28.1")
(defconst foldout-show-flag nil)
(byte-code "\300\301\302\303#\210\304\305!\207" [make-obsolete-variable foldout-show-flag nil "28.1" provide foldout] 4)
