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



(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require map taxy magit-section] 2)#@40 Default heading indentation per level.
(defvar taxy-magit-section-level-indent 2 (#$ . 172))#@37 Default item indentation per level.
(defvar taxy-magit-section-item-indent 2 (#$ . 270))#@60 Bound to current depth around calls to a taxy's format-fn.
(defvar taxy-magit-section-depth nil (#$ . 364))#@236 Whether to indent items in `taxy-magit-section-insert'.
May be disabled when `taxy-magit-section-insert' should not
indent items itself, e.g. if items are pre-indented.  Note that
this does not disable indentation of section headings.
(defvar taxy-magit-section-insert-indent-items t (#$ . 478))#@77 compiler-macro for inlining `taxy-magit-section-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-p (and (memq (type-of cl-x) cl-struct-taxy-magit-section-tags) t)) nil] 9 (#$ . 779)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-p compiler-macro taxy-magit-section-p--cmacro] 4)#@13 

(fn CL-X)
(defalias 'taxy-magit-section-p #[257 "\301!>\205	 \302\207" [cl-struct-taxy-magit-section-tags type-of t] 3 (#$ . 1213)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\301#\300\207" [function-put taxy-magit-section-p side-effect-free error-free pure t define-symbol-prop taxy-magit-section cl-deftype-satisfies] 6)#@80 compiler-macro for inlining `taxy-magit-section-name'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-name (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 1))) nil] 9 (#$ . 1561)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-name compiler-macro taxy-magit-section-name--cmacro] 4)#@68 Access slot "name" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-name #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 1] 5 (#$ . 2064)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-name side-effect-free t] 4)#@87 compiler-macro for inlining `taxy-magit-section-description'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-description--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-description (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 2))) nil] 9 (#$ . 2435)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-description compiler-macro taxy-magit-section-description--cmacro] 4)#@75 Access slot "description" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-description #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 2] 5 (#$ . 2973)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-description side-effect-free t] 4)#@79 compiler-macro for inlining `taxy-magit-section-key'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-key--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-key (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 3))) nil] 9 (#$ . 3365)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-key compiler-macro taxy-magit-section-key--cmacro] 4)#@67 Access slot "key" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-key #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 3] 5 (#$ . 3863)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-key side-effect-free t] 4)#@81 compiler-macro for inlining `taxy-magit-section-items'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-items--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-items (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 4))) nil] 9 (#$ . 4231)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-items compiler-macro taxy-magit-section-items--cmacro] 4)#@69 Access slot "items" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-items #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 4] 5 (#$ . 4739)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-items side-effect-free t] 4)#@81 compiler-macro for inlining `taxy-magit-section-taxys'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-taxys--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-taxys (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 5))) nil] 9 (#$ . 5113)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-taxys compiler-macro taxy-magit-section-taxys--cmacro] 4)#@69 Access slot "taxys" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-taxys #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 5] 5 (#$ . 5621)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-taxys side-effect-free t] 4)#@85 compiler-macro for inlining `taxy-magit-section-predicate'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-predicate--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-predicate (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 6))) nil] 9 (#$ . 5995)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-predicate compiler-macro taxy-magit-section-predicate--cmacro] 4)#@73 Access slot "predicate" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-predicate #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 6] 5 (#$ . 6523)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-predicate side-effect-free t] 4)#@80 compiler-macro for inlining `taxy-magit-section-then'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-then--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-then (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 7))) nil] 9 (#$ . 6909)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-then compiler-macro taxy-magit-section-then--cmacro] 4)#@68 Access slot "then" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-then #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 7] 5 (#$ . 7412)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-then side-effect-free t] 4)#@80 compiler-macro for inlining `taxy-magit-section-make'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-make--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-make (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 8))) nil] 9 (#$ . 7783)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-make compiler-macro taxy-magit-section-make--cmacro] 4)#@68 Access slot "make" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-make #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 8] 5 (#$ . 8286)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-make side-effect-free t] 4)#@80 compiler-macro for inlining `taxy-magit-section-take'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-take--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-take (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 9))) nil] 9 (#$ . 8657)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-take compiler-macro taxy-magit-section-take--cmacro] 4)#@68 Access slot "take" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-take #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 9] 5 (#$ . 9160)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-take side-effect-free t] 4)#@89 compiler-macro for inlining `taxy-magit-section-visibility-fn'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-visibility-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-visibility-fn (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 10))) nil] 9 (#$ . 9531)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-visibility-fn compiler-macro taxy-magit-section-visibility-fn--cmacro] 4)#@77 Access slot "visibility-fn" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-visibility-fn #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 10] 5 (#$ . 10080)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-visibility-fn side-effect-free t] 4)#@91 compiler-macro for inlining `taxy-magit-section-heading-face-fn'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-heading-face-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-heading-face-fn (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 11))) nil] 9 (#$ . 10480)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-heading-face-fn compiler-macro taxy-magit-section-heading-face-fn--cmacro] 4)#@79 Access slot "heading-face-fn" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-heading-face-fn #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 11] 5 (#$ . 11040)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-heading-face-fn side-effect-free t] 4)#@88 compiler-macro for inlining `taxy-magit-section-level-indent'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-level-indent--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-level-indent (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 12))) nil] 9 (#$ . 11446)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-level-indent compiler-macro taxy-magit-section-level-indent--cmacro] 4)#@76 Access slot "level-indent" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-level-indent #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 12] 5 (#$ . 11991)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-level-indent side-effect-free t] 4)#@87 compiler-macro for inlining `taxy-magit-section-item-indent'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-item-indent--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-item-indent (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 13))) nil] 9 (#$ . 12388)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-item-indent compiler-macro taxy-magit-section-item-indent--cmacro] 4)#@75 Access slot "item-indent" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-item-indent #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 13] 5 (#$ . 12928)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-item-indent side-effect-free t] 4)#@85 compiler-macro for inlining `taxy-magit-section-format-fn'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'taxy-magit-section-format-fn--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block taxy-magit-section-format-fn (progn (or (taxy-magit-section-p cl-x) (signal 'wrong-type-argument (list 'taxy-magit-section cl-x))) (aref cl-x 14))) nil] 9 (#$ . 13322)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop taxy-magit-section-format-fn compiler-macro taxy-magit-section-format-fn--cmacro] 4)#@73 Access slot "format-fn" of `taxy-magit-section' struct CL-X.

(fn CL-X)
(defalias 'taxy-magit-section-format-fn #[257 "\301!>\204 \302\303\304D\"\210\211\305H\207" [cl-struct-taxy-magit-section-tags type-of signal wrong-type-argument taxy-magit-section 14] 5 (#$ . 13852)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put taxy-magit-section-format-fn side-effect-free t defalias copy-taxy-magit-section copy-sequence] 4)#@209 compiler-macro for inlining `make-taxy-magit-section'.

(fn CL-WHOLE &cl-quote &key NAME DESCRIPTION KEY ITEMS TAXYS PREDICATE THEN MAKE TAKE VISIBILITY-FN HEADING-FACE-FN LEVEL-INDENT ITEM-INDENT FORMAT-FN)
(defalias 'make-taxy-magit-section--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"\206' \307A@\300\310\"\2062 \311A@\300\312\"\206= \313A@\300	\314\"A@\300\n\315\"\206O \316A@\300\317\"\206Z \320A@\300\f\321\"\206e \322A@\300\323\"\206p \324A@\300\325\"\206{ \326A@\211\203\265 \211@\327>\203\235 \211A\204\225 \330\331@\"\210\211AA\262\202 \332>A@\203\254 \333\262\202 \330\334@\"\210\202 \210\335\336\337\333\333&\207" [plist-member :name :description :key :items :taxys :predicate (nil #'identity) :then (nil #'ignore) :make (nil #'make-taxy-magit-section) :take :visibility-fn (nil #'taxy-magit-section-visibility) :heading-face-fn (nil (lambda (_depth) 'magit-section-heading)) :level-indent (nil 2) :item-indent (nil 2) :format-fn (nil #'prin1-to-string) (:name :description :key :items :taxys :predicate :then :make :take :visibility-fn :heading-face-fn :level-indent :item-indent :format-fn :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:name :description :key :items :taxys :predicate :then :make :take :visibility-fn :heading-face-fn :level-indent :item-indent :format-fn)" cl--defsubst-expand (name description key items taxys predicate then make take visibility-fn heading-face-fn level-indent item-indent format-fn) (cl-block make-taxy-magit-section (record 'taxy-magit-section name description key items taxys predicate then make take visibility-fn heading-face-fn level-indent item-indent format-fn))] 36 (#$ . 14298)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop make-taxy-magit-section compiler-macro make-taxy-magit-section--cmacro] 4)#@189 Constructor for objects of type `taxy-magit-section'.

(fn &key NAME DESCRIPTION KEY ITEMS TAXYS PREDICATE THEN MAKE TAKE VISIBILITY-FN HEADING-FACE-FN LEVEL-INDENT ITEM-INDENT FORMAT-FN)
(defalias 'make-taxy-magit-section #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"\206' \307A@\300\310\"\2062 \311A@\300\312\"\206= \313A@\300	\314\"A@\300\n\315\"\206O \316A@\300\317\"\206\\ \320\321DA@\300\f\322\"\206g \323A@\300\324\"\206r \325A@\300\326\"\206} \327A@\211\203\267 \211@\330>\203\237 \211A\204\227 \331\332@\"\210\211AA\262\202\201 \333>A@\203\256 \320\262\202\201 \331\334@\"\210\202\201 \210\335\336&\207" [plist-member :name :description :key :items :taxys :predicate (nil identity) :then (nil ignore) :make (nil make-taxy-magit-section) :take :visibility-fn (nil taxy-magit-section-visibility) :heading-face-fn nil #[257 "\300\207" [magit-section-heading] 2 "\n\n(fn DEPTH)"] :level-indent (nil 2) :item-indent (nil 2) :format-fn (nil prin1-to-string) (:name :description :key :items :taxys :predicate :then :make :take :visibility-fn :heading-face-fn :level-indent :item-indent :format-fn :allow-other-keys) error "Missing argument for %s" :allow-other-keys "Keyword argument %s not one of (:name :description :key :items :taxys :predicate :then :make :take :visibility-fn :heading-face-fn :level-indent :item-indent :format-fn)" record taxy-magit-section] 31 (#$ . 16241)])
(byte-code "\300\301\302\303\304\302\305\306\301\307&	\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\302\211$\207" [cl-struct-define taxy-magit-section nil taxy record ((cl-tag-slot) (name nil) (description nil) (key nil) (items nil) (taxys nil) (predicate #'identity) (then #'ignore) (make #'make-taxy-magit-section) (take nil) (visibility-fn #'taxy-magit-section-visibility) (heading-face-fn (lambda (_depth) 'magit-section-heading)) (level-indent 2) (item-indent 2) (format-fn #'prin1-to-string)) cl-struct-taxy-magit-section-tags t defalias taxy-magit-section-section-p eieio-make-class-predicate taxy-magit-section-section taxy-magit-section-section--eieio-childp eieio-make-child-predicate taxy-magit-section-section-child-p make-obsolete "use (cl-typep ... 'taxy-magit-section-section) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (magit-section)] 10)#@83 Create a new object of class type `taxy-magit-section-section'.

(fn &rest SLOTS)
(defalias 'taxy-magit-section-section #[128 "\300\301\302#\207" [apply make-instance taxy-magit-section-section] 5 (#$ . 18686)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-section compiler-macro taxy-magit-section-section--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'taxy-magit-section-section--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 19043)])
(cl-generic-define-method 'magit-section-ident-value nil '((section taxy-magit-section-section)) 'curried #[257 "\300!\210\301\302\303\"\207" [cl--generic-isnot-nnm-p nil make-closure #[128 "\301\302\300#\303\304#\207" [V0 make-closure #[128 "\302\301\206 \300\"\207" [V0 V1 apply] 4 "\n\n(fn &rest ARGS)"] apply #[514 "\301\302\"\303!>\203 \303!>\204 \304\305\306D\"\210\211\307H\207 \207" [cl-struct-taxy-tags eieio-oref value type-of signal wrong-type-argument taxy 1] 7 "\n\n(fn CL--CNM SECTION)"]] 6 "\n\n(fn SECTION)"]] 5 "\n\n(fn CL--NM)"])#@733 Insert a `magit-section' for TAXY into current buffer.
If ITEMS is `first', insert a taxy's items before its descendant
taxys; if `last', insert them after descendants.  INITIAL-DEPTH
is the initial indentation depth; it may be, e.g. -1 to make the
second level unindented.  BLANK-BETWEEN-DEPTH is the level up to
which blank lines are inserted between sections at that level.
SECTION-CLASS is passed to `magit-insert-section', which
see (this may be set to a custom subclass of `magit-section' in
order to define a custom `magit-section-ident-value' method so
that section visibility may be cached concisely).

(fn TAXY &key (ITEMS \='first) (INITIAL-DEPTH 0) (BLANK-BETWEEN-DEPTH 1) (SECTION-CLASS \='taxy-magit-section-section))
(defalias 'taxy-magit-section-insert #[385 "\305\306\"\206 \307A@\305\310\"\206 \311A@\305\312\"\206 \313A@\305\314\"\206& \315A@\211\203_ \211@\316>\203G \211A\204? \317\320@\"\210\211AA\262\202) \321>A@\203V \322\262\202) \317\323@\"\210\202) \210\324B\325\326\"\322C\211\325\327	\f&\240\210\330\331\322\211#\211\n\206\215 ?\205\215 \f\211\3322\240 \242\n\"\210\333!0+\210\211\262\334\322#)\207" [magit-section-set-visibility-hook magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section plist-member :items (nil first) :initial-depth (nil 0) :blank-between-depth (nil 1) :section-class (nil taxy-magit-section-section) (:items :initial-depth :blank-between-depth :section-class :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:items :initial-depth :blank-between-depth :section-class)" taxy-magit-section-visibility make-closure #[771 "\305\300\306#\211\n\206 ?\205 \f\211\3072B \310\311$\312	\313\"\203: \314	\315	\310\316#\262#\266\202> \211 \266\317!0+\210\207" [V0 magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-insert-section--create nil cancel-section make-closure #[0 "\305\301!>\204 \306\307\310\301D\"\210\301\311H\302!\f\203 \300\312W\203\" \312\202I \300\305\301!>\2042 \306\307\310\301D\"\210\301\313H_\305\301!>\204E \306\307\310\301D\"\210\301\314H\\\315\316\"\317\312G\320\312\"$\210\211\321\261\207" [V0 V1 V2 cl-struct-taxy-magit-section-tags taxy-magit-section-insert-indent-items type-of signal wrong-type-argument taxy-magit-section 14 0 12 13 make-string 32 add-text-properties text-properties-at "\n"] 9] eieio-oref hidden eieio-oset washer #[0 "\302\300\303\"\211\211\203 \211@\304\305\306\"\303\"\210A\266\202\202 \210\301 \210\211\211\2034 \211@\304\305\306\"\307\"\210A\266\202\202 \210\310\300!\210\311\300!\210\312\300!\207" [V0 V1 magit-section-lineage t set-marker-insertion-type eieio-oref end nil magit-section--set-section-properties magit-section-maybe-remove-heading-map magit-section-maybe-remove-visibility-indicator] 7] magit-insert-section--finish] 13 "\n\n(fn ITEM TAXY DEPTH)"] #[514 "\306!)>\204 \307\310\311D\"\210\312H\306!)>\204% \307\310\311D\"\210\313H\314\306!*>\204; \307\310\315D\"\210\316H!+,\317\320G\306	!)>\204] \307\310\311D\"\210\321H!\322%\210\306!)>\203\242 \306!)>\204\204 \307\310\311D\"\210\323H\203\242 \306!)>\204\234 \307\310\311D\"\210\323HB\324\325\302\326#\211-.\206\274 /?\205\274 00.\211/\3272e\330\331\320W\203\322 \320\202\324 \306!)>\204\346 \307\310\311D\"\210\n\312H_\332\"\333\334\306!*>\204\307\310\315D\"\210\f\335H\203$\306!*>\204\307\310\315D\"\210\f\335H\336P\202%\337\340!##\210\341\342\n\300\301\304&\343-\344\"\203S\324-\345-\341\346#\262#\266\202W\211 \266\303X\203a\347c\210\350!0+\210\211\262\345\326#+\207" [V0 V1 V2 V3 V4 magit-section-set-visibility-hook type-of signal wrong-type-argument taxy-magit-section 12 13 copy-sequence taxy 1 add-face-text-property 0 11 t 10 eieio-oset magit-insert-section--create nil cancel-section magit-insert-heading make-string 32 format " (%s%s)" 2 " " "" taxy-size make-closure #[0 "\304\306=\203, \307\301!>\204 \310\311\312\301D\"\210\301\313H\211\203+ \211@\303\301\300#\210A\266\202\202 \210\307\301!>\204; \310\311\312\301D\"\210\301\314H\211\203R \211@\302\242\300T\"\210A\266\202\202> \210\304\315=\205\200 \307\301!>\204h \310\311\312\301D\"\210\301\313H\211\205~ \211@\303\301\300#\210A\266\202\202k \262\207" [V0 V1 V2 V3 V4 cl-struct-taxy-tags first type-of signal wrong-type-argument taxy 4 5 last] 6] eieio-oref hidden washer #[0 "\302\300\303\"\211\211\203 \211@\304\305\306\"\303\"\210A\266\202\202 \210\301 \210\211\211\2034 \211@\304\305\306\"\307\"\210A\266\202\202 \210\310\300!\210\311\300!\210\312\300!\207" [V0 V1 magit-section-lineage t set-marker-insertion-type eieio-oref end nil magit-section--set-section-properties magit-section-maybe-remove-heading-map magit-section-maybe-remove-visibility-indicator] 7] "\n" magit-insert-section--finish cl-struct-taxy-magit-section-tags cl-struct-taxy-tags taxy-magit-section-item-indent taxy-magit-section-level-indent magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section] 17 "\n\n(fn TAXY DEPTH)"] eieio-oset magit-insert-section--create cancel-section magit-insert-section--finish washer] 16 (#$ . 19865)])
(byte-code "\300\301\302\303#\300\207" [function-put taxy-magit-section-insert lisp-indent-function defun] 4)#@100 Pretty-print TAXY into a buffer with `magit-section' and show it.

(fn TAXY &key (ITEMS \='first))
(defalias 'taxy-magit-section-pp #[385 "\301\302\"\206 \303A@\211\203@ \211@\304>\203) \211A\204! \305\306@\"\210\211AA\262\202 \307>A@\2037 \310\262\202 \305\311@\"\210\202 \210r\312\313!q\210\314 \210\315\316 \210\317\302#)\210\320p!)\207" [inhibit-read-only plist-member :items (nil first) (:items :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:items)" get-buffer-create "*taxy-magit-section-pp*" magit-section-mode t erase-buffer taxy-magit-section-insert pop-to-buffer] 7 (#$ . 25353)])#@123 Show SECTION if its taxy is non-empty.
Default visibility function for
`magit-section-set-visibility-hook'.

(fn SECTION)
(defalias 'taxy-magit-section-visibility #[257 "\301\302\"\303!>\205\" \304!\211\305=\203 \306\202  \307!\206  \310\262\207" [cl-struct-taxy-tags eieio-oref value type-of taxy-size 0 hide magit-section-cached-visibility show] 5 (#$ . 26024)])#@460 Define a column-defining macro.
The macro is named "PREFIX-define-column".

These customization options are defined, which are to be used in
a `taxy-magit-section' in its `:level-indent' and `:item-indent'
slots, respectively:

  - PREFIX-level-indent
  - PREFIX-item-indent

As well as these variables, which are to be passed to
`taxy-magit-section-format-items':

  - PREFIX-columns
  - PREFIX-column-formatters

(fn PREFIX &key COLUMNS-VARIABLE-DOCSTRING)
(defalias 'taxy-magit-section-define-column-definer '(macro . #[385 "\300\301\"A@\211\203< \211@\302>\203% \211A\204 \303\304@\"\210\211AA\262\202 \305>A@\2033 \306\262\202 \303\307@\"\210\202 \210\310\311\312\"!\311\313!\310\311\314\"!\311\315\"\310\311\316	\"!\311\317	\"\310\311\320\"!\206o \311\321\"\310\311\322\"!\311\323\n\"\324\325\326DD\327\326DDD\330\n\331\332BBBB\330	\331\n\333BBBB\334\306	F\334\306F\335\336\337\340\341\342\310\343\344BBDD\345\326DD\346\326DD\347\326DD\350\351\310\343!\352BBDD\353BBBBBB\354BB\257\257\207" [plist-member :columns-variable-docstring (:columns-variable-docstring :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:columns-variable-docstring)" intern format "%s-define-column" "Define a column formatting function with NAME.\nNAME should be a string.  BODY should return a string or nil.  In\nthe BODY, `item' is bound to the item being formatted, and `depth' is\nbound to the item's depth in the hierarchy.\n\nPLIST may be a plist setting the following options:\n\n  `:align' may be `left' or `right' to align the column\n  accordingly.\n\n  `:face' is a face applied to the string.\n\n  `:max-width' defines a customization option for the column's\n  maximum width with the specified value as its default: an\n  integer limits the width, while nil does not." "%s-level-indent" "Indentation applied to each level of depth for `%s' columns." "%s-item-indent" "Indentation applied to each item for `%s' columns." "%s-columns" "Columns defined by `%s'." "%s-column-formatters" "Column formatters defined by the macro:\n`%s'." let columns-variable quote column-formatters-variable defcustom 2 (:type 'integer) (:type 'integer) defvar defmacro (name plist &rest body) (declare (indent defun)) (cl-check-type name string) pcase-let* fn-name concat ("-column-format-" (downcase name)) columns-variable-name level-indent-variable-name item-indent-variable-name ((map (:face face) (:max-width max-width)) plist) max-width-variable ("-column-" name "-max-width") ((max-width-docstring (format "Maximum width of the %s column." name))) (`(progn ,(when (plist-member plist :max-width) `(defcustom ,max-width-variable ,max-width ,max-width-docstring :type '(choice (integer :tag "Maximum width") (const :tag "Unlimited width" nil)))) (defun ,fn-name (item depth) (if-let ((string (progn ,@body))) (progn ,(when max-width `(when ,max-width-variable (let ((old-string string) (new-string (truncate-string-to-width string ,max-width-variable nil nil t))) (unless (equal old-string new-string) (put-text-property 0 (length new-string) 'help-echo old-string new-string) (setf string new-string))))) ,(when face (cl-check-type face symbol ":face must be a face symbol") `(setf string (propertize string 'face ',face))) (when (equal ,name (car ,columns-variable-name)) (let ((indentation (make-string (+ (* depth ,level-indent-variable-name) ,item-indent-variable-name) 32))) (setf string (concat indentation string)))) string) "")) (setf (alist-get 'formatter (alist-get ,name ,column-formatters-variable nil nil #'equal)) #',fn-name) (setf (alist-get 'align (alist-get ,name ,column-formatters-variable nil nil #'equal)) ,(plist-get plist :align)) (unless (member ,name (get ',columns-variable 'standard-value)) (setf (get ',columns-variable 'standard-value) (append (get ',columns-variable 'standard-value) (list ,name)))) (cl-pushnew ,name (get ',columns-variable 'custom-type) :test #'equal)))] 36 (#$ . 26402)]))#@495 Return a cons (table . column-sizes) for COLUMNS, FORMATTERS, and TAXY.
COLUMNS is a list of column names, each of which should have an
associated formatting function in FORMATTERS.

Table is a hash table keyed by item whose values are display
strings.  Column-sizes is an alist whose keys are column names
and values are the column width.  Each string is formatted
according to `columns' and takes into account the width of all
the items' values for each column.

(fn COLUMNS FORMATTERS TAXY)
(defalias 'taxy-magit-section-format-items #[771 "\300 \301C\301C\301C\301C\302\303#\304\302\305	&\302\306\n$\301C\211\302\307#\240\210\211\242\310\f\"\210\242\237\211\301\211\211\211\211:\203\205 @\262\211A\262\242\262\311\242\301\211\312%\211\313\267\202i \314\202m \315\202m \316\317\"\262\262\320\321#B\262A\262\301\262\202A \237\266\206\322\323\324#\266\202\325\302\326#\"\210B\207" [make-hash-table nil make-closure #[257 "\302\303G\304\305%\211\203y \306\307\304#\211:\203t \211\242\211\310=\203n \243\305\301\311\240\210\312\313\305\300\242\206j \300\314 \305\211\211:\203a @\262\315!\203V \316!\317>\203V \262\305\211\262\202W \311\203a A\262\2025 \266\203\240\206j \320\321!#@!\207\301\"\207\301\"\207\301\305\240\210\322!\207" [V0 V1 text-property-not-all 0 display nil #[514 "\300\240\210\301!\207" [nil string-width] 4 "\n\n(fn IMAGE-P STRING)"] get-text-property image t floor image-size frame-list frame-visible-p framep (x w32 ns pgtk) error "taxy-magit-section-format-items: No graphical frame to calculate image size" string-width] 18 "\n\n(fn STRING)"] #[514 "\300\301\302G\303\304%\303#\305\306\307\"\303#\207" [get-text-property text-property-not-all 0 display nil propertize make-string 32] 9 "\n\n(fn STRING WIDTH)"] #[771 "\306\305\307\211\310%\306\311\"\211\"\312\303\242\"\206 \313!\301!]\31412 \315\303\242\307$0\266\202> \210\303\316\303\242	#\240\266\306\317\"\206G \320\3211Y \315\304\242\307$0\266\202e \210\304\316\304\242	#\240\266\302\242\203p \300\"\262\207" [V0 V1 V2 V3 V4 V5 alist-get nil equal formatter map-elt string-width (map-not-inplace) map-put! map-insert align left (map-not-inplace)] 14 "\n\n(fn ITEM DEPTH COLUMN-NAME)"] #[514 "\303\302\304\211:\203  @\262\300#B\262A\262\202 \211\237\266\203\301#\207" [V0 V1 V2 puthash nil] 11 "\n\n(fn DEPTH ITEM)"] #[514 "\303!\n>\204 \304\305\306D\"\210\211\307H\211\203$ \211@\301\"\210A\266\202\202 \210\303!\n>\2044 \304\305\306D\"\210\211\310H\211\205K \211@\300\242T\"\210A\266\202\2027 \207" [V0 V1 cl-struct-taxy-tags type-of signal wrong-type-argument taxy 4 5] 7 "\n\n(fn DEPTH TAXY)"] 0 alist-get equal #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 97 nil 97 right 101)) "-" "" error "No clause matching `%S'" format "%%%s%ss" " " mapconcat identity maphash #[514 "\302\303\304\300#\301#\207" [V0 V1 puthash apply format] 8 "\n\n(fn ITEM COLUMN-VALUES)"]] 26 (#$ . 30424)])#@246 Return header string for COLUMN-SIZES and FORMATTERS.
COLUMN-SIZES should be the CDR of the cell returned by
`taxy-magit-section-format-items'.  FORMATTERS should be the
variable passed to that function, which see.

(fn COLUMN-SIZES FORMATTERS)
(defalias 'taxy-magit-section-format-header #[514 "@@\300\301\211\302%\300\303\"\211\304\267\202 \305\202  \306\202  \307\310\"\262\311\211\312@AT#@@\"A\301\211\211\211\211\306\301:\203\220 @\262\211A\262\242\262\300\301\211\302%\262\300\303\"\211\313\267\202l \305\202p \306\202p \307\310\"\262\262\311\312	#\262\311\"P\262A\262\301\262\202: \266\210P\207" [alist-get nil equal align #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 20 nil 20 right 24)) "-" "" error "No clause matching `%S'" format " %%%s%ss" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (left 100 nil 100 right 104))] 20 (#$ . 33480)])
(provide 'taxy-magit-section)
