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



(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315&	\210\302\316\304\305\317DD\320\310\321\312\313\314\322&	\210\302\323\304\305\324DD\325\310\326\312\327\314\315\330\331\332\333C&\210\302\334\304\305\335DD\336\310\337\312\327\314\340&	\210\302\341\304\305\342DD\343\310\344\312\327\314\345&	\210\302\346\304\305\347DD\350\310\351\312\327\314\352&	\207" [require magit custom-declare-variable magit-module-sections-hook funcall function #[0 "\300\301\302\303\304\257\207" [magit-insert-modules-overview magit-insert-modules-unpulled-from-upstream magit-insert-modules-unpulled-from-pushremote magit-insert-modules-unpushed-to-upstream magit-insert-modules-unpushed-to-pushremote] 5 #1=""] "Hook run by `magit-insert-modules'.\n\nThat function isn't part of `magit-status-sections-hook's default\nvalue, so you have to add it yourself for this hook to have any\neffect." :package-version (magit . "2.11.0") :group magit-status :type hook magit-module-sections-nested #[0 "\300\207" [t] 1 #1#] "Whether `magit-insert-modules' wraps inserted sections.\n\nIf this is non-nil, then only a single top-level section\nis inserted.  If it is nil, then all sections listed in\n`magit-module-sections-hook' become top-level sections." (magit . "2.11.0") boolean magit-submodule-list-mode-hook #[0 "\300C\207" [hl-line-mode] 1 #1#] "Hook run after entering Magit-Submodule-List mode." (magit . "2.9.0") magit-repolist :get magit-hook-custom-get :options hl-line-mode magit-submodule-list-columns #[0 "\300\301\302\303BBB\304\301\305\306BBB\307\310\311\312BBB\313\314\315\316BBB\317\314\320\321BBB\322\314\323\324BBB\325\314\326\327BBB\330\314\331\332BBB\333\314\334\335BBB\257	\207" ["Path" 25 magit-modulelist-column-path (nil) "Version" magit-repolist-column-version (((:sort magit-repolist-version<))) "Branch" 20 magit-repolist-column-branch (nil) "B<P" 3 magit-repolist-column-unpulled-from-pushremote (((:right-align t) (:sort <))) "B<U" magit-repolist-column-unpulled-from-upstream (((:right-align t) (:sort <))) "B>P" magit-repolist-column-unpushed-to-pushremote (((:right-align t) (:sort <))) "B>U" magit-repolist-column-unpushed-to-upstream (((:right-align t) (:sort <))) "S" magit-repolist-column-stashes (((:right-align t) (:sort <))) "B" magit-repolist-column-branches (((:right-align t) (:sort <)))] 12 #1#] "List of columns displayed by `magit-list-submodules'.\n\nEach element has the form (HEADER WIDTH FORMAT PROPS).\n\nHEADER is the string displayed in the header.  WIDTH is the width\nof the column.  FORMAT is a function that is called with one\nargument, the repository identification (usually its basename),\nand with `default-directory' bound to the toplevel of its working\ntree.  It has to return a string to be inserted or nil.  PROPS is\nan alist that supports the keys `:right-align', `:pad-right' and\n`:sort'.\n\nThe `:sort' function has a weird interface described in the\ndocstring of `tabulated-list--get-sort'.  Alternatively `<' and\n`magit-repolist-version<' can be used as those functions are\nautomatically replaced with functions that satisfy the interface.\nSet `:sort' to nil to inhibit sorting; if unspecified, then the\ncolumn is sortable using the default sorter.\n\nYou may wish to display a range of numeric columns using just one\ncharacter per column and without any padding between columns, in\nwhich case you should use an appropriate HEADER, set WIDTH to 1,\nand set `:pad-right' to 0.  \"+\" is substituted for numbers higher\nthan 9." (magit . "2.8.0") (repeat (list :tag "Column" (string :tag "Header Label") (integer :tag "Column Width") (function :tag "Inserter Function") (repeat :tag "Properties" (list (choice :tag "Property" (const :right-align) (const :pad-right) (const :sort) (symbol)) (sexp :tag "Value"))))) magit-submodule-list-sort-key #[0 "\300\207" [("Path")] 1 #1#] "Initial sort key for buffer created by `magit-list-submodules'.\nIf nil, no additional sorting is performed.  Otherwise, this\nshould be a cons cell (NAME . FLIP).  NAME is a string matching\none of the column names in `magit-submodule-list-columns'.  FLIP,\nif non-nil, means to invert the resulting sort." (magit . "3.2.0") (choice (const nil) (cons (string :tag "Column name") (boolean :tag "Flip order"))) magit-submodule-list-predicate #[0 "\300\207" [always] 1 #1#] "Predicate used to determine whether to include a module in the list.\nSuitable values incluce `always' and `magit-submodule-list-module-populated-p'." (magit . "4.7.0") (choice (function-item always) (function-item magit-submodule-list-module-populated-p) (function))] 14)
(defvar magit-submodule-list-format-path-functions nil)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable magit-submodule-remove-trash-gitdirs funcall function #[0 "\300\207" [nil] 1 ""] "Whether `magit-submodule-remove' offers to trash module gitdirs.\n\nIf this is nil, then that command does not offer to do so unless\na prefix argument is used.  When this is t, then it does offer to\ndo so even without a prefix argument.\n\nIn both cases the action still has to be confirmed unless that is\ndisabled using the option `magit-no-confirm'.  Doing the latter\nand also setting this variable to t will lead to tears." :package-version (magit . "2.90.0") :group magit-commands :type boolean] 10)
(defalias 'magit-submodule #[0 "\300\301!\207" [transient-setup magit-submodule] 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\321\322\316\323\324\322\325\326\310\300\327\302\303#\210\300\327\330\331#\210\332\327\333\"\210\327\257\320\321\334\316\335\325\336\310\300\337\302\303#\210\300\337\330\331#\210\332\337\333\"\210\337\257	\320\321\340\316\341\324\340\325\342\310\300\343\302\303#\210\300\343\330\331#\210\332\343\333\"\210\343\257\320\321\344\316\345\325\346\310\300\347\302\303#\210\300\347\330\331#\210\332\347\333\"\210\347\257	\320\321\350\316\351\325\352\310\300\353\302\303#\210\300\353\330\331#\210\332\353\333\"\210\353\257	\320\321\354\316\355\325\356\310\300\357\302\303#\210\300\357\330\331#\210\332\357\333\"\210\357\257	\320\321\360\316\361\325\362\310\300\363\302\303#\210\300\363\330\331#\210\332\363\333\"\210\363\257	\257#\314\315\316\364D\365\321\366\310\367\257\365\321\370\310\371\257\365\321\372\310\373\257\365\321\374\310\375\257\365\321\376\310\377\257\365\321\201@ \310\201A \257\365\321\201B \316\201C \310\201D \257\257#\314\315\316\201E D\365\321\201F \316\201G \310\201H \257\365\321\201I \316\201J \310\201K \257D#E\"\207" [put magit-submodule interactive-only t function-documentation "Act on a submodule." transient--prefix transient-prefix :command :man-page "git-submodule" transient--set-layout vector transient-column :description "Arguments" transient-switch :key "-f" "Force" :shortarg :argument "--force" transient:magit-submodule:--force completion-predicate transient--suffix-only defalias transient--default-infix-command "-r" "Recursive" "--recursive" transient:magit-submodule:--recursive "-N" "Do not fetch" "--no-fetch" transient:magit-submodule:--no-fetch "-C" "Checkout tip" "--checkout" transient:magit-submodule:--checkout "-R" "Rebase onto tip" "--rebase" transient:magit-submodule:--rebase "-M" "Merge tip" "--merge" transient:magit-submodule:--merge "-U" "Use upstream tip" "--remote" transient:magit-submodule:--remote "One module actions" transient-suffix "a" magit-submodule-add "r" magit-submodule-register "p" magit-submodule-populate "u" magit-submodule-update "s" magit-submodule-synchronize "d" magit-submodule-unpopulate "k" "Remove" magit-submodule-remove "Populated modules actions" "l" "List modules" magit-list-submodules "f" "Fetch modules" magit-fetch-modules] 23)#@22 

(fn &rest FILTERS)
(defalias 'magit-submodule-arguments #[128 "\300\301\302\"\303\304!\"\207" [seq-filter make-closure #[257 "\211\300\235\205 \211\207" [V0] 3 "\n\n(fn %)"] transient-args magit-submodule] 5 (#$ . 7866)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\211$\207" [defalias magit--git-submodule-suffix-p eieio-make-class-predicate magit--git-submodule-suffix magit--git-submodule-suffix--eieio-childp eieio-make-child-predicate magit--git-submodule-suffix-child-p make-obsolete "use (cl-typep ... 'magit--git-submodule-suffix) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-suffix) nil] 6)#@84 Create a new object of class type `magit--git-submodule-suffix'.

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

