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



(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313&\207" [require magit-base magit-transient magit-mode custom-declare-group magit-margin nil "Information Magit displays in the margin.\n\nYou can change the STYLE and AUTHOR-WIDTH of all `magit-*-margin'\noptions to the same values by customizing `magit-log-margin'\n*before* `magit' is loaded.  If you do that, then the respective\nvalues for the other options will default to what you have set\nfor that variable.  Likewise if you set `magit-log-margin's INIT\nto nil, then that is used in the default of all other options.  But\nsetting it to t, i.e., re-enforcing the default for that option,\ndoes not carry to other options." :link (info-link "(magit)Log Margin") :group magit-log] 8)
(defvar magit--right-margin-delayed nil nil)
(make-variable-buffer-local 'magit--right-margin-delayed)
(defvar magit--right-margin-config nil nil)
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local magit--right-margin-config put permanent-local t] 4)
(defalias 'magit--right-margin-active #[0 "@\207" [magit--right-margin-config] 1])
(defalias 'magit--right-margin-option #[0 "\301\267\202 \302\207\303\207\304\207\305\207\306\207\307\207\310\207\310\207\310\207\311\207" [major-mode #s(hash-table size 9 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (magit-cherry-mode 6 magit-log-mode 8 magit-log-select-mode 10 magit-reflog-mode 12 magit-refs-mode 14 magit-stashes-mode 16 magit-status-mode 18 forge-notifications-mode 20 forge-topics-mode 22)) magit-cherry-margin magit-log-margin magit-log-select-margin magit-reflog-margin magit-refs-margin magit-stashes-margin magit-status-margin nil] 2])
(defalias 'magit-margin-settings #[0 "\300\301!\207" [transient-setup magit-margin-settings] 2 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\210\313\301\314\315\316\317D\320\310\321E\320\310\322E\320\310\323E\320\310\324EF#C\"\207" [put magit-margin-settings interactive-only t function-documentation "Change what information is displayed in the right margin." transient--prefix transient-prefix :command :info-manual "(magit) Log Margin" transient--set-layout vector transient-column :description "Margin" transient-suffix magit-toggle-margin magit-cycle-margin-style magit-toggle-margin-details magit-refs-set-show-commit-count] 11)
(defalias 'magit-toggle-margin #[0 "\301 \204	 \302\303!\210\304 ?\240\210\305 \207" [magit--right-margin-config magit--right-margin-option user-error "Magit margin isn't supported in this buffer" magit--right-margin-active magit-set-buffer-margins] 2 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\303&#\207" [put magit-toggle-margin interactive-only t function-documentation "Show or hide the right margin." transient--suffix transient-suffix :command :description "Toggle visibility" :key "L" :transient] 12)#@47 See https://github.com/magit/magit/pull/4605.
(defvar magit-margin-default-time-format nil (#$ . 3065))
(defalias 'magit-cycle-margin-style #[0 "\302 \204	 \303\304!\210\211AA@\211\305\267\2021 \306\2022 	\206\" \302 JA@\211;\203+ \211\202, \307\262\2022 \310\262\240\266\311\312\313\"\207" [magit--right-margin-config magit-margin-default-time-format magit--right-margin-option user-error "Magit margin isn't supported in this buffer" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (age 21 age-abbreviated 25)) age-abbreviated "%Y-%m-%d %H:%M " age magit-set-buffer-margins nil t] 5 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\303&#\207" [put magit-cycle-margin-style interactive-only t function-documentation "Cycle style used for the right margin." transient--suffix transient-suffix :command :description "Cycle style" :key "l" :transient] 12)
(defalias 'magit-toggle-margin-details #[0 "\301 \204	 \302\303!\210\304\233\211\3048?\240\266\305\306\307\"\207" [magit--right-margin-config magit--right-margin-option user-error "Magit margin isn't supported in this buffer" 3 magit-set-buffer-margins nil t] 4 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\303&#\207" [put magit-toggle-margin-details interactive-only t function-documentation "Show or hide details in the right margin." transient--suffix transient-suffix :command :description "Toggle details" :key "d" :transient] 12)#@44 

(fn &optional RESET-RIGHT REFRESH-RIGHT)
(defalias 'magit-set-buffer-margins #[512 "\302\303 \211\205\232 \211\203P \211J\3048\204 \204 \305!\210\242\243\211\242\243\211\242\243\211\242\243\211\242\243\302\n\262\306\f!\203N AA\211#\240\266\266\307\302\211\310#\211\203\213 \211@\311!r\312\313\"\216\314@\315\"\210\316!\210\203| \317\320\316\302\321$\210\202\202 \322\320\316\321#\210*\210A\266\202\202U \210\205\232 \204\230 	\205\232 \323 \207" [magit--right-margin-config magit--right-margin-delayed nil magit--right-margin-option 2 copy-sequence functionp get-buffer-window-list 0 internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord magit-set-window-margins add-hook window-configuration-change-hook t remove-hook magit-refresh-buffer] 23 (#$ . 4631)])#@25 

(fn &optional WINDOW)
(defalias 'magit-set-window-margins #[256 "\211\204\f \301 \211\262\2058 \302!r\303\304\"\216\305@\306\"\210\307\310\311\312 @!\203) \313\202, \314 @\315 \2054 \3168#*\262\207" [magit--right-margin-config get-buffer-window internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord set-window-margins nil characterp magit-section-visibility-indicator 1 window-margins magit--right-margin-active 2] 7 (#$ . 5517)])#@327 Display STRING in the margin of the previous (or current) line.
If point is at the beginning of a line, set the margin string for
the previous line, otherwise for the current line.  Semi-obsolete
optional PREVIOUS-LINE can be used to explicitly specify which
line is affected.

(fn &optional STRING (PREVIOUS-LINE nil SLINE))
(defalias 'magit-make-margin-overlay #[384 "\211\205 \300\211A\262\242\203 \301\302\303\304G\\D\"\210\212\203# \211\202$ n\203+ \305\202, \306y\210\307`T\310 \311\300$\312\313\300#\210\312\314\315\316\317\320\321D\206K \322D##)\207" [t signal wrong-number-of-arguments magit-make-margin-overlay 2 -1 0 make-overlay line-end-position nil overlay-put evaporate before-string propertize "o" display margin right-margin " "] 13 (#$ . 6047)])
(defvar magit-margin-overlay-conditions '(unpulled unpushed recent stashes local cherries [remote branchbuf] [shelved branchbuf] [tags branchbuf] topics discussions issues pullreqs))
(defalias 'magit-maybe-make-margin-overlay #[0 "\302	\"\205	 \303 \207" [magit-margin-overlay-conditions magit-insert-section--current magit-section-match magit-make-margin-overlay] 3])#@26 

(fn MODE SYMBOL VALUE)
(defalias 'magit-margin-set-variable #[771 "\301\"\210\302\303\"\210\304 \211\203+ \211@r\211q\210=\203# \305\306!\210\307 \210)A\266\202\202\f \210\302\310\"\207" [major-mode set-default message "Updating margins in %s buffers..." buffer-list magit-set-buffer-margins t magit-refresh "Updating margins in %s buffers...done"] 7 (#$ . 7198)])
(defconst magit-log-margin--custom-type '(list (boolean :tag "Show margin initially") (choice :tag "Show committer" (string :tag "date using time-format" "%Y-%m-%d %H:%M ") (const :tag "date's age" age) (const :tag "date's age (abbreviated)" age-abbreviated)) (const :tag "Calculate width using magit-log-margin-width" magit-log-margin-width) (boolean :tag "Show author name by default") (integer :tag "Show author name using width")))#@510 Time units used when formatting relative commit ages.

The value is a list of time units, beginning with the longest.
Each element has the form (CHAR UNIT UNITS SECONDS).  UNIT is the
time unit, UNITS is the plural of that unit.  CHAR is a character
abbreviation.  And SECONDS is the number of seconds in one UNIT.

This is defined as a variable to make it possible to use time
units for a language other than English.  It is not defined
as an option, because most other parts of Magit are always in
English.
(defvar magit--age-spec (byte-code "\300\301\302\303F\304\305\306\307F\310\311\312\313F\314\315\316\317F\320\321\322\323F\324BBBBB\207" [89 "year" "years" 31556952 77 "month" "months" 2629746 119 "week" "weeks" 604800 100 "day" "days" 86400 104 "hour" "hours" 3600 ((109 "minute" "minutes" 60) (115 "second" "seconds" 1))] 8) (#$ . 8014))#@34 

(fn DATE &optional ABBREVIATE)
(defalias 'magit--age #[513 "\301\302 ;\203 \303!\202 Z!\304\211\242\211\242\243\211\242\243\211\242\243\211\242\243\f\243\305\306\307#!\203? \245\310Y\203^ \211\203J \n\202W \310U\203U \202W D\262\304\202f \262\262\311\262\262\266\210\262\266\202\204 \207" [magit--age-spec abs float-time string-to-number nil round / 1.0 1 :recurse] 22 (#$ . 8867)])
(provide 'magit-margin)
