% https://q.uiver.app/#q=WzAsMTAsWzAsMCwiQSJdLFswLDEsIkEnIl0sWzAsMiwiQSciXSxbMiwwLCJBJyciXSxbMiwxLCJBJyciXSxbMiwyLCJBJyciXSxbMCwzLCJBJyciXSxbMiwzLCJBJyciXSxbMSwxLCJBJyJdLFsxLDAsIkEnIl0sWzAsMSwiZV9jIiwyXSxbMSwyLCJcXGlkIiwyXSxbMiw2LCJlX3tjJ30iLDJdLFs0LDUsIlxcaWQiXSxbMSw4LCJyKEEnKSIsMCx7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9LCJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzgsNCwiYyciLDAseyJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJiYXJyZWQifSwiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFszLDQsIlxccHVzaF97Yyd9KFxcZGVscmVfYykiXSxbMCw5LCJjIiwwLHsic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn0sImhlYWQiOnsibmFtZSI6Im5vbmUifX19XSxbOSwzLCJjJyIsMCx7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6ImJhcnJlZCJ9LCJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzksOCwiXFxkZWxyZV9jIl0sWzUsNywiXFxkZWxyZV97Yyd9ICJdLFsyLDUsImMnIiwwLHsic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoiYmFycmVkIn0sImhlYWQiOnsibmFtZSI6Im5vbmUifX19XSxbNiw3LCJyKEEnJykiLDIseyJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJiYXJyZWQifSwiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFsxMCwxOSwiXFx1cGxfYyIsMSx7InNob3J0ZW4iOnsic291cmNlIjoyMCwidGFyZ2V0IjoyMH0sInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6Im5vbmUifSwiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFsxMSwxMywiKCoqKSIsMSx7InNob3J0ZW4iOnsic291cmNlIjoyMCwidGFyZ2V0IjoyMH0sInN0eWxlIjp7ImJvZHkiOnsibmFtZSI6Im5vbmUifSwiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dLFsxOSwxNiwiKCopIiwxLHsic2hvcnRlbiI6eyJzb3VyY2UiOjIwLCJ0YXJnZXQiOjIwfSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoibm9uZSJ9LCJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzEyLDIwLCJcXHVwbF97Yyd9IiwxLHsic2hvcnRlbiI6eyJzb3VyY2UiOjIwLCJ0YXJnZXQiOjIwfSwic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoibm9uZSJ9LCJoZWFkIjp7Im5hbWUiOiJub25lIn19fV1d
\[\begin{tikzcd}[ampersand replacement=\&,column sep=3.15em]
	A \& {A'} \& {A''} \\
	{A'} \& {A'} \& {A''} \\
	{A'} \&\& {A''} \\
	{A''} \&\& {A''}
	\arrow[""{name=0, anchor=center, inner sep=0}, "{e_c}"', from=1-1, to=2-1]
	\arrow[""{name=1, anchor=center, inner sep=0}, "\id"', from=2-1, to=3-1]
	\arrow[""{name=2, anchor=center, inner sep=0}, "{e_{c'}}"', from=3-1, to=4-1]
	\arrow[""{name=3, anchor=center, inner sep=0}, "\id", from=2-3, to=3-3]
	\arrow["{r(A')}", "\shortmid"{marking}, no head, from=2-1, to=2-2]
	\arrow["{c'}", "\shortmid"{marking}, no head, from=2-2, to=2-3]
	\arrow[""{name=4, anchor=center, inner sep=0}, "{\push_{c'}(\delre_c)}", from=1-3, to=2-3]
	\arrow["c", "\shortmid"{marking}, no head, from=1-1, to=1-2]
	\arrow["{c'}", "\shortmid"{marking}, no head, from=1-2, to=1-3]
	\arrow[""{name=5, anchor=center, inner sep=0}, "{\delre_c}", from=1-2, to=2-2]
	\arrow[""{name=6, anchor=center, inner sep=0}, "{\delre_{c'} }", from=3-3, to=4-3]
	\arrow["{c'}", "\shortmid"{marking}, no head, from=3-1, to=3-3]
	\arrow["{r(A'')}"', "\shortmid"{marking}, no head, from=4-1, to=4-3]
	\arrow["{\upl_c}"{description}, draw=none, from=0, to=5]
	\arrow["{(**)}"{description}, draw=none, from=1, to=3]
	\arrow["{(*)}"{description}, draw=none, from=5, to=4]
	\arrow["{\upl_{c'}}"{description}, draw=none, from=2, to=6]
\end{tikzcd}\]