(fn WHOLE &rest SLOTS)
(defalias 'magit--git-submodule-suffix--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 (#$ . 8969)])
(cl-generic-define-method 'transient-format-description nil '((obj magit--git-submodule-suffix)) '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\304\305\306\"!#\207" [transient--suffixes seq-filter transient-infix-value replace-regexp-in-string "\\[--[^]]+\\]" make-closure #[257 "\301\302\303\304\305#\306\307\310\300\"\311 \307\312\"\216\313\314\315O\316\")\262\302\316\304\305##\"\207" [V0 format propertize "[%s]" face transient-inactive-argument mapconcat make-closure #[257 "\301\302\300\235\203 \303\202 \304#\207" [V0 propertize face transient-argument transient-inactive-argument] 6 "\n\n(fn ARG)"] match-data #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] split-string 1 -1 "|"] 10 "\n\n(fn MATCH)"]] 8 "\n\n(fn CL--CNM OBJ)"]] 6 "\n\n(fn OBJ)"]] 5 "\n\n(fn CL--NM)"])#@37 

(fn URL &optional PATH NAME ARGS)
(defalias 'magit-submodule-add #[1025 "\300$\207" [magit-submodule-add-1] 9 (#$ . 10217) (byte-code "\301 \302\303!\304\305\"\306!\307!\310\311!F\266\202)\207" [default-directory magit--toplevel-safe magit-read-string-ns "Add submodule (remote url)" magit-submodule-read-path "Add submodules at path: " directory-file-name magit-submodule-read-name-for-path magit-submodule-arguments "--force"] 7)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-submodule-add interactive-only t function-documentation "Add the repository at URL as a module.\n\nOptional PATH is the path to the module relative to the root of\nthe superproject.  If it is nil, then the path is determined\nbased on the URL.  Optional NAME is the name of the module.  If\nit is nil, then PATH also becomes the name." transient--suffix magit--git-submodule-suffix :command :description "Add            git submodule add [--force]"] 8)#@19 

(fn PROMPT URL)
(defalias 'magit-submodule-read-path #[514 "\300\301\302\303\211\211\304\305	\"\205 \306\307	\"%!!\207" [directory-file-name file-relative-name read-directory-name nil string-match "\\([^./]+\\)\\(\\.git\\)?$" match-string-no-properties 1] 12 (#$ . 11225)])#@37 

(fn URL &optional PATH NAME ARGS)
(defalias 'magit-submodule-add-1 #[1025 "\302 \303\"\210\304\305\306\205 \307D\310		&\210\311	\312\313\"\")\207" [default-directory magit-this-process magit--toplevel-safe magit-submodule--maybe-reuse-gitdir magit-run-git-async "submodule" "add" "--name" "--" set-process-sentinel make-closure #[514 "\301!\302>\205( \303!\304V\203 \305\"\207\306\307\310#\210\305\"\210\311\312\313\300#\210\314 \207" [V0 process-status (exit signal) process-exit-status 0 magit-process-sentinel process-put inhibit-refresh t magit-call-git "submodule" "absorbgitdirs" magit-refresh] 6 "\n\n(fn PROCESS EVENT)"]] 12 (#$ . 11510)])#@36 

(fn PATH &optional PREFER-SHORT)
(defalias 'magit-submodule-read-name-for-path #[513 "\301\302!!\303!\203 \202 \211B\304\305\306\300\307B\310\311\312\"\313\314\315\316\317$\"\2064 \2033 \2024 $\207" [minibuffer-history directory-file-name file-relative-name file-name-nondirectory magit-read-string-ns "Submodule name" nil 2 seq-keep make-closure #[257 "\301\302\"\211\242\243\211\242\243\300\232\205 \301\303\"A@\207" [V0 split-string "=" "\\."] 9 "\n\n(fn %)"] magit-git-lines "config" "--list" "-f" ".gitmodules"] 15 (#$ . 12185)])#@16 

(fn MODULES)
(defalias 'magit-submodule-register #[257 "\301 \302\303\304\305$)\207" [default-directory magit--toplevel-safe magit-run-git-async "submodule" "init" "--"] 6 (#$ . 12747) (byte-code "\300\301\302\"C\207" [magit-module-confirm "Register" magit-module-no-worktree-p] 3)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-submodule-register interactive-only t function-documentation "Register MODULES.\n\nWith a prefix argument act on all suitable modules.  Otherwise,\nif the region selects modules, then act on those.  Otherwise, if\nthere is a module at point, then act on that.  Otherwise read a\nsingle module from the user." transient--suffix transient-suffix :command :description "Register       git submodule init"] 8)#@21 

(fn MODULES ARGS)
(defalias 'magit-submodule-populate #[514 "\301 \302\303\304\305\306&)\207" [default-directory magit--toplevel-safe magit-run-git-async "submodule" "update" "--init" "--"] 9 (#$ . 13551) (byte-code "\300\301\302\"\303\304!D\207" [magit-module-confirm "Populate" magit-module-no-worktree-p magit-submodule-arguments "--recursive"] 3)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-submodule-populate interactive-only t function-documentation "Create MODULES working directories, checking out the recorded commits.\n\nWith a prefix argument act on all suitable modules.  Otherwise,\nif the region selects modules, then act on those.  Otherwise, if\nthere is a module at point, then act on that.  Otherwise read a\nsingle module from the user." transient--suffix magit--git-submodule-suffix :command :description "Populate       git submodule update --init [--recursive]"] 8)#@21 

(fn MODULES ARGS)
(defalias 'magit-submodule-update #[514 "\301 \302\303\304\305%)\207" [default-directory magit--toplevel-safe magit-run-git-async "submodule" "update" "--"] 8 (#$ . 14514) (byte-code "\300\301\302\"\303\304\305\306\307\310\311\312&D\207" [magit-module-confirm "Update" magit-module-worktree-p magit-submodule-arguments "--force" "--remote" "--recursive" "--checkout" "--rebase" "--merge" "--no-fetch"] 9)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-submodule-update interactive-only t function-documentation "Update MODULES by checking out the recorded commits.\n\nWith a prefix argument act on all suitable modules.  Otherwise,\nif the region selects modules, then act on those.  Otherwise, if\nthere is a module at point, then act on that.  Otherwise read a\nsingle module from the user." transient--suffix magit--git-submodule-suffix :command :description "Update         git submodule update [--force] [--no-fetch]\n                     [--remote] [--recursive] [--checkout|--rebase|--merge]"] 8)#@21 

(fn MODULES ARGS)
(defalias 'magit-submodule-synchronize #[514 "\301 \302\303\304\305%)\207" [default-directory magit--toplevel-safe magit-run-git-async "submodule" "sync" "--"] 8 (#$ . 15608) (byte-code "\300\301\302\"\303\304!D\207" [magit-module-confirm "Synchronize" magit-module-worktree-p magit-submodule-arguments "--recursive"] 3)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-submodule-synchronize interactive-only t function-documentation "Synchronize url configuration of MODULES.\n\nWith a prefix argument act on all suitable modules.  Otherwise,\nif the region selects modules, then act on those.  Otherwise, if\nthere is a module at point, then act on that.  Otherwise read a\nsingle module from the user." transient--suffix magit--git-submodule-suffix :command :description "Synchronize    git submodule sync [--recursive]"] 8)#@21 

(fn MODULES ARGS)
(defalias 'magit-submodule-unpopulate #[514 "\301 \302\303\304\305%)\207" [default-directory magit--toplevel-safe magit-run-git-async "submodule" "deinit" "--"] 8 (#$ . 16523) (byte-code "\300\301!\302\303!D\207" [magit-module-confirm "Unpopulate" magit-submodule-arguments "--force"] 3)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-submodule-unpopulate interactive-only t function-documentation "Remove working directories of MODULES.\n\nWith a prefix argument act on all suitable modules.  Otherwise,\nif the region selects modules, then act on those.  Otherwise, if\nthere is a module at point, then act on that.  Otherwise read a\nsingle module from the user." transient--suffix magit--git-submodule-suffix :command :description "Unpopulate     git submodule deinit [--force]"] 8)#@643 Unregister MODULES and remove their working directories.

For safety reasons, do not remove the gitdirs and if a module has
uncommitted changes, then do not remove it at all.  If a module's
gitdir is located inside the working directory, then move it into
the gitdir of the superproject first.

With the "--force" argument offer to remove dirty working
directories and with a prefix argument offer to delete gitdirs.
Both actions are very dangerous and have to be confirmed.  There
are additional safety precautions in place, so you might be able
to recover from making a mistake here, but don't count on it.

(fn MODULES ARGS TRASH-GITDIRS)
(defalias 'magit-submodule-remove #[771 "\203 \302\262\303 \304\305\"\211\203t \306\235\203O \307\310\311\312\302%\203C \211\211\203> \211@\313\314!!\315\316\317\320\321$)\210A\266\202\202# \266\202u \322\323\324$\262\210\202u \211A\203f \325\326G\327\330\331#\266\202#\210\202l \325\332@\"\210\322\323\324$\262\210\205\345 \211\205\206 \333\334\335\336\337\340\341$\"\315\336\342\343$\210\315\336\344\343%\210\315\345\343$\210\203\342 \307\346\347\350\302%\203\342 \211\203\341 \211@\351\352\"A@\211\262\203\324 \353\354\314\355P\356 \"!\302\211#\266\202\332 \357\360\"\266A\266\202\202\257 \210\210\361 )\207" [magit-submodule-remove-trash-gitdirs default-directory t magit--toplevel-safe seq-filter #[257 "\301\302!!\303!AA\205 \304 )\207" [default-directory file-name-as-directory expand-file-name directory-files magit-anything-modified-p] 4 "\n\n(fn MODULE)"] "--force" magit-confirm remove-dirty-modules "Remove dirty module %s" "Remove %d dirty modules" file-name-as-directory expand-file-name magit-git "stash" "push" "-m" "backup before removal of this module" cl-set-difference :test equal message "Omitting %s modules with uncommitted changes: %s" ", " mapconcat identity "Omitting module %s, it has uncommitted changes" mapcar #[257 "\300\301\"\207" [split-string " "] 4 "\n\n(fn %)"] magit-git-lines "submodule" "foreach" "-q" "printf \"$sm_path\\0$name\n\"" "absorbgitdirs" "--" "deinit" "rm" trash-module-gitdirs "Trash gitdir of module %s" "Trash gitdirs of %d modules" nil assoc delete-directory convert-standard-filename "modules/" magit-gitdir error "BUG: Weird module name and/or path for %s" magit-refresh] 13 (#$ . 17400) (byte-code "\301\302\303\304\"\211\262\203 \305\306\301\307\301%\202 \310\311!C\262\312\313!E\207" [current-prefix-arg nil magit-region-values magit-module-section t magit-confirm remove-modules "Remove %d modules" magit-read-module-path "Remove module" magit-submodule-arguments "--force"] 7)])#@209 Insert submodule sections.
Hook `magit-module-sections-hook' controls which module sections
are inserted, and option `magit-module-sections-nested' controls
whether they are wrapped in an additional section.
(defalias 'magit-insert-modules #[0 "\305 \211\205X \203V \306\307\310\311#\211\n\206 ?\205 \f\211\3122S \313\314\315\316\317\320\321#G#!\210\322\323	\324\"\203K \325	\326	\327\330#\262#\266\202O \211 \266\331!0+\210\207\332 \207" [magit-module-sections-nested magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-list-module-paths magit-insert-section--create modules nil t cancel-section magit-insert-heading format "%s (%s)" propertize "Modules" font-lock-face magit-section-heading #[0 "\300 \207" [magit--insert-modules] 1] eieio-oref hidden eieio-oset washer make-closure #[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 magit--insert-modules] 11 (#$ . 20043)])#@26 

(fn &optional SECTION)
(defalias 'magit--insert-modules #[256 "\300\301!\207" [magit-run-section-hook magit-module-sections-hook] 3 (#$ . 21384)])#@160 Insert sections for all modules.
For each section insert the path and the output of "git describe --tags",
or, failing that, the abbreviated HEAD commit hash.
(defalias 'magit-insert-modules-overview #[0 "\304 \211\205T \305\306\307\310#\211	\206 \n?\205 \211\3112O \312\313\314\315\316\317\320#G#!\210\321\322\323\"\203G \324\325\326\327#\262#\266\202K \211 \266\330!0+\210\211\262\207" [magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-list-module-paths magit-insert-section--create modules nil t cancel-section magit-insert-heading format "%s (%s)" propertize "Modules overview" font-lock-face magit-section-heading #[0 "\300 \207" [magit--insert-modules-overview] 1] eieio-oref hidden eieio-oset washer make-closure #[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] 11 (#$ . 21539)])
(defvar magit-modules-overview-align-numbers t)#@32 

(fn &optional SECTION REPOS)
(defalias 'magit--insert-modules-overview #[512 "\306 \211\206	 \307 \310\311\312\313\314\315\"\"\316 \317\245^\"\310\311\320\316 \321\245^\"\211\203\313 \211@\322\323!!\324\325\326#\211\n\206B ?\205B \f\211\3272\301 \330\310\"\331\332#c\210\333\334!\204` \335c\210\202\272 \310\336\337 \211\262\203s \330\331\340#\202x \330\341\331\342#\262\"c\210\3432\271 \344\345\346\"\211\203\250 \347\343\203\240 \350\336\351\326$\266\203\203\240 \352c\210\330\331\353#c\"\210\210\354\355!\211\205\266 \330\331\356#c\2620\210\357c\210\360!0,\266A\266\202\202# )\266\357c\207" [default-directory magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-modules-overview-align-numbers magit--toplevel-safe magit-list-module-paths format "%%-%ds " apply max mapcar length window-width 2 25 3 expand-file-name file-name-as-directory magit-insert-section--create module t cancel-section propertize font-lock-face magit-diff-file-heading file-exists-p ".git" "(unpopulated)" nil magit-get-current-branch magit-branch-local "(detached)" warning #1=#::cond-let2721 magit-git-string "describe" "--tags" throw "\\`[0-9]" string-match 32 magit-tag magit-rev-format "%h" magit-hash 10 magit-insert-section--finish] 19 (#$ . 22847)])#@32 Keymap for `modules' sections.
(defvar magit-modules-section-map (byte-code "\300\301\302\303\304\305\302\"$\207" [define-keymap "<remap> <magit-visit-thing>" magit-list-submodules "<1>" magit-menu-item "List %t"] 7) (#$ . 24182))#@31 Keymap for `module' sections.
(defvar magit-module-section-map (byte-code "\300\301\302\303\302\304\305\306\307\310\302\311\312\313\314\"\315\316\317\312\320\305\321#\322\312\323\307\324#\325\312\326\302\"&\207" [define-keymap "C-j" magit-submodule-visit "C-<return>" "<remap> <magit-unstage-files>" magit-unstage "<remap> <magit-stage-files>" magit-stage "<remap> <magit-visit-thing>" "<5>" magit-menu-item "Module commands..." magit-submodule "<4>" (menu-item "--") "<3>" "Unstage %T" (:visible (eq (magit-diff-type) 'staged)) "<2>" "Stage %T" (:visible (eq (magit-diff-type) 'unstaged)) "<1>" "Visit %s"] 23) (#$ . 24418))#@188 Visit MODULE by calling `magit-status' on it.
Offer to initialize MODULE if it's not checked out yet.
With a prefix argument, visit in another window.

(fn MODULE &optional OTHER-WINDOW)
(defalias 'magit-submodule-visit #[513 "\302 \303!\304\303\305\"!\203 \306\"\202@ \307\310\311\"!\2034 \312\313\314\315\316%\210\317	\320\321#\"\202@ \304!\205@ \322\323P\")\207" [default-directory magit-this-process magit--toplevel-safe expand-file-name file-exists-p ".git" magit-diff-visit-directory y-or-n-p format "Initialize submodule '%s' first?" magit-run-git-async "submodule" "update" "--init" "--" set-process-sentinel make-closure #[514 "\303\304\")\210\305!\306=\205 \307!\310U\205 \311\300\301\"\207" [V0 V1 magit-process-raise-error t magit-process-sentinel process-status exit process-exit-status 0 magit-diff-visit-directory] 5 "\n\n(fn PROCESS EVENT)"] dired-jump "/."] 9 (#$ . 25051) (byte-code "\301\302!\206	 \303\304!D\207" [current-prefix-arg magit-section-value-if module magit-read-module-path "Visit module"] 2)])#@136 Insert sections for modules that haven't been pulled from the upstream.
These sections can be expanded to show the respective commits.
(defalias 'magit-insert-modules-unpulled-from-upstream #[0 "\300\301\302\303#\207" [magit--insert-modules-logs "Modules unpulled from @{upstream}" modules-unpulled-from-upstream "HEAD..@{upstream}"] 4 (#$ . 26107)])#@139 Insert sections for modules that haven't been pulled from the push-remote.
These sections can be expanded to show the respective commits.
(defalias 'magit-insert-modules-unpulled-from-pushremote #[0 "\300\301\302\303#\207" [magit--insert-modules-logs "Modules unpulled from @{push}" modules-unpulled-from-pushremote "HEAD..@{push}"] 4 (#$ . 26464)])#@134 Insert sections for modules that haven't been pushed to the upstream.
These sections can be expanded to show the respective commits.
(defalias 'magit-insert-modules-unpushed-to-upstream #[0 "\300\301\302\303#\207" [magit--insert-modules-logs "Modules unmerged into @{upstream}" modules-unpushed-to-upstream "@{upstream}..HEAD"] 4 (#$ . 26820)])#@137 Insert sections for modules that haven't been pushed to the push-remote.
These sections can be expanded to show the respective commits.
(defalias 'magit-insert-modules-unpushed-to-pushremote #[0 "\300\301\302\303#\207" [magit--insert-modules-logs "Modules unpushed to @{push}" modules-unpushed-to-pushremote "@{push}..HEAD"] 4 (#$ . 27171)])#@65 For internal use, don't add to a hook.

(fn HEADING TYPE RANGE)
(defalias 'magit--insert-modules-logs #[771 "\306\307 ?\205\310 \211\262\205\311\306\312#\211	\206\" \n?\205\" \211\3132\314\315\"\210\316\317\320\321\"\322\323#\324\317\320\325\n\"\322\326#\327$\210\211\203\372 \211@\330!\211\205Z \331\330\332!!\211\205f \333\334\335\336\337\n%\211\205l \211G\211\205s \211\340V\211\203\360 \311\341\312\342%\211	\206\216 \n?\205\216 \211\3132\355 \316\317\322\343#\"\210\211\203\350 \211@\314\"\210\320\321\"\320\325\"\311\344\312#\211	\206\306 \n?\205\306 \211\3132\336 \317\322\345#\324\346!\347\261\210\350!0+\266A\266\202\202\240 \210\350!0+\266)\266A\266\202\202G \210\351\352!\210\353c\210\350!0+\210\211\262\207" [magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section default-directory magit-log-module-re nil magit-ignore-submodules-p magit-list-module-paths magit-insert-section--create t cancel-section string-match "\\`\\(.+\\) \\([^ ]+\\)\\'" magit-insert-heading propertize match-string-no-properties 1 font-lock-face magit-section-heading " " 2 magit-branch-remote ":" expand-file-name file-exists-p ".git" magit-git-lines "-c" "push.default=current" "log" "--oneline" 0 module :range magit-diff-file-heading module-commit magit-hash magit-log--wash-summary "\n" magit-insert-section--finish magit-cancel-section if-empty 10] 22 (#$ . 27518)])#@66 Display a list of the current repository's populated submodules.
(defalias 'magit-list-submodules #[0 "\301!\207" [magit-submodule-list-columns magit-submodule-list-setup] 2 (#$ . 28995) nil])#@53 Local keymap for Magit-Submodule-List mode buffers.
(defvar magit-submodule-list-mode-map (define-keymap :parent magit-repolist-mode-map) (#$ . 29194))
(defvar magit-submodule-list-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [magit-submodule-list-mode-hook variable-documentation put "Hook run after entering Modules mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp magit-submodule-list-mode-map definition-name magit-submodule-list-mode] 4)
(defvar magit-submodule-list-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\210\303\311\322\323#\207" [magit-submodule-list-mode-abbrev-table magit-submodule-list-mode-map variable-documentation put purecopy "Keymap for `magit-submodule-list-mode'." boundp magit-submodule-list-mode-syntax-table definition-name magit-submodule-list-mode defvar-1 nil make-syntax-table "Syntax table for `magit-submodule-list-mode'." define-abbrev-table "Abbrev table for `magit-submodule-list-mode'." derived-mode-parent magit-repolist-mode custom-mode-group magit-repolist] 5)#@279 Major mode for browsing a list of Git submodules.

In addition to any hooks its parent mode `magit-repolist-mode' might
have run, this mode runs the hook `magit-submodule-list-mode-hook', as
the final or penultimate step during initialization.

\{magit-submodule-list-mode-map}
(defalias 'magit-submodule-list-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\306\331!\210\332\307D)\333\334!\207" [delay-mode-hooks major-mode mode-name magit-submodule-list-mode-map magit-submodule-list-mode-syntax-table magit-submodule-list-mode-abbrev-table make-local-variable t magit-repolist-mode magit-submodule-list-mode "Modules" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table tabulated-list-revert-hook magit-submodule-list-refresh run-mode-hooks magit-submodule-list-mode-hook local-abbrev-table] 5 (#$ . 30673)])#@36 

(fn COLUMNS &optional PREDICATE)
(defalias 'magit-submodule-list-setup #[513 "\304\305\306!\206\n \307\306!!\210\306 \210\310\300!\210\310\302!\210	\211\203% \310\303!\210\211\311 \210\312 \207" [magit-repolist-columns magit-submodule-list-sort-key magit-repolist-sort-key magit-submodule-list-predicate magit-display-buffer magit-get-mode-buffer magit-submodule-list-mode magit-generate-new-buffer make-local-variable magit-repolist-setup-1 magit-submodule-list-refresh] 5 (#$ . 31844)])
(defalias 'magit-submodule-list-refresh #[0 "\301\302\303 \"\304\305!\210\306 \210\307\310!\210\304\311!\207" [tabulated-list-entries seq-keep magit-submodule--format-module magit-list-module-paths message "Listing submodules..." tabulated-list-init-header tabulated-list-print t "Listing submodules...done"] 3])#@15 

(fn MODULE)
(defalias 'magit-submodule--format-module #[257 "!\205 \303\304!!\211\305\306\307\310\"\n\"!)D\207" [magit-submodule-list-predicate default-directory magit-repolist-columns expand-file-name file-name-as-directory vconcat mapcar make-closure #[257 "\211\242\243\211\242\243\211\242\243\211\242\243\301\302!\204! 9\2035 \303N\2035 \304\300D\305\nD\306	DBBB!\2066 \307\207" [V0 file-exists-p ".git" magit-submodule-support-unpopulated :path :title :width ""] 14 "\n\n(fn ARG0)"]] 8 (#$ . 32658)])
(byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\207" [put magit-modulelist-column-path magit-submodule-support-unpopulated t magit-repolist-column-path magit-repolist-column-branch] 4)#@132 Return t if MODULE is populated, nil otherwise.
This is only suitable as a value of `magit-submodule-list-predicate'.

(fn MODULE)
(defalias 'magit-submodule-list-module-populated-p #[257 "\300\301\302!\303P!!\207" [file-exists-p expand-file-name file-name-as-directory ".git"] 5 (#$ . 33397)])#@55 Insert the relative path of the submodule.

(fn SPEC)
(defalias 'magit-modulelist-column-path #[257 "\300\236A@\301\302\"\206 \211\207" [:path run-hook-with-args-until-success magit-submodule-list-format-path-functions] 5 (#$ . 33698)])#@18 

(fn NAME PATH)
(defalias 'magit-submodule--maybe-reuse-gitdir #[514 "\300\301\302P\303 \"!\304!\205B \304!?\205B \305\306P\307\"\211\310\267\202? \311\301!\"\202@ \312\211\313\314\315!Q\"\202@ \316\317\211#\202@ \320\262\207" [convert-standard-filename expand-file-name "modules/" magit-gitdir file-exists-p read-char-choice " already exists.\nType [u] to use the existing gitdir and create the working tree\n     [r] to rename the existing gitdir and clone again\n     [t] to trash the existing gitdir and clone again\n   [C-g] to abort " (117 114 116) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (117 34 114 43 116 55)) magit-submodule--restore-worktree rename-file "-" format-time-string "%F-%T" delete-directory t nil] 10 (#$ . 33943)])#@24 

(fn WORKTREE GITDIR)
(defalias 'magit-submodule--restore-worktree #[514 "\301\302\"\210\303\304\"\305\306\302\"\307\310\"\216r\211q\210\311\312\"\313\261)\210r\211q\210\314\315\211\315\316%*\266\317\320\321\322\323$)\207" [default-directory make-directory t expand-file-name ".git" generate-new-buffer " *temp file*" make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] "gitdir: " file-relative-name "\n" write-region nil 0 magit-call-git "reset" "--hard" "HEAD" "--"] 10 (#$ . 34741)])
(provide 'magit-submodule)
