yu kyung Choi added file mathtools.sty  over 8 years ago

Commit id: 8d7b1e3d5a842dea31e3ab6f2e79e5316b79141a

deletions | additions      

         

%%  %% This is file `empheq.sty',  %% generated with the docstrip utility.  %%  %% The original source files were:  %%  %% empheq.dtx (with options: `package')  %%   %% This is a generated file.  %%   %% Copyright (C) 2002-2007 by Morten Hoegholm  %% Copyright (C) 2012- by Lars Madsen  %%   %%   %% This work may be distributed and/or modified under the  %% conditions of the LaTeX Project Public License, either  %% version 1.3 of this license or (at your option) any later  %% version. The latest version of this license is in  %% http://www.latex-project.org/lppl.txt  %% and version 1.3 or later is part of all distributions of  %% LaTeX version 2005/12/01 or later.  %%   %% This work has the LPPL maintenance status "maintained".  %%   %% This Current Maintainer of this work is  %% Lars Madsen  %%   %% This work consists of the main source file empheq.dtx  %% and the derived files  %% empheq.sty, empheq.pdf, empheq.ins, empheq.drv.  %%   \ProvidesPackage{empheq}%  [2014/07/16 v2.14 Emphasizing equations]  \RequirePackage{mhsetup}[2004/10/10]  \MHInternalSyntaxOn  \MH_new_boolean:n {overload_ams}  \DeclareOption{overload}{  \MH_set_boolean_T:n {overload_ams}  }  \MH_new_boolean:n {overload_amsII}  \DeclareOption{overload2}{  \MH_set_boolean_T:n {overload_ams}  \MH_set_boolean_T:n {overload_amsII}  }  \MH_new_boolean:n {good_mult}  \DeclareOption{oldmultline}{\MH_set_boolean_F:n {good_mult}}  \DeclareOption{newmultline}{\MH_set_boolean_T:n {good_mult}}  \gdef\g@EQ@ntheorem@support@bool{01}  \DeclareOption{ntheorem}{\gdef\g@EQ@ntheorem@support@bool{00}}  \DeclareOption*{  \PassOptionsToPackage{\CurrentOption}{mathtools}  }  \ExecuteOptions{newmultline}  \ProcessOptions\relax  \MHInternalSyntaxOff  \RequirePackage{mathtools}[2004/10/10]  \MHInternalSyntaxOn  \AtEndOfPackage{\MHInternalSyntaxOff}  \newcount\l_EQ_equationtype_int  \newcount\l_EQ_alignmentmode_int  \if@fleqn  \iftagsleft@  \l_EQ_alignmentmode_int=4  \else:  \l_EQ_alignmentmode_int=\thr@@  \fi:  \else:  \iftagsleft@  \l_EQ_alignmentmode_int=\tw@  \else:  \l_EQ_alignmentmode_int=\@ne  \fi:  \fi:  \newdimen\l_EQ_totalwidth_dim  \newdimen\l_EQ_displaywidth_dim  \def\EmphEqdisplaywidth{\l_EQ_displaywidth_dim}  \newdimen\l_EQ_temp_linewidth_dim  \newdimen\EmphEqdelimitershortfall  \newcount\EmphEqdelimiterfactor  \EmphEqdelimiterfactor950  \EmphEqdelimitershortfall\p@  \newdimen\g_EQ_toptag_height_dim  \newdimen\g_EQ_bottomtag_depth_dim  \newdimen\g_EQ_toprow_height_dim  \newdimen\g_EQ_bottomrow_depth_dim  \newdimen\g_EQ_widesttag_dim  \def\EmphEqtagwidth{\g_EQ_widesttag_dim}  \def\EQ_outerbox:{}  \def\EQ_innerbox:{}  \def\EQ_left_side:{}  \def\EQ_right_side:{}  \newsavebox\EQ_mathdisplay_box  \def\EmphEqdisplayheight{\ht\EQ_mathdisplay_box}  \def\EmphEqdisplaydepth{\dp\EQ_mathdisplay_box}  \newsavebox\EQ_tag_box  \def\EQ_complete_mathdisplay:{}  \def\EQ_getbody:n #1{%  \def\EQ_complete_mathdisplay:{}\def\EQ_mathbody:{#1}}  \newenvironment{EmphEqMainEnv}{\collect@body\EQ_getbody:n}{%  \if_num:w \l_EQ_equationtype_int=\z@ %ZeroCheckpoint  \EQ_upgrade_error:  \else:  \EQ_post_process:  \ignorespacesafterend  \fi:}  \def\EQ_post_process:{%  \EQ_initialize:  \EQ_begin_equation:  \MH_if_boolean:nT {outer_mult}{  \setkeys{\MT_options_name:}{  firstline-afterskip=0pt,  lastline-preskip=0pt,  multlined-width=0pt,  }  \ifodd \l_EQ_alignmentmode_int  \setkeys{\MT_options_name:}{multlined-pos=b}  \else:  \setkeys{\MT_options_name:}{multlined-pos=t}  \fi:  \g@addto@macro\EQ_complete_mathdisplay:{  \begin{MTmultlined}\relax}  }  \g@addto@macro\EQ_complete_mathdisplay:\EQ_mathbody:  \MH_if_boolean:nT {outer_mult}{  \g@addto@macro\EQ_complete_mathdisplay:{\end{MTmultlined}}  }  \EQ_end_equation:  \edef\EQ_hyperref_link_fint{\number\Hy@linkcounter}  \savecounters@  \EQ_typeset_tags:  \edef\l_EQ_equation_fint{\number\c@equation}  \restorecounters@  \Hy@linkcounter=\EQ_hyperref_link_fint  \settowidth\l_EQ_totalwidth_dim{%  $\EQ_left_side:\EQ_innerbox:{}\EQ_right_side:$}%  \MH_if_boolean:nTF {outer_mult}  { \def\EQ_next:{_mult} }  { \def\EQ_next:{} }  \@nameuse{EQ_modify_linewidth_  \romannumeral\l_EQ_equationtype_int\EQ_next: :}%  \EQ_typeset_display:  \@nameuse{find_displaywidth_  \romannumeral\l_EQ_equationtype_int\EQ_next: :}  \MH_addtolength:dn  \l_EQ_totalwidth_dim{\l_EQ_displaywidth_dim}  \savebox\EQ_mathdisplay_box[\l_EQ_totalwidth_dim][c]{%  $\EQ_left_side:  \EQ_innerbox:{%  \if_case:w \l_EQ_alignmentmode_int\or:  \makebox[\l_EQ_displaywidth_dim][c]  {\usebox{\EQ_mathdisplay_box}}%  \or:  \makebox[\l_EQ_displaywidth_dim][c]  {\usebox{\EQ_mathdisplay_box}}%  \or:  \makebox[\l_EQ_displaywidth_dim][l]{%  \if_num:w \l_EQ_equationtype_int=5 \else:  \if_num:w \l_EQ_equationtype_int=6 \else:  \kern-\@mathmargin  \fi:  \fi:  \usebox{\EQ_mathdisplay_box}}%  \or:  \makebox[\l_EQ_displaywidth_dim][l]{%  \if_num:w \l_EQ_equationtype_int=5 \else:  \if_num:w \l_EQ_equationtype_int=6 \else:  \kern-\@mathmargin  \fi:  \fi:  \usebox{\EQ_mathdisplay_box}}%  \fi:}%  \EQ_right_side:$}%  \begin{AmSequation*}  \@nameuse{EQ_place_display_  \romannumeral\l_EQ_equationtype_int\EQ_next: :}  \if_dim:w \g_EQ_widesttag_dim>\z@  \MH_set_boolean_T:n {show_manual_tags}  \if_case:w \l_EQ_alignmentmode_int  \or: \EQ_place_tag:N r %#1  \or: \EQ_place_tag:N l %#2  \or: \EQ_place_tag:N r %#3  \or: \EQ_place_tag:N l %#4  \fi:  \fi:  \end{AmSequation*}  \global\c@equation=\l_EQ_equation_fint\relax  }  \def\EQ_initialize:{%  \m@th  \MH_let:NwN\SetTagPlusEndMark\EQ_tag_plus_endmark:  \MH_let:NwN\SetOnlyEndMark\EQ_only_endmark:  \l_EQ_temp_linewidth_dim\linewidth  \g_EQ_toprow_height_dim\z@  \g_EQ_bottomrow_depth_dim\z@  \g_EQ_toptag_height_dim\z@  \g_EQ_bottomtag_depth_dim\z@  \g_EQ_widesttag_dim\z@  \xdef\g_EQ_latest_nonzerodepth_row_fint{\z@}  \edef\EQ_restore_tex_delimiter:{%  \delimiterfactor\the\delimiterfactor  \delimitershortfall\the\delimitershortfall\relax}%  \g@addto@macro\EQ_complete_mathdisplay:  \EQ_restore_tex_delimiter:  \delimitershortfall\EmphEqdelimitershortfall  \delimiterfactor\EmphEqdelimiterfactor  \MH_let:NwN\intertext@\EQ_intertext:  \EQ_displaybreak:}  \def\EQ_intertext:{%  \def\intertext##1{\PackageError{empheq}{%  You~cannot~use~\string\intertext\space inside~the~`empheq'  \MessageBreak  environment,~as~`empheq'~creates~an~unbreakable~box}\@eha}}  \def\EQ_displaybreak:{%  \def\dspbrk@[##1]{\PackageWarning{empheq}{%  You~cannot~use~\string\displaybreak\space inside~the~`empheq'%  \MessageBreak  environment,~as~`empheq'~creates~an~unbreakable~box.}}}  \def\EQ_new_equationtype:nnn #1#2#3{%  \define@key{#1}{#2}[true]{%  \l_EQ_equationtype_int=#3\relax  \def\EQ_begin_equation:  {\g@addto@macro{\EQ_complete_mathdisplay:}{\begin{#2}}}%  \def\EQ_end_equation:  {\g@addto@macro{\EQ_complete_mathdisplay:}{\end{#2}}}}}  \def\EQ_new_equationtype_arg:nnn #1#2#3{%  \define@key{#1}{#2}{%  \l_EQ_equationtype_int=#3\relax  \def\EQ_begin_equation:  {\g@addto@macro{\EQ_complete_mathdisplay:}{\begin{#2}{##1}}}%  \def\EQ_end_equation:  {\g@addto@macro{\EQ_complete_mathdisplay:}{\end{#2}}}}}  \def\EQ_typeset_tags:{%  \sbox\EQ_tag_box{%  \parbox{.5\maxdimen}{%  \hbadness\@M  \EQ_prevent_vertical_space:  \EQ_typeset_tags_hook:  \MH_let:NwN\set@gather@field\EQ_set_gather_field:  \MH_let:NwN\set@field\EQ_set_align_field:  \MH_set_boolean_T:n {continue_measuring}  \global\g_EQ_temprow_int\m@ne  \MH_let:NwN \EQ_saved_maketag:n \maketag@@@  \def\maketag@@@##1{  \EQ_maketag:Nn \EQ_saved_maketag:n {##1}}  \EQ_complete_mathdisplay:}}}  \def\EQ_predisplay_adjustment:{%  \if_dim:w \g_EQ_toprow_height_dim<\baselineskip  \vskip\g_EQ_toprow_height_dim  \vskip-\baselineskip  \else:  \vskip-\normallineskip  \fi:  \if_dim:w \g_EQ_toptag_height_dim>\g_EQ_toprow_height_dim  \if_dim:w \g_EQ_toptag_height_dim>\baselineskip  \vskip-\g_EQ_toptag_height_dim  \vskip\baselineskip  \vskip-\normallineskip  \fi:  \fi:}  \def\EQ_postdisplay_adjustment:{%  \if_dim:w \g_EQ_bottomrow_depth_dim<\dp\strutbox  \vskip\g_EQ_bottomrow_depth_dim  \vskip-\dp\strutbox  \fi:  \if_dim:w \g_EQ_bottomtag_depth_dim>\g_EQ_bottomrow_depth_dim  \if_dim:w \g_EQ_bottomtag_depth_dim>\dp\strutbox  \vskip-\g_EQ_bottomtag_depth_dim  \vskip\dp\strutbox  \fi:  \fi:}  \def\EQ_typeset_display:{%  \sbox\EQ_mathdisplay_box{%  \parbox{\l_EQ_temp_linewidth_dim}{%  \EQ_predisplay_adjustment:  \EQ_prevent_vertical_space:  \EQ_typeset_display_hook:  \def\maketag@@@##1{\EQ_maketag:Nn \vphantom{##1}}%  \EQ_complete_mathdisplay:  \EQ_postdisplay_adjustment:}}}  \def\EQ_prevent_vertical_space:{%  \nointerlineskip  \abovedisplayskip\z@ \belowdisplayskip\z@\relax}  \def\EQ_maketag:Nn #1#2{%  \setboxz@h{#2}%  \if_num:w \row@=\@ne  \global \g_EQ_toptag_height_dim = \ht\z@  \fi:  \global \g_EQ_bottomtag_depth_dim=\dp\z@  \xdef\g_EQ_latest_nonzerodepth_row_fint{\number\row@}  \@tempdima=\wd\z@  \if_dim:w \@tempdima > \g_EQ_widesttag_dim  \global \g_EQ_widesttag_dim = \@tempdima  \fi:  #1{#2}%  }  \def\EQ_set_gather_field:{%  \iftagsleft@  \global\lineht@\ht\z@  \else:  \global\lineht@\dp\z@  \fi:  \kern\eqnshift@  %\boxz@ % Original amsmath version  \EQ_measure_gather:  \phantom{\boxz@}%  \hfil}  \def\EQ_measure_gather:{%  \if_num:w \row@=\@ne  \g_EQ_toprow_height_dim=\ht\z@  \fi:  \g_EQ_bottomrow_depth_dim=\dp\z@  \global\g_EQ_toprow_height_dim\g_EQ_toprow_height_dim  \global\g_EQ_bottomrow_depth_dim\g_EQ_bottomrow_depth_dim}  \def\EQ_set_align_field:{%  \column@plus  \iftagsleft@  \if_dim:w \ht\z@>\lineht@  \global\lineht@\ht\z@  \fi:  \else:  \if_dim:w \dp\z@>\lineht@  \global\lineht@\dp\z@  \fi:  \fi:  %\boxz@ % Original amsmath version  \MH_if_boolean:nT {continue_measuring}{ \EQ_measure_align: }  \phantom{\boxz@}}  \newcount\g_EQ_temprow_int  \MH_new_boolean:n {still_in_samerow}  \MH_new_boolean:n {continue_measuring}  \def\EQ_measure_align:{%  \if_num:w \g_EQ_temprow_int=\row@  \MH_set_boolean_T:n {still_in_samerow}  \else:  \if_num:w \g_EQ_temprow_int>\row@  \global\MH_set_boolean_F:n {continue_measuring}  \fi:  \MH_set_boolean_F:n {still_in_samerow}  \global\@tempdimc=\@tempdimb  \global\@tempdimb=\g_EQ_bottomrow_depth_dim  \fi:  \MH_if_boolean:nTF {continue_measuring}{  \global\g_EQ_temprow_int=\row@  \@tempcnta=\row@  \if_num:w \@tempcnta=\z@  \@tempdima=\g_EQ_toprow_height_dim  \g_EQ_toprow_height_dim=\ht\z@\relax  \if_dim:w \g_EQ_toprow_height_dim<\@tempdima  \g_EQ_toprow_height_dim\@tempdima  \fi:  \fi:  \MH_if_boolean:nTF {still_in_samerow}{  \@tempdima=\g_EQ_bottomrow_depth_dim  \g_EQ_bottomrow_depth_dim=\dp\z@\relax  \if_dim:w \g_EQ_bottomrow_depth_dim<\@tempdima  \g_EQ_bottomrow_depth_dim\@tempdima  \fi:  }{  \g_EQ_bottomrow_depth_dim\dp\z@\relax  }  }{  \global\g_EQ_bottomrow_depth_dim=\@tempdimc  }  \global\g_EQ_toprow_height_dim\g_EQ_toprow_height_dim  \global\g_EQ_bottomrow_depth_dim\g_EQ_bottomrow_depth_dim}  \def\EQ_place_tag:N #1{%  \tag*{\makebox[\g_EQ_widesttag_dim][#1]{%  \EQ_vertical_tag_adjustment:n {\usebox{\EQ_tag_box}}}}}  \def\EQ_vertical_tag_adjustment:n #1{{%  \@tempdima\z@\@tempdimb\z@  \@tempdimc=\dp\strutbox  \if_dim:w \g_EQ_toprow_height_dim<\baselineskip  \MH_setlength:dn  \@tempdima{\g_EQ_toprow_height_dim-\baselineskip}  \else:  \MH_setlength:dn \@tempdima{-\normallineskip}  \fi:  \if_dim:w \g_EQ_toptag_height_dim>\g_EQ_toprow_height_dim  \if_dim:w \g_EQ_toptag_height_dim>\baselineskip  \MH_addtolength:dn \@tempdima  {-\g_EQ_toptag_height_dim+\baselineskip-\normallineskip}  \fi:  \fi:  \if_dim:w \g_EQ_bottomrow_depth_dim<\@tempdimc  \MH_setlength:dn \@tempdimb  {\g_EQ_bottomrow_depth_dim-\@tempdimc}  \fi:  \if_dim:w \g_EQ_bottomtag_depth_dim>\g_EQ_bottomrow_depth_dim  \if_dim:w \g_EQ_bottomtag_depth_dim<\@tempdimc  \else:  \MH_addtolength:dn \@tempdimb  {-\g_EQ_bottomtag_depth_dim+\@tempdimc}  \fi:  \fi:  \raisebox{-0.5\@tempdima+0.5\@tempdimb}{#1}}}%  \def\EQ_use_mathdisplay:{%  \EQ_outerbox:{\usebox{\EQ_mathdisplay_box}}}  \def\EQ_options_name:{EmphEqOpt}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{equation}{gather}  {\EQ_disable_linebreak:}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{equation*}{gather*}  {\EQ_disable_linebreak:}  \def\EQ_disable_linebreak:{%  \MH_let:NwN \EQ_saved_Let: \Let@  \def\Let@{\def\\{%  \PackageError{empheq}{You~ cannot~ use~ \string\\~ in~ equation!}  {\@eha}}  \MH_let:NwN \Let@ \EQ_saved_Let:  }%  }  \EQ_new_equationtype:nnn {EmphEqEnv}{align}{1}  \EQ_new_equationtype:nnn {EmphEqEnv}{align*}{2}  \def\EQ_modify_linewidth_i:{%  \if_num:w \maxfields@=\tw@  \else:  \setlength{\l_EQ_temp_linewidth_dim}{%  \linewidth-\l_EQ_totalwidth_dim-\widthof{\EQ_outerbox:{}}}%  \fi:}  \def\EQ_modify_linewidth_ii:{\EQ_modify_linewidth_i:}  \def\find_displaywidth_i:{%  \MH_setlength:dn \l_EQ_displaywidth_dim  {\l_EQ_temp_linewidth_dim-\alignsep@}  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\alignsep@}%  \or: % #2:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\alignsep@}%  \or: % #3:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%  \or: % #4:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%  \fi:}  \def\find_displaywidth_ii:{\find_displaywidth_i:}  \def\EQ_place_display_i: {\EQ_use_mathdisplay:}  \def\EQ_place_display_ii:{\EQ_place_display_i:}  \EQ_new_equationtype:nnn {EmphEqEnv}{gather}{3}  \EQ_new_equationtype:nnn {EmphEqEnv}{gather*}{4}  \def\EQ_modify_linewidth_iii:{}  \def\EQ_modify_linewidth_iv:{\EQ_modify_linewidth_iii:}  \def\find_displaywidth_iii:{%  \MH_setlength:dn \l_EQ_displaywidth_dim{\totwidth@}%  \if_case:w \l_EQ_alignmentmode_int \or: \or: % #1 & #2:  \or: % #3:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%  \or: % #4:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%  \fi:}  \def\find_displaywidth_iv:{\find_displaywidth_iii:}  \def\EQ_place_display_iii:{\EQ_use_mathdisplay:}  \def\EQ_place_display_iv: {\EQ_place_display_iii:}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline}  {flalign}{\MH_set_boolean_T:n {multline}}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline*}  {flalign*}{\MH_set_boolean_T:n {multline}}  \MH_new_boolean:n {multline}  \def\EQ_multline_modify_linewidth_tag:{%  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim{%  -\g_EQ_widesttag_dim-\multlinetaggap-\multlinegap}%  \or:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim{%  -\g_EQ_widesttag_dim-\multlinetaggap-\multlinegap}%  \or:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim{%  -\@mathmargin-\g_EQ_widesttag_dim-\multlinetaggap}%  \or:  \MH_addtolength:dn  \l_EQ_temp_linewidth_dim{-\@mathmargin-\multlinegap}%  \fi:  }  \def\EQ_multline_modify_linewidth_notag:{%  \if_case:w \l_EQ_alignmentmode_int\or:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim{-2\multlinegap}  \or:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim{-2\multlinegap}  \or:  \MH_addtolength:dn  \l_EQ_temp_linewidth_dim{-\@mathmargin-\multlinegap}%  \or:  \MH_addtolength:dn  \l_EQ_temp_linewidth_dim{-\@mathmargin-\multlinegap}%  \fi:  }  \MH_let:NwN \MTmultlined \multlined  \MH_let:NwN \endMTmultlined \endmultlined  \MH_if_boolean:nTF {good_mult}{  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline}{gather}  {\MH_set_boolean_T:n {outer_mult}}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{multline*}{gather*}  {\MH_set_boolean_T:n {outer_mult}}  \def\EQ_modify_linewidth_iii_mult:{  \setlength{\l_EQ_temp_linewidth_dim}{%  \linewidth-\widthof{\EQ_outerbox:{}}}%  \if_dim:w \g_EQ_widesttag_dim>\z@  \EQ_multline_modify_linewidth_tag:  \else:  \EQ_multline_modify_linewidth_notag:  \fi:  \MH_setlength:dn \l_MT_multwidth_dim{\l_EQ_temp_linewidth_dim}  }  \def\EQ_modify_linewidth_iv_mult:{\EQ_modify_linewidth_iii_mult:}  \def\find_displaywidth_iii_mult:{%  \MH_setlength:dn \l_EQ_displaywidth_dim{\totwidth@}%  \if_case:w \l_EQ_alignmentmode_int \or: \or: % #1 & #2:  \or: % #3:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%  \or: % #4:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%  \fi:}  \def\find_displaywidth_iv_mult:{\find_displaywidth_iii_mult:}  \def\EQ_place_display_iii_mult:{  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \if_dim:w \g_EQ_widesttag_dim>\z@  \abovedisplayshortskip=\abovedisplayskip  \rlap{  \kern-.5\linewidth  \kern\multlinegap  \EQ_use_mathdisplay:  }  \else:  \EQ_use_mathdisplay:  \fi:  \or: % #2:  \if_dim:w \g_EQ_widesttag_dim>\z@  \llap{  \EQ_use_mathdisplay:  \kern-.5\linewidth  \kern\multlinegap  }%  \else:  \EQ_use_mathdisplay:  \fi:  \or: % #3:  \EQ_use_mathdisplay:  \or: % #4:  \EQ_use_mathdisplay:  \fi:  }  \def\EQ_place_display_iv_mult: {\EQ_place_display_iii_mult:}  }{  \def\EQ_generic_multline:nnnnn #1#2#3#4#5{%  \hskip1sp#2#3{{}#5}#4%  \if:w *#1\relax\else:\notag\fi:}  \def\multleft{\@ifstar{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_left:n}  }{  \def\EQ_next:{  \EQ_generic_multline:nnnnn {*}{}{\mathrlap}{&&&&&}}  }  \EQ_next:}{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_left:n}%  }{  \def\EQ_next:{  \EQ_generic_multline:nnnnn {}{}{\mathrlap}{&&&&&}}  }  \EQ_next:}}%  \def\multcenter{\@ifstar{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_center:n}%  }{  \def\EQ_next:{  \EQ_generic_multline:nnnnn {*}{&&}{\mathclap}{&&&}}  }  \EQ_next:}{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_center:n }%  }{  \def\EQ_next:{  \EQ_generic_multline:nnnnn {}{&&}{\mathclap}{&&&}}  }  \EQ_next:}}%  \def\multright{\@ifstar{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_right:n }%  }{  \def\EQ_next:{  \EQ_generic_multline:nnnnn {*}{&&&&&}{\mathllap}{}}  }  \EQ_next:}{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_right:n }%  }{  \def\EQ_next:{  \EQ_generic_multline:nnnnn {}{&&&&&}{\mathllap}{}}  }  \EQ_next:}}  \def\multfirst{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_left:n }%  }{  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \def\EQ_next:{\multleft}%  \or: % #2:  \def\EQ_next:{\multleft*}%  \or: % #3:  \def\EQ_next:{\multleft}%  \or: % #4:  \def\EQ_next:{\multleft*}%  \fi:  }  \EQ_next:}  \def\multmiddle{%  \def\EQ_next:{%  \MH_if_boolean:nTF {multlined}{  \expandafter\EQ_multlined_center:n  }{  \expandafter\multcenter  }  }%  \@ifstar{\EQ_next:}{\EQ_next:}}  \def\multlast{%  \MH_if_boolean:nTF {multlined}{  \def\EQ_next:{\EQ_multlined_right:n }%  }{  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \def\EQ_next:{\multright*}%  \or: % #2:  \def\EQ_next:{\multright}%  \or: % #3:  \def\EQ_next:{\multright*}%  \or: % #4:  \def\EQ_next:{\multright}%  \fi:  }  \EQ_next:}  \MH_new_boolean:n {multlined}  \newdimen\multlinedwidth  \MH_setlength:dn \multlinedwidth{.7\linewidth}  \renewenvironment{multlined}%  {\MH_nospace_ifnextchar:Nnn [ {\EQ_multlined_I:w}  {\EQ_multlined_I:w[c]}  }  { \endaligned }  \def\EQ_multlined_I:w[#1]{%  \MH_nospace_ifnextchar:Nnn[ {\EQ_multlined_II:w[#1]}  {\EQ_multlined_II:w[#1][\multlinedwidth]}}  \def\EQ_multlined_II:w[#1][#2]{%  \MH_set_boolean_T:n {multlined}  \MH_let:NwN \Let@\MT_saved_Let:  \if:w t#1\relax \EQ_multlined_III:nn {#1}{#2}%  \else:  \if:w b#1\relax \EQ_multlined_III:nn {#1}{#2}%  \else:  \if:w c#1\relax \EQ_multlined_III:nn {#1}{#2}%  \else:  \EQ_multlined_III:nn {#2}{#1}%  \fi:  \fi:  \fi:  \mkern-\thinmuskip  \EQ_next:}  \def\EQ_multlined_III:nn #1#2{%  \def\EQ_next:{\setlength\multlinedwidth{#2}%  \start@aligned{#1}{\thr@@}}}  \def\EQ_multlined_left:n #1{%  \mathrlap{#1}&\hskip.5\multlinedwidth&&\hskip.5\multlinedwidth&&}  \def\EQ_multlined_center:n #1{%  &\hskip.5\multlinedwidth&&\mathclap{#1}\hskip.5\multlinedwidth&&}  \def\EQ_multlined_right:n #1{%  &\hskip.5\multlinedwidth&&\hskip.5\multlinedwidth&&\mathllap{#1}}  }  \EQ_new_equationtype:nnn {EmphEqEnv}{flalign}{5}  \EQ_new_equationtype:nnn {EmphEqEnv}{flalign*}{6}  \def\EQ_modify_linewidth_v:{%  \setlength{\l_EQ_temp_linewidth_dim}{%  \linewidth-\l_EQ_totalwidth_dim-\widthof{\EQ_outerbox:{}}}%  \if_dim:w \g_EQ_widesttag_dim>\z@  \MH_if_boolean:nTF {multline}{  \EQ_multline_modify_linewidth_tag:  }{  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim  {-\g_EQ_widesttag_dim-\mintagsep}  \or: % #2:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim  {-\g_EQ_widesttag_dim-\mintagsep}%  \or: % #3:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim  {-\g_EQ_widesttag_dim-\mintagsep}  \or: % #4:  \MH_addtolength:dn \l_EQ_temp_linewidth_dim  {-\@mathmargin}  \fi:  }  \else:  \MH_if_boolean:nT {multline}{  \EQ_multline_modify_linewidth_notag:  }  \fi:}  \def\EQ_modify_linewidth_vi:{\EQ_modify_linewidth_v:}  \def\find_displaywidth_v:{%  \MH_setlength:dn  \l_EQ_displaywidth_dim{\l_EQ_temp_linewidth_dim}}  \def\find_displaywidth_vi:{\find_displaywidth_v:}  \def\EQ_place_display_v:{%  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \if_dim:w \g_EQ_widesttag_dim>\z@  \MH_if_boolean:nTF {multline}{  \rlap{\kern\multlinegap \kern-.5\linewidth  \EQ_use_mathdisplay:  \kern-\mintagsep \kern\multlinetaggap}%  }{  \rlap{\kern-.5\linewidth\EQ_use_mathdisplay:}%  }  \else:  \EQ_use_mathdisplay:  \fi:  \or: % #2:  \if_dim:w \g_EQ_widesttag_dim>\z@  \MH_if_boolean:nTF {multline}{  \llap{\kern-\mintagsep \kern\multlinetaggap  \EQ_use_mathdisplay:  \kern\multlinegap \kern-.5\linewidth}%  }{  \llap{\EQ_use_mathdisplay:\kern-.5\linewidth}%  }  \else:  \EQ_use_mathdisplay:  \fi:  \or: % #3:  \MH_if_boolean:nF {multline}{ \kern-\multlinetaggap }  \EQ_use_mathdisplay:  \or: % #4:  \if_dim:w \g_EQ_widesttag_dim>\z@  \else:  \MH_if_boolean:nF {multline}{ \kern-\@mathmargin }  \fi:  \EQ_use_mathdisplay:  \fi:  \MH_set_boolean_F:n {multline}}  \def\EQ_place_display_vi:{\EQ_place_display_v:}  \EQ_new_equationtype_arg:nnn {EmphEqEnv}{alignat}{7}  \EQ_new_equationtype_arg:nnn {EmphEqEnv}{alignat*}{8}  \def\EQ_modify_linewidth_vii:{}  \def\EQ_modify_linewidth_viii:{\EQ_modify_linewidth_vii:}  \def\find_displaywidth_vii:{%  \MH_setlength:dn \l_EQ_displaywidth_dim{\totwidth@}%  \if_case:w \l_EQ_alignmentmode_int  \or: % #1:  \or: % #2:  \or: % #3:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\eqnshift@}%  \or: % #4:  \MH_addtolength:dn \l_EQ_displaywidth_dim{-\@mathmargin}%  \fi:}  \def\find_displaywidth_viii:{\find_displaywidth_vii:}  \def\EQ_place_display_vii:{\EQ_use_mathdisplay:}  \def\EQ_place_display_viii:{\EQ_place_display_vii:}  \define@key{\EQ_options_name:}{box}{\def\EQ_outerbox:{#1}}  \MH_keyval_alias:nnn {\EQ_options_name:}{outerbox}{box}  \def\EQ_marginbox:nn #1#2{%  \settowidth{\@tempdima}{#2}%  \makebox[\z@]{\hspace{\@tempdima}#1{#2}}}  \define@key{\EQ_options_name:}{marginbox}{%  \def\EQ_outerbox:{\EQ_marginbox:nn {#1}}}  \define@key{\EQ_options_name:}{innerbox}{\def\EQ_innerbox:{#1}}  \define@key{\EQ_options_name:}{left}{\def\EQ_left_side:{#1}}  \define@key{\EQ_options_name:}{right}{\def\EQ_right_side:{#1}}  \newcommand*\empheqset[1]{\setkeys{\EQ_options_name:}{#1}}  \def\EQ_upgrade_error:{%  \PackageError{empheq}  {You~ are~ using~ the~ old~ syntax!\MessageBreak  The~ `empheq'~ environment~ takes~ a~ mandatory~  argument~ now.\MessageBreak  You~ need~ to~ exit~ and~ change~ your~ source~ file.}  {It~ won't~ work,~ trust me.~ Press~ `X'~ now.}}  \define@key{\EQ_options_name:}{boxtype}{\EQ_upgrade_error:}  \define@key{\EQ_options_name:}{Left}{\EQ_upgrade_error:}  \define@key{\EQ_options_name:}{Right}{\EQ_upgrade_error:}  \let\empheqeqrefbase\textup  \newenvironment{empheq}[2][]{%  \MH_let:NwN\EQ_saved_maketag: \maketag@@@%  \renewcommand\eqref[1]{\empheqeqrefbase{%  \let\maketag@@@\EQ_saved_maketag:%  \tagform@{\ref{##1}}}}  \setkeys{EmphEqEnv}{#2}\setkeys{\EQ_options_name:}{#1}%  \EmphEqMainEnv}{\endEmphEqMainEnv}  \newcommand*\DeclareLeftDelimiter[2][]{%  \EQ_declare_left_delimiter:nnnn {#1}{#2}{}{}%  \EQ_declare_left_delimiter:nnnn {#1}{#2}{big}{\EQ_innerbox:}}  \def\EQ_declare_left_delimiter:nnnn #1#2#3#4{%  \@namedef{empheq#3\expandafter\@gobble\string#2}{%  \left#2%  \mkern-\thinmuskip  \vphantom{#4{\parbox{.5\maxdimen}{%  \EQ_predisplay_adjustment:  \EQ_prevent_vertical_space:  \usebox{\EQ_tag_box}%  \EQ_postdisplay_adjustment:}}}%  \right.%  \kern-\nulldelimiterspace #1}}  \newcommand*\DeclareRightDelimiter[2][]{%  \EQ_declare_right_delimiter:nnnn {#1}{#2}{}{}%  \EQ_declare_right_delimiter:nnnn {#1}{#2}{big}{\EQ_innerbox:}}  \def\EQ_declare_right_delimiter:nnnn #1#2#3#4{%  \@namedef{empheq#3\expandafter\@gobble\string#2}{%  \kern-\nulldelimiterspace  #1%  \left.%  \vphantom{#4{\parbox{.5\maxdimen}{%  \EQ_predisplay_adjustment:  \EQ_prevent_vertical_space:  \usebox{\EQ_tag_box}%  \EQ_postdisplay_adjustment:}}}%  \mkern-\thinmuskip  \right#2}}  \DeclareLeftDelimiter{\lbrace}  \DeclareRightDelimiter{\rbrace}  \DeclareLeftDelimiter{\lbrack}  \DeclareRightDelimiter{\rbrack}  \DeclareLeftDelimiter{\langle}  \DeclareRightDelimiter{\rangle}  \DeclareLeftDelimiter{\lvert}  \DeclareRightDelimiter{\rvert}  \DeclareLeftDelimiter{\lVert}  \DeclareRightDelimiter{\rVert}  \DeclareLeftDelimiter{\lfloor}  \DeclareRightDelimiter{\rfloor}  \DeclareLeftDelimiter{\lceil}  \DeclareRightDelimiter{\rceil}  \DeclareLeftDelimiter{\lparen}  \DeclareRightDelimiter{\rparen}  \def\EQ_typeset_tags_hook:{}  \def\EQ_typeset_display_hook:{}  \g@addto@macro\EQ_typeset_display_hook:{  \def\SK@@label#1>#2\SK@{}  }  \@namedef{SK@AmSequation} {\SK@equationtrue}  \@namedef{SK@AmSequation*} {\SK@equationtrue}  \@namedef{SK@AmSalign} {\SK@equationtrue}  \@namedef{SK@AmSalign*} {\SK@equationtrue}  \@namedef{SK@AmSalignat} {\SK@equationtrue}  \@namedef{SK@AmSalignat*} {\SK@equationtrue}  \@namedef{SK@AmSgather} {\SK@equationtrue}  \@namedef{SK@AmSgather*} {\SK@equationtrue}  \@namedef{SK@AmSmultline} {\SK@equationtrue}  \@namedef{SK@AmSmultline*} {\SK@equationtrue}  \@namedef{SK@AmSflalign} {\SK@equationtrue}  \@namedef{SK@AmSflalign*} {\SK@equationtrue}  \AtBeginDocument{  \@ifundefined{Hy@linkcounter}{\newcount\Hy@linkcounter}{}  }  \g@addto@macro\EQ_typeset_display_hook:{  \MH_let:NwN \hyper@refstepcounter\@gobble  }  \g@addto@macro\EQ_typeset_display_hook:{  \let\NCC@ignorepar\relax  }  \g@addto@macro\EQ_typeset_tags_hook:{  \let\NCC@ignorepar\relax  }  \g@addto@macro\EQ_typeset_tags_hook:{  \MH_let:NwN\TagsPlusEndmarks\relax  \MH_let:NwN\RestoreTags\relax  }  \g@addto@macro\EQ_typeset_display_hook:{  \MH_let:NwN\TagsPlusEndmarks\relax  \MH_let:NwN\RestoreTags\relax  }  \g@addto@macro\EQ_typeset_display_hook:{  \MH_let:NwN\ltx@label\MT_gobblelabel:w  \MH_let:NwN \GenericError \@gobblefour  }  \AtBeginDocument{%  \@ifpackageloaded{fancybox}{%  \@ifpackageloaded{color}{\definecolor{shadowcolor}{rgb}{0,0,0}}%  {\newcommand*\textcolor[2]{\normalcolor{#2}}}%  \MH_new_boolean:n {shadowbox_star}  \renewcommand*\shadowbox{%  \@ifstar{\MH_set_boolean_T:n {shadowbox_star}  \VerbBox\EQ_shadowbox:n}  {\MH_set_boolean_F:n {shadowbox_star}  \VerbBox\EQ_shadowbox:n}}  \def\EQ_shadowbox:n #1{%  \sbox{\z@}{\fbox{#1}}%  \MH_if_boolean:nTF {shadowbox_star}{  \MH_setlength:dn \@tempdima{\z@}%  }{  \MH_setlength:dn \@tempdima{\dp\z@+\shadowsize}%  }  \raisebox{\@tempdima}{%  \makebox[\z@][l]{%  \kern\shadowsize \textcolor{shadowcolor}{%  \rule[-\dp\z@-\shadowsize]{\wd\z@}{\shadowsize}}%  }%  \usebox\z@\textcolor{shadowcolor}{%  \rule[-\dp\z@-\shadowsize]{\shadowsize}{\ht\z@+\dp\z@}}}}%  }{}%  }  \def\EQ_overload_ams_begin:n #1{%  \MH_let:cc {AmS#1}{#1}%  \MH_let:cc {AmS#1*}{#1*}  }  \def\EQ_overload_ams_end:n #1{%  \MH_let:cc {endAmS#1}{endAmSalign}  }  \AtBeginDocument{  \EQ_overload_ams_begin:n {equation}  \MH_let:cc {endAmSequation}{endequation}  \MH_let:cc {endAmSequation*}{endequation*}  \MH_if_boolean:nT {overload_ams}{  \def\EQ_renew_ams_environment:n #1{%  \MaybeMHPrecedingSpacesOff  \renewenvironment{#1}[1][]{%  \MH_let:NwN\EQ_saved_maketag: \maketag@@@%  \renewcommand\eqref[1]{\empheqeqrefbase{%  \let\maketag@@@\EQ_saved_maketag:%  \tagform@{\ref{####1}}}}  \setkeys{\EQ_options_name:}{##1}%  \setkeys{EmphEqEnv}{AmS#1}%  \EmphEqMainEnv  }{\endEmphEqMainEnv}  \MHPrecedingSpacesOn  }  \EQ_new_equationtype:nnn {EmphEqEnv}{AmSalign} {1}  \EQ_new_equationtype:nnn {EmphEqEnv}{AmSalign*} {2}  \EQ_new_equationtype:nnn {EmphEqEnv}{AmSgather} {3}  \EQ_new_equationtype:nnn {EmphEqEnv}{AmSgather*} {4}  \EQ_new_equationtype:nnn {EmphEqEnv}{AmSflalign} {5}  \EQ_new_equationtype:nnn {EmphEqEnv}{AmSflalign*}{6}  \EQ_new_equationtype_arg:nnn {EmphEqEnv}{AmSalignat} {7}  \EQ_new_equationtype_arg:nnn {EmphEqEnv}{AmSalignat*}{8}  \EQ_overload_ams_begin:n {gather}  \MH_let:cc {endAmSgather}{endgather}  \MH_let:cc {endAmSgather*}{endAmSgather}  \EQ_renew_ams_environment:n {gather}  \EQ_renew_ams_environment:n {gather*}  \EQ_overload_ams_begin:n {equation}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv} {AmSequation}  {AmSgather}{\EQ_disable_linebreak:}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSequation*}  {AmSgather*}{\EQ_disable_linebreak:}  \EQ_renew_ams_environment:n {equation}  \EQ_renew_ams_environment:n {equation*}  \EQ_overload_ams_begin:n {align}  \MH_let:cc {endAmSalign}{endalign}  \EQ_overload_ams_end:n {align*}  \EQ_renew_ams_environment:n {align}  \EQ_renew_ams_environment:n {align*}  \EQ_overload_ams_begin:n {flalign}  \EQ_overload_ams_end:n {flalign}  \EQ_overload_ams_end:n {flalign*}  \EQ_renew_ams_environment:n {flalign}  \EQ_renew_ams_environment:n {flalign*}  \EQ_overload_ams_begin:n {alignat}  \EQ_overload_ams_end:n {alignat}  \EQ_overload_ams_end:n {alignat*}  \MaybeMHPrecedingSpacesOff  \newcommand*\EQ_alignat_optional:w [1][]{  \setkeys{\EQ_options_name:}{#1}  \EmphEqMainEnv}  \MHPrecedingSpacesOn  \renewenvironment{alignat}[1]{  \MH_let:NwN\EQ_saved_maketag: \maketag@@@%  \renewcommand\eqref[1]{\empheqeqrefbase{%  \let\maketag@@@\EQ_saved_maketag:%  \tagform@{\ref{##1}}}}  \setkeys{EmphEqEnv}{AmSalignat=#1}  \EQ_alignat_optional:w}  {\endEmphEqMainEnv}  \renewenvironment{alignat*}[1]{%  \MH_let:NwN\EQ_saved_maketag: \maketag@@@%  \renewcommand\eqref[1]{\empheqeqrefbase{%  \let\maketag@@@\EQ_saved_maketag:%  \tagform@{\ref{##1}}}}  \setkeys{EmphEqEnv}{AmSalignat*=#1}%  \EQ_alignat_optional:w}%  {\endEmphEqMainEnv}  \DeclareRobustCommand{\[}{\begin{AmSequation*}}  \DeclareRobustCommand{\]}{\end{AmSequation*}}  \MH_keyval_alias:nnn {EmphEqEnv}{gather} {AmSgather}  \MH_keyval_alias:nnn {EmphEqEnv}{gather*} {AmSgather*}  \MH_keyval_alias:nnn {EmphEqEnv}{align} {AmSalign}  \MH_keyval_alias:nnn {EmphEqEnv}{align*} {AmSalign*}  \MH_keyval_alias:nnn {EmphEqEnv}{flalign} {AmSflalign}  \MH_keyval_alias:nnn {EmphEqEnv}{flalign*}{AmSflalign*}  \MH_keyval_alias:nnn {EmphEqEnv}{alignat} {AmSalignat}  \MH_keyval_alias:nnn {EmphEqEnv}{alignat*}{AmSalignat*}  \MH_if_boolean:nT {good_mult}{  \EQ_overload_ams_begin:n {multline}  \MH_let:cc {endAmSmultline}{endmultline}  \MH_let:cc {endAmSmultline*}{endAmSmultline}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline}  {AmSgather}{\MH_set_boolean_T:n {outer_mult}}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline*}  {AmSgather*}{\MH_set_boolean_T:n {outer_mult}}  \EQ_renew_ams_environment:n {multline}  \EQ_renew_ams_environment:n {multline*}  }  \MH_if_boolean:nT {overload_amsII}{  \MH_protected:\def\[#1\]{\begin{equation*} #1\end{equation*}}  \MH_if_boolean:nF {good_mult}{  \EQ_overload_ams_begin:n {multline}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline}  {AmSflalign}{\MH_set_boolean_T:n {multline}}  \MH_keyval_alias_with_addon:nnnn {EmphEqEnv}{AmSmultline*}  {AmSflalign*}{\MH_set_boolean_T:n {multline}}  \EQ_renew_ams_environment:n {multline}  \EQ_renew_ams_environment:n {multline*}  }  }  }  }  \if\g@EQ@ntheorem@support@bool  \else  \expandafter\endinput  \fi  \def\default_raisetag:{\nobreak}  \def\raisetag#1{  \skip@#1\relax  \xdef\raise@tag{\default_raisetag:  \vskip\iftagsleft@\else:-\fi:\the\skip@\relax}}  \MH_let:NwN\raise@tag\default_raisetag:  \def\displ@y@{\@display@init{%  \global\column@\z@ \global\dspbrk@lvl\m@ne  \global\tag@false \global\MH_let:NwN\raise@tag\default_raisetag:  }}  \def\MT_gobblelabel:w #1{\@ifnextchar[{\EQ_gobbleoptional:w}{}}  \def\EQ_gobbleoptional:w [#1]{}  \def\gmeasure@#1{%  \begingroup  \measuring@true  \totwidth@\z@  \global\MH_let:NwN\tag@lengths\@empty  \savecounters@  \setbox\@ne\vbox{%  \everycr{\noalign{\global\tag@false  \global\MH_let:NwN\raise@tag\default_raisetag:  \global\column@\z@}}%  \MH_let:NwN\label\MT_gobblelabel:w  \halign{%  \setboxz@h{$\m@th\displaystyle{##}$}%  \if_dim:w \wdz@>\totwidth@  \global\totwidth@\wdz@  \fi:  &\setboxz@h{\strut@{##}}%  \savetaglength@  \crcr  #1%  \math@cr@@@  }%  }%  \restorecounters@  \if@fleqn  \global\advance\totwidth@\@mathmargin  \fi:  \iftagsleft@  \if_dim:w \totwidth@>\displaywidth  \global\MH_let:NwN\gdisplaywidth@\totwidth@  \else:  \global\MH_let:NwN\gdisplaywidth@\displaywidth  \fi:  \fi:  \endgroup  }  \def\measure@#1{%  \begingroup  \measuring@true  \global\eqnshift@\z@  \global\alignsep@\z@  \global\MH_let:NwN\tag@lengths\@empty  \global\MH_let:NwN\field@lengths\@empty  \savecounters@  \global\setbox0\vbox{%  \MH_let:NwN\math@cr@@@\math@cr@@@align@measure  \everycr{\noalign{\global\tag@false  \global\MH_let:NwN\raise@tag\default_raisetag:  \global\column@\z@}}%  \MH_let:NwN\label\MT_gobblelabel:w  \global\row@\z@  \tabskip\z@  \halign{\span\align@preamble\crcr  #1%  \math@cr@@@  \global\column@\z@  \add@amps\maxfields@\cr  }%  }%  \restorecounters@  \ifodd\maxfields@  \global\advance\maxfields@\@ne  \fi:  \if_num:w \xatlevel@=\tw@  \if_num:w \maxfields@<\thr@@  \MH_let:NwN\xatlevel@\z@  \fi:  \fi:  \setbox\z@\vbox{%  \unvbox\z@ \unpenalty \global\setbox\@ne\lastbox  }%  \global\totwidth@\wd\@ne  \if@fleqn \global\advance\totwidth@\@mathmargin \fi:  \global\MH_let:NwN\maxcolumn@widths\@empty  \begingroup  \MH_let:NwN\or:\relax  \loop  \global\setbox\@ne\hbox{%  \unhbox\@ne \unskip \global\setbox\thr@@\lastbox  }%  \ifhbox\thr@@  \xdef\maxcolumn@widths{ \or: \the\wd\thr@@ \maxcolumn@widths}%  \repeat  \endgroup  \dimen@\displaywidth  \advance\dimen@-\totwidth@  \if_case:w \xatlevel@  \global\alignsep@\z@  \MH_let:NwN\minalignsep\z@  \@tempcntb\z@  \if@fleqn  \@tempcnta\@ne  \global\eqnshift@\@mathmargin  \else:  \@tempcnta\tw@  \global\eqnshift@\dimen@  \global\divide\eqnshift@\@tempcnta  \fi:  \or:  \@tempcntb\maxfields@  \divide\@tempcntb\tw@  \@tempcnta\@tempcntb  \advance\@tempcntb\m@ne  \if@fleqn  \global\eqnshift@\@mathmargin  \global\alignsep@\dimen@  \global\divide\alignsep@\@tempcnta  \else:  \global\advance\@tempcnta\@ne  \global\eqnshift@\dimen@  \global\divide\eqnshift@\@tempcnta  \global\alignsep@\eqnshift@  \fi:  \or:  \@tempcntb\maxfields@  \divide\@tempcntb\tw@  \global\advance\@tempcntb\m@ne  \global\@tempcnta\@tempcntb  \global\eqnshift@\z@  \global\alignsep@\dimen@  \if@fleqn  \global\advance\alignsep@\@mathmargin\relax  \fi:  \global\divide\alignsep@\@tempcntb  \fi:  \if_dim:w \alignsep@<\minalignsep\relax  \global\alignsep@\minalignsep\relax  \if_dim:w \eqnshift@>\z@  \if@fleqn\else:  \global\eqnshift@\displaywidth  \global\advance\eqnshift@-\totwidth@  \global\advance\eqnshift@-\@tempcntb\alignsep@  \global\divide\eqnshift@\tw@  \fi:  \fi:  \fi:  \if_dim:w \eqnshift@<\z@  \global\eqnshift@\z@  \fi:  \calc@shift@align  \global\tagshift@\totwidth@  \global\advance\tagshift@\@tempcntb\alignsep@  \if@fleqn  \if_num:w \xatlevel@=\tw@  \global\advance\tagshift@-\@mathmargin\relax  \fi:  \else:  \global\advance\tagshift@\eqnshift@  \fi:  \iftagsleft@ \else:  \global\advance\tagshift@-\displaywidth  \fi:  \dimen@\minalignsep\relax  \global\advance\totwidth@\@tempcntb\dimen@  \if_dim:w \totwidth@>\displaywidth  \global\MH_let:NwN\displaywidth@\totwidth@  \else:  \global\MH_let:NwN\displaywidth@\displaywidth  \fi:  \endgroup  }  \def\EQ_multline_labelhack:n #1{%  \begingroup\measuring@false\label@in@display{#1}\endgroup}  \def\EQ_multline_labelhack_opt:nw #1[#2]{%  \begingroup\measuring@false\label@in@display{#1}[#2]\endgroup}  \def\multline@#1{%  \Let@  \@display@init{\global\advance\row@\@ne \global\dspbrk@lvl\m@ne}%  \chardef\dspbrk@context\z@  \restore@math@cr  \MH_let:NwN\tag\tag@in@align  \global\tag@false \global\MH_let:NwN\raise@tag\default_raisetag:  \mmeasure@{#1}%  \MH_let:NwN\tag\gobble@tag  \MH_let:NwN\label\MT_gobblelabel:w  \tabskip \if@fleqn \@mathmargin \else: \z@skip \fi:  \totwidth@\displaywidth  \if@fleqn  \advance\totwidth@-\@mathmargin  \fi:  \halign\bgroup  \hbox to\totwidth@{%  \if@fleqn  \hskip \@centering \relax  \else:  \hfil  \fi:  \strut@  $\m@th\displaystyle{}##\endmultline@math%$  \hfil  }%  \crcr  \if@fleqn  \hskip-\@mathmargin  \def\multline@indent{\hskip\@mathmargin}% put it back  \else:  \hfilneg  \def\multline@indent{\hskip\multlinegap}%  \fi:  \iftagsleft@  \iftag@  \begingroup  \ifshifttag@  \rlap{\vbox{%  \normalbaselines  \hbox{%  \strut@  \make@display@tag  }%  \vbox to\lineht@{}%  \raise@tag  }}%  \multline@indent  \else:  \setbox\z@\hbox{\make@display@tag}%  \dimen@\@mathmargin \advance\dimen@-\wd\z@  \if_dim:w \dimen@<\multlinetaggap  \dimen@\multlinetaggap  \fi:  \box\z@ \hskip\dimen@\relax  \fi:  \endgroup  \else:  \multline@indent  \fi:  \else:  \multline@indent  \fi:  #1%  }  \def\mmeasure@#1{%  \begingroup  \measuring@true  \def\label##1{%  \@ifnextchar[  {\EQ_multline_labelhack_opt:nw {##1}}  {\EQ_multline_labelhack:n {##1}}  }  \def\math@cr@@@{\cr}%  \MH_let:NwN\shoveleft\@iden \MH_let:NwN\shoveright\@iden  \savecounters@  \global\row@\z@  \setbox\@ne\vbox{%  \global\MH_let:NwN\df@tag\@empty  \halign{%  \setboxz@h{\@lign$\m@th\displaystyle{}##$}%  \iftagsleft@  \if_num:w \row@=\@ne  \global\totwidth@\wdz@  \global\lineht@\ht\z@  \fi:  \else:  \global\totwidth@\wdz@  \global\lineht@\dp\z@  \fi:  \crcr  #1%  \crcr  }%  }%  \if_meaning:NN  \df@tag\@empty  \else:  \global\tag@true  \fi:  \if@eqnsw\global\tag@true\fi:  \iftag@  \setboxz@h{%  \if@eqnsw  \stepcounter{equation}%  \tagform@\theequation  \else:  \df@tag  \fi:  }%  \global\tagwidth@\wdz@  \dimen@\totwidth@  \advance\dimen@\tagwidth@  \advance\dimen@\multlinetaggap  \iftagsleft@\else:  \if@fleqn  \advance\dimen@\@mathmargin  \fi:  \fi:  \if_dim:w \dimen@>\displaywidth  \global\shifttag@true  \else:  \global\shifttag@false  \fi:  \fi:  \restorecounters@  \endgroup  }  \newlength\mintagvsep  \mintagvsep5pt  \def\EQ_only_endmark:{%  \MH_set_boolean_T:n {show_manual_tags}  \global\tag@true  \iftagsleft@  \gdef\df@tag{%  \hbox to \displaywidth{%  \hss  \raisebox{-\normallineskip  -\depthof{\EQ_outerbox:{}}  -\heightof{\EQ_outerbox:{}}  -\dp\EQ_mathdisplay_box  -\ht\EQ_mathdisplay_box}  [0pt][0pt]{\PotEndMark{\maketag@@@}}}}  \else:  \gdef\df@tag{%  \raisebox{-\dp\EQ_mathdisplay_box  -\depthof{\EQ_outerbox:{}}}  {\PotEndMark{\maketag@@@}}}%  \fi:}  \def\EQ_tag_plus_endmark:{%  \iftagsleft@  \gdef\maketag@@@##1{%  \hfuzz\displaywidth  \makebox[\widthof{##1}][l]{%  \hbox to \displaywidth{\m@th\normalfont##1\hss  \raisebox{-\dp\EQ_mathdisplay_box  -\depthof{\EQ_outerbox:{}}}  {\PotEndMark{\hss}}}}}%  \else:  \gdef\maketag@@@##1{%  \hbox{\m@th\normalfont##1\llap{\hss\PotEndMark{%  \settoheight{\@tempdima}{\@nameuse{\InTheoType Symbol}}%  \MH_addtolength:dn \@tempdima  {\g_EQ_bottomtag_depth_dim+\mintagvsep}  \setlength{\@tempdimb}  {\g_EQ_bottomrow_depth_dim+\depthof{\EQ_outerbox:{}}  +\depthof{\EQ_innerbox:{}}}  \if_dim:w \@tempdima>\@tempdimb  \MH_setlength:dn \@tempdima{-\dp\EQ_mathdisplay_box  -\@tempdima+\g_EQ_bottomrow_depth_dim}  \addtolength{\@tempdima}{\depthof{\EQ_innerbox:{}}}%  \def\EQ_next:{\raisebox{\@tempdima}}%  \else:  \def\EQ_next:{  \raisebox{-\dp\EQ_mathdisplay_box  -\depthof{\EQ_outerbox:{}}}}%  \fi:\EQ_next:}}}}%  \fi:}  \MH_let:NwN \MT_nonumber: \nonumber  \def\g_EQ_latest_nonzerodepth_row_fint{\z@}  \renewcommand*\nonumber{  \@tempcnta=\row@  \if_num:w \l_EQ_equationtype_int=\thr@@  \advance\@tempcnta\m@ne  \else:  \if_num:w \l_EQ_equationtype_int=4\relax  \advance\@tempcnta\m@ne  \fi:  \fi:  \if_num:w \g_EQ_latest_nonzerodepth_row_fint=\@tempcnta  \else:  \global\g_EQ_bottomtag_depth_dim=-\baselineskip  \fi:  \MT_nonumber:  }  \endinput  %%  %% End of file `empheq.sty'.           

%%  %% This is file `mathtools.sty',  %% generated with the docstrip utility.  %%  %% The original source files were:  %%  %% mathtools.dtx (with options: `package')  %%   %% This is a generated file.  %%   %% Copyright (C) 2002-2011 by Morten Hoegholm  %% Copyright (C) 2012- by Lars Madsen  %%   %%   %% This work may be distributed and/or modified under the  %% conditions of the LaTeX Project Public License, either  %% version 1.3 of this license or (at your option) any later  %% version. The latest version of this license is in  %% http://www.latex-project.org/lppl.txt  %% and version 1.3 or later is part of all distributions of  %% LaTeX version 2005/12/01 or later.  %%   %% This work has the LPPL maintenance status "maintained".  %%   %% This Current Maintainer of this work is  %% Lars Madsen  %%   %% This work consists of the main source file mathtools.dtx  %% and the derived files  %% mathtools.sty, mathtools.pdf, mathtools.ins, mathtools.drv.  %%   \ProvidesPackage{mathtools}%  [2015/06/17 v1.17 mathematical typesetting tools]  \RequirePackage{keyval,calc}  \RequirePackage{mhsetup}[2010/01/21]  \MHInternalSyntaxOn  % borrowed from fixltx2e  \def\EQ_MakeRobust#1{%  \@ifundefined{\expandafter\@gobble\string#1}{%  \@latex@error{The control sequence `\string#1' is undefined!%  \MessageBreak There is nothing here to make robust}%  \@eha  }%  {%  \@ifundefined{\expandafter\@gobble\string#1\space}%  {%  \expandafter\let\csname  \expandafter\@gobble\string#1\space\endcsname=#1%  \edef\reserved@a{\string#1}%  \def\reserved@b{#1}%  \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%  \edef#1{%  \ifx\reserved@a\reserved@b  \noexpand\x@protect\noexpand#1%  \fi  \noexpand\protect\expandafter\noexpand  \csname\expandafter\@gobble\string#1\space\endcsname}%  }%  {\@latex@info{The control sequence `\string#1' is already robust}}%  }%  }  \def\forced_EQ_MakeRobust#1{%  \@ifundefined{\expandafter\@gobble\string#1}{%  \@latex@error{The control sequence `\string#1' is undefined!%  \MessageBreak There is nothing here to make robust}%  \@eha  }%  {%  % \@ifundefined{\expandafter\@gobble\string#1\space}%  % {%  \expandafter\let\csname  \expandafter\@gobble\string#1\space\endcsname=#1%  \edef\reserved@a{\string#1}%  \def\reserved@b{#1}%  \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%  \edef#1{%  \ifx\reserved@a\reserved@b  \noexpand\x@protect\noexpand#1%  \fi  \noexpand\protect\expandafter\noexpand  \csname\expandafter\@gobble\string#1\space\endcsname}%  % }%  % {\@latex@info{The control sequence `\string#1' is already robust}}%  }%  }  \def\MT_options_name:{mathtools}  \newcommand*\mathtoolsset[1]{\setkeys{\MT_options_name:}{#1}}  \MH_new_boolean:n {fixamsmath}  \DeclareOption{fixamsmath}{  \MH_set_boolean_T:n {fixamsmath}  }  \DeclareOption{donotfixamsmathbugs}{  \MH_set_boolean_F:n {fixamsmath}  }  \DeclareOption{allowspaces}{  \MH_let:NwN \MaybeMHPrecedingSpacesOff  \relax  \MH_let:NwN \MH_maybe_nospace_ifnextchar:Nnn \kernel@ifnextchar  }  \DeclareOption{disallowspaces}{  \MH_let:NwN \MaybeMHPrecedingSpacesOff  \MHPrecedingSpacesOff  \MH_let:NwN \MH_maybe_nospace_ifnextchar:Nnn \MH_nospace_ifnextchar:Nnn  }  \MH_new_boolean:n {robustify}  \MH_set_boolean_T:n {robustify}  \DeclareOption{nonrobust}{  \MH_set_boolean_F:n {robustify}  }  \DeclareOption*{  \PassOptionsToPackage{\CurrentOption}{amsmath}  }  \ExecuteOptions{fixamsmath,disallowspaces}  \ProcessOptions\relax  \MHInternalSyntaxOff  \RequirePackage{amsmath}[2000/07/18]  \MHInternalSyntaxOn  \AtEndOfPackage{\MHInternalSyntaxOff}  \def\MT_true_false_error:{  \PackageError{mathtools}  {You~ have~ to~ select~ either~ `true'~ or~ `false'}  {I'll~ assume~ you~ chose~ `false'~ for~ now.}  }  \MH_if_boolean:nT {robustify}{  \EQ_MakeRobust\(  \EQ_MakeRobust\)  \EQ_MakeRobust\[  \EQ_MakeRobust\]  }  \def\MT_define_tagform:nwnn #1[#2]#3#4{  \@namedef{MT_tagform_#1:n}##1  {\maketag@@@{#3\ignorespaces#2{##1}\unskip\@@italiccorr#4}}  }  \providecommand*\newtagform[1]{%  \@ifundefined{MT_tagform_#1:n}  {\@ifnextchar[%  {\MT_define_tagform:nwnn #1}%  {\MT_define_tagform:nwnn #1[]}%  }{\PackageError{mathtools}  {The~ tag~ form~ `#1'~ is~ already~ defined\MessageBreak  You~ probably~ want~ to~ look~ up~ \@backslashchar renewtagform~  instead}  {I~ will~ just~ ignore~ your~ wish~ for~ now.}}  }  \newtagform{default}{(}{)}  \providecommand*\renewtagform[1]{%  \@ifundefined{MT_tagform_#1:n}  {\PackageError{mathtools}  {The~ tag~ form~ `#1'~ is~ not~ defined\MessageBreak  You~ probably~ want~ to~ look~ up~ \@backslashchar newtagform~ instead}  {I~ will~ just~ ignore~ your~ wish~ for~ now.}}  {\@ifnextchar[%  {\MT_define_tagform:nwnn #1}%  {\MT_define_tagform:nwnn #1[]}%  }  }  \providecommand*\usetagform[1]{%  \@ifundefined{MT_tagform_#1:n}  {  \PackageError{mathtools}{%  You~ have~ chosen~ the~ tag~ form~ `#1'\MessageBreak  but~ it~ appears~ to~ be~ undefined}  {I~ will~ use~ the~ default~ tag~ form~ instead.}%  \@namedef{tagform@}{\@nameuse{MT_tagform_default:n}}  }  { \@namedef{tagform@}{\@nameuse{MT_tagform_#1:n}} }  \MH_if_boolean:nT {show_only_refs}{  \MH_let:NwN \MT_prev_tagform:n \tagform@  \def\tagform@##1{\MT_extended_tagform:n {##1}}  }  }  \MH_new_boolean:n {manual_tag}  \MH_new_boolean:n {raw_maketag}  \MH_let:NwN \MT_AmS_tag_in_align: \tag@in@align  \def\tag@in@align{  \global\MH_set_boolean_T:n {manual_tag}  \MT_AmS_tag_in_align:  }  \def\tag@in@display#1#{  \relax  \global\MH_set_boolean_T:n {manual_tag}  \tag@in@display@a{#1}  }  \def\MT_extended_tagform:n #1{  \MH_set_boolean_F:n {raw_maketag}  \if_meaning:NN \df@label\@empty  \MH_if_boolean:nTF {manual_tag}% this was \MH_if_boolean:nT before  { \MH_if_boolean:nTF {show_manual_tags}  { \MT_prev_tagform:n {#1} }  { \stepcounter{equation} }  }{\kern1sp}% this last {\kern1sp} is new.  \else:  \MH_if_boolean:nTF {manual_tag}  { \MH_if_boolean:nTF {show_manual_tags}  { \MT_prev_tagform:n {#1} }  { \@safe@activestrue  \@ifundefined{MT_r_\df@label}  { \global\MH_set_boolean_F:n {manual_tag} }  { \MT_prev_tagform:n {#1} }  \@safe@activesfalse  }  }  {  \@safe@activestrue  \@ifundefined{MT_r_\df@label}  { }  { \refstepcounter{equation}\MT_prev_tagform:n {#1} }  \@safe@activesfalse  }  \fi:  \global\MH_set_boolean_T:n {raw_maketag}  }  \def\MT_extended_maketag:n #1{  \ifx\df@label\@empty  \MT_maketag:n {#1}  \else:  \MH_if_boolean:nTF {raw_maketag}  {  \MH_if_boolean:nTF {show_manual_tags}  { \MT_maketag:n {#1} }  { \@safe@activestrue  \@ifundefined{MT_r_\df@label}  { }  { \MT_maketag:n {#1} }  \@safe@activesfalse  }  }  { \MT_maketag:n {#1} }  \fi:  \global\MH_set_boolean_F:n {manual_tag}  }  \def\MT_extended_eqref:n #1{  \protected@write\@auxout{}  {\string\MT@newlabel{#1}}  \textup{\let\df@label\@empty\MT_prev_tagform:n {\ref{#1}}}  }  \EQ_MakeRobust\MT_extended_eqref:n  \newcommand*\refeq[1]{  \textup{\ref{#1}}  }  \def\MT_extended_refeq:n #1{  \protected@write\@auxout{}  {\string\MT@newlabel{#1}}  \textup{\ref{#1}}  }  \newcommand*\MT@newlabel[1]{ \global\@namedef{MT_r_#1}{} }  \MH_new_boolean:n {show_only_refs}  \MH_new_boolean:n {show_manual_tags}  \define@key{\MT_options_name:}{showmanualtags}[true]{  \@ifundefined{boolean_show_manual_tags_#1:}  { \MT_true_false_error:  \@nameuse{boolean_show_manual_tags_false:}  }  { \@nameuse{boolean_show_manual_tags_#1:} }  }  \newcommand*\MT_showonlyrefs_true:{  \MH_if_boolean:nF {show_only_refs}{  \MH_set_boolean_T:n {show_only_refs}  \MH_let:NwN \MT_incr_eqnum: \incr@eqnum  \MH_let:NwN \incr@eqnum \@empty  \MH_let:NwN \MT_array_parbox_restore: \@arrayparboxrestore  \@xp\def\@xp\@arrayparboxrestore\@xp{\@arrayparboxrestore  \MH_let:NwN \incr@eqnum \@empty  }  \MH_let:NwN \MT_prev_tagform:n \tagform@  \MH_let:NwN \MT_eqref:n \eqref  \MH_let:NwN \MT_refeq:n \refeq  \MH_let:NwN \MT_maketag:n \maketag@@@  \MH_let:NwN \maketag@@@ \MT_extended_maketag:n  \def\tagform@##1{\MT_extended_tagform:n {##1}}  \MH_let:NwN \eqref \MT_extended_eqref:n  \MH_let:NwN \refeq \MT_extended_refeq:n  }  }  \def\MT_showonlyrefs_false: {  \MH_if_boolean:nT {show_only_refs}{  \MH_set_boolean_F:n {show_only_refs}  \MH_let:NwN \tagform@ \MT_prev_tagform:n  \MH_let:NwN \eqref \MT_eqref:n  \MH_let:NwN \refeq \MT_refeq:n  \MH_let:NwN \maketag@@@ \MT_maketag:n  \MH_let:NwN \incr@eqnum \MT_incr_eqnum:  \MH_let:NwN \@arrayparboxrestore \MT_array_parbox_restore:  }  }  \define@key{\MT_options_name:}{showonlyrefs}[true]{  \@nameuse{MT_showonlyrefs_#1:}  }  \renewcommand\nonumber{  \if@eqnsw  \if_meaning:NN \incr@eqnum\@empty  \MH_if_boolean:nF {show_only_refs}  {\addtocounter{equation}\m@ne}  \fi:  \fi:  \MH_let:NwN \print@eqnum\@empty \MH_let:NwN \incr@eqnum\@empty  \global\@eqnswfalse  }  \MHInternalSyntaxOff  \newcommand\noeqref[1]{\@bsphack  \@for\@tempa:=#1\do{%  \@safe@activestrue%  \edef\@tempa{\expandafter\@firstofone\@tempa}%  \@ifundefined{r@\@tempa}{%  \protect\G@refundefinedtrue%  \@latex@warning{Reference `\@tempa' on page \thepage \space  undefined (\string\noeqref)}%  }{}%  \if@filesw\protected@write\@auxout{}%  {\string\MT@newlabel{\@tempa}}\fi%  \@safe@activesfalse}  \@esphack}  \providecommand\@safe@activestrue{}%  \providecommand\@safe@activesfalse{}%  \MHInternalSyntaxOn  \providecommand*\xleftrightarrow[2][]{%  \ext@arrow 3095\MT_leftrightarrow_fill:{#1}{#2}}  \def\MT_leftrightarrow_fill:{%  \arrowfill@\leftarrow\relbar\rightarrow}  \providecommand*\xLeftarrow[2][]{%  \ext@arrow 0055{\Leftarrowfill@}{#1}{#2}}  \providecommand*\xRightarrow[2][]{%  \ext@arrow 0055{\Rightarrowfill@}{#1}{#2}}  \providecommand*\xLeftrightarrow[2][]{%  \ext@arrow 0055{\Leftrightarrowfill@}{#1}{#2}}  \def\MT_rightharpoondown_fill:{%  \arrowfill@\relbar\relbar\rightharpoondown}  \def\MT_rightharpoonup_fill:{%  \arrowfill@\relbar\relbar\rightharpoonup}  \def\MT_leftharpoondown_fill:{%  \arrowfill@\leftharpoondown\relbar\relbar}  \def\MT_leftharpoonup_fill:{%  \arrowfill@\leftharpoonup\relbar\relbar}  \providecommand*\xrightharpoondown[2][]{%  \ext@arrow 0359\MT_rightharpoondown_fill:{#1}{#2}}  \providecommand*\xrightharpoonup[2][]{%  \ext@arrow 0359\MT_rightharpoonup_fill:{#1}{#2}}  \providecommand*\xleftharpoondown[2][]{%  \ext@arrow 3095\MT_leftharpoondown_fill:{#1}{#2}}  \providecommand*\xleftharpoonup[2][]{%  \ext@arrow 3095\MT_leftharpoonup_fill:{#1}{#2}}  \providecommand*\xleftrightharpoons[2][]{\mathrel{%  \raise.22ex\hbox{%  $\ext@arrow 3095\MT_leftharpoonup_fill:{\phantom{#1}}{#2}$}%  \setbox0=\hbox{%  $\ext@arrow 0359\MT_rightharpoondown_fill:{#1}{\phantom{#2}}$}%  \kern-\wd0 \lower.22ex\box0}}  \providecommand*\xrightleftharpoons[2][]{\mathrel{%  \raise.22ex\hbox{%  $\ext@arrow 0359\MT_rightharpoonup_fill:{\phantom{#1}}{#2}$}%  \setbox0=\hbox{%  $\ext@arrow 3095\MT_leftharpoondown_fill:{#1}{\phantom{#2}}$}%  \kern-\wd0 \lower.22ex\box0}}  \providecommand*\xhookleftarrow[2][]{%  \ext@arrow 3095\MT_hookleft_fill:{#1}{#2}}  \def\MT_hookleft_fill:{%  \arrowfill@\leftarrow\relbar{\relbar\joinrel\rhook}}  \providecommand*\xhookrightarrow[2][]{%  \ext@arrow 3095\MT_hookright_fill:{#1}{#2}}  \def\MT_hookright_fill:{%  \arrowfill@{\lhook\joinrel\relbar}\relbar\rightarrow}  \providecommand*\xmapsto[2][]{%  \ext@arrow 0395\MT_mapsto_fill:{#1}{#2}}  \def\MT_mapsto_fill:{%  \arrowfill@{\mapstochar\relbar}\relbar\rightarrow}  \providecommand*\underbracket{  \@ifnextchar[  {\MT_underbracket_I:w}  {\MT_underbracket_I:w[\l_MT_bracketheight_fdim]}}  \def\MT_underbracket_I:w[#1]{  \@ifnextchar[  {\MT_underbracket_II:w[#1]}  {\MT_underbracket_II:w[#1][.7\fontdimen5\textfont2]}}  \def\MT_underbracket_II:w[#1][#2]#3{%  \mathop{\vtop{\m@th\ialign{##  \crcr  $\hfil\displaystyle{#3}\hfil$%  \crcr  \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%  \upbracketfill {#1}{#2}%  \crcr}}}  \limits}  \def\upbracketfill#1#2{%  \sbox\z@{$\braceld$}  \edef\l_MT_bracketheight_fdim{\the\ht\z@}%  \upbracketend{#1}{#2}  \leaders \vrule \@height \z@ \@depth #1 \hfill  \upbracketend{#1}{#2}%  }  \def\upbracketend#1#2{\vrule \@height #2 \@width #1\relax}  \providecommand*\overbracket{  \@ifnextchar[  {\MT_overbracket_I:w}  {\MT_overbracket_I:w[\l_MT_bracketheight_fdim]}}  \def\MT_overbracket_I:w[#1]{  \@ifnextchar[  {\MT_overbracket_II:w[#1]}  {\MT_overbracket_II:w[#1][.7\fontdimen5\textfont2]}}  \def\MT_overbracket_II:w[#1][#2]#3{%  \mathop{\vbox{\m@th\ialign{##  \crcr  \downbracketfill{#1}{#2}%  \crcr  \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%  $\hfil\displaystyle{#3}\hfil$  \crcr}}}%  \limits}  \def\downbracketfill#1#2{%  \sbox\z@{$\braceld$}\edef\l_MT_bracketheight_fdim{\the\ht\z@}  \downbracketend{#1}{#2}  \leaders \vrule \@height #1 \@depth \z@ \hfill  \downbracketend{#1}{#2}%  }  \def\downbracketend#1#2{\vrule \@width #1\@depth #2\relax}  \MH_let:NwN \LaTeXunderbrace \underbrace  \def\underbrace#1{\mathop{\vtop{\m@th\ialign{##\crcr  $\hfil\displaystyle{#1}\hfil$\crcr  \noalign{\kern.7\fontdimen5\textfont2\nointerlineskip}%  \upbracefill\crcr\noalign{\kern.5\fontdimen5\textfont2}}}}\limits}  \MH_let:NwN \LaTeXoverbrace \overbrace  \def\overbrace#1{\mathop{\vbox{\m@th\ialign{##\crcr  \noalign{\kern.5\fontdimen5\textfont2}%  \downbracefill\crcr  \noalign{\kern.7\fontdimen5\textfont2\nointerlineskip}%  $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}  \providecommand*\lparen{(}  \providecommand*\rparen{)}  \def\vcentcolon{\mathrel{\mathop\ordinarycolon}}  \providecommand\ordinarycolon{:}  \begingroup  \catcode`\:=\active  \lowercase{\endgroup  \def\MT_activate_colon{%  \ifnum\mathcode`\:=32768\relax  \let\ordinarycolon= :%  \else  \mathchardef\ordinarycolon\mathcode`\: %  \fi  \let :\vcentcolon  }  }  \MH_new_boolean:n {center_colon}  \define@key{\MT_options_name:}{centercolon}[true]{  \@ifundefined{MT_active_colon_#1:}  { \MT_true_false_error:n  \@nameuse{MT_active_colon_false:}  }  { \@nameuse{MT_active_colon_#1:} }  }  \def\MT_active_colon_true: {  \MT_activate_colon  \MH_if_boolean:nF {center_colon}{  \MH_set_boolean_T:n {center_colon}  \edef\MT_active_colon_false:  {\mathcode`\noexpand\:=\the\mathcode`\:\relax}  \mathcode`\:=32768  }  }  \AtBeginDocument{  \providecommand*\dblcolon{\mathrel{\vcentcolon\mkern-.9mu\vcentcolon}}  \providecommand*\coloneqq{\mathrel{\vcentcolon\mkern-1.2mu=}}  \providecommand*\Coloneqq{\mathrel{\dblcolon\mkern-1.2mu=}}  \providecommand*\coloneq{\mathrel{\vcentcolon\mkern-1.2mu\mathrel{-}}}  \providecommand*\Coloneq{\mathrel{\dblcolon\mkern-1.2mu\mathrel{-}}}  \providecommand*\eqqcolon{\mathrel{=\mkern-1.2mu\vcentcolon}}  \providecommand*\Eqqcolon{\mathrel{=\mkern-1.2mu\dblcolon}}  \providecommand*\eqcolon{\mathrel{\mathrel{-}\mkern-1.2mu\vcentcolon}}  \providecommand*\Eqcolon{\mathrel{\mathrel{-}\mkern-1.2mu\dblcolon}}  \providecommand*\colonapprox{\mathrel{\vcentcolon\mkern-1.2mu\approx}}  \providecommand*\Colonapprox{\mathrel{\dblcolon\mkern-1.2mu\approx}}  \providecommand*\colonsim{\mathrel{\vcentcolon\mkern-1.2mu\sim}}  \providecommand*\Colonsim{\mathrel{\dblcolon\mkern-1.2mu\sim}}  }  \let \AMS@math@cr@@ \math@cr@@  \MH_new_boolean:n {mult_firstline}  \MH_new_boolean:n {outer_mult}  \newcount\g_MT_multlinerow_int  \newdimen\l_MT_multwidth_dim  \newcommand*\MT_test_for_tcb_other:nnnnn [1]{  \if:w t#1\relax  \expandafter\MH_use_choice_i:nnnn  \else:  \if:w c#1\relax  \expandafter\expandafter\expandafter\MH_use_choice_ii:nnnn  \else:  \if:w b#1\relax  \expandafter\expandafter\expandafter  \expandafter\expandafter\expandafter\expandafter  \MH_use_choice_iii:nnnn  \else:  \expandafter\expandafter\expandafter  \expandafter\expandafter\expandafter\expandafter  \MH_use_choice_iv:nnnn  \fi:  \fi:  \fi:  }  \def\MT_mult_invisible_line: {  \crcr  \global\MH_set_boolean_F:n {mult_firstline}  \hbox to \l_MT_multwidth_dim{}\crcr  \noalign{\vskip-\baselineskip \vskip-\jot \vskip-\normallineskip}  }  \def\MT_mult_mathcr_atat:w [#1]{%  \if_num:w 0=`{\fi: \iffalse}\fi:  \MH_if_boolean:nT {mult_firstline}{  \kern\l_MT_mult_left_fdim  \MT_mult_invisible_line:  }  \crcr  \noalign{\vskip#1\relax}  \global\advance\g_MT_multlinerow_int\@ne  \if_num:w \g_MT_multlinerow_int=\l_MT_multline_lastline_fint  \MH_let:NwN \math@cr@@\MT_mult_last_mathcr:w  \fi:  }  \def\MT_mult_firstandlast_mathcr:w [#1]{%  \if_num:w 0=`{\fi: \iffalse}\fi:  \kern\l_MT_mult_left_fdim  \MT_mult_invisible_line:  \noalign{\vskip#1\relax}  \kern\l_MT_mult_right_fdim  }  \def\MT_mult_last_mathcr:w [#1]{  \if_num:w 0=`{\fi: \iffalse}\fi:\math@cr@@@  \noalign{\vskip#1\relax}  \kern\l_MT_mult_right_fdim}  \newcommand\MT_start_mult:N [1]{  \MT_test_for_tcb_other:nnnnn {#1}  { \MH_let:NwN \MT_next:\vtop }  { \MH_let:NwN \MT_next:\vcenter }  { \MH_let:NwN \MT_next:\vbox }  {  \PackageError{mathtools}  {Invalid~ position~ specifier.~ I'll~ try~ to~ recover~ with~  `c'}\@ehc  }  \collect@body\MT_mult_internal:n  }  \newcommand*\MT_shoveright:wn [2][0pt]{%  #2\hfilneg  \setlength\@tempdima{#1}  \kern\@tempdima  }  \newcommand*\MT_shoveleft:wn [2][0pt]{%  \hfilneg  \setlength\@tempdima{#1}  \kern\@tempdima  #2  }  \newcommand*\MT_mult_internal:n [1]{  \MH_if_boolean:nF {outer_mult}{\null\,}  \MT_next:  \bgroup  \Let@  \def\l_MT_multline_lastline_fint{0 }  \chardef\dspbrk@context\@ne \restore@math@cr  \MH_let:NwN \math@cr@@\MT_mult_mathcr_atat:w  \MH_let:NwN \shoveleft\MT_shoveleft:wn  \MH_let:NwN \shoveright\MT_shoveright:wn  \spread@equation  \MH_set_boolean_F:n {mult_firstline}  \MT_measure_mult:n {#1}  \if_dim:w \l_MT_multwidth_dim<\l_MT_multline_measure_fdim  \MH_setlength:dn \l_MT_multwidth_dim{\l_MT_multline_measure_fdim}  \fi  \MH_set_boolean_T:n {mult_firstline}  \if_num:w \l_MT_multline_lastline_fint=\@ne  \MH_let:NwN \math@cr@@ \MT_mult_firstandlast_mathcr:w  \fi:  \ialign\bgroup  \hfil\strut@$\m@th\displaystyle{}##$\hfil  \crcr  \hfilneg  #1  }  \newcommand\MT_measure_mult:n [1]{  \begingroup  \g_MT_multlinerow_int\@ne  \MH_let:NwN \label\MT_gobblelabel:w  \MH_let:NwN \tag\gobble@tag  \setbox\z@\vbox{  \ialign{\strut@$\m@th\displaystyle{}##$  \crcr  #1  \crcr  }  }  \xdef\l_MT_multline_measure_fdim{\the\wdz@}  \advance\g_MT_multlinerow_int\m@ne  \xdef\l_MT_multline_lastline_fint{\number\g_MT_multlinerow_int}  \endgroup  \g_MT_multlinerow_int\@ne  }  \MaybeMHPrecedingSpacesOff  \newcommand*\MT_multlined_second_arg:w [1][\@empty]{  \MT_test_for_tcb_other:nnnnn {#1}  {\def\MT_mult_default_pos:{#1}}  {\def\MT_mult_default_pos:{#1}}  {\def\MT_mult_default_pos:{#1}}  {  \if_meaning:NN \@empty#1\@empty  \else:  \setlength \l_MT_multwidth_dim{#1}  \fi:  }  \MT_start_mult:N \MT_mult_default_pos:  }  \newenvironment{multlined}[1][]  {\MH_group_align_safe_begin:  \MT_test_for_tcb_other:nnnnn {#1}  {\def\MT_mult_default_pos:{#1}}  {\def\MT_mult_default_pos:{#1}}  {\def\MT_mult_default_pos:{#1}}  {  \if_meaning:NN \@empty#1\@empty  \else:  \setlength \l_MT_multwidth_dim{#1}  \fi:  }  \MT_multlined_second_arg:w  }  {  \hfilneg \endaligned \MH_group_align_safe_end:  }  \MHPrecedingSpacesOn  \define@key{\MT_options_name:}  {firstline-afterskip}{\def\l_MT_mult_left_fdim{#1}}  \define@key{\MT_options_name:}  {lastline-preskip}{\def\l_MT_mult_right_fdim{#1}}  \define@key{\MT_options_name:}  {multlined-width}{\setlength \l_MT_multwidth_dim{#1}}  \define@key{\MT_options_name:}  {multlined-pos}{\def\MT_mult_default_pos:{#1}}  \setkeys{\MT_options_name:}{  firstline-afterskip=\multlinegap,  lastline-preskip=\multlinegap,  multlined-width=0pt,  multlined-pos=c,  }  \def\MT_gobblelabel:w #1{}  \newcommand\MT_delim_default_inner_wrappers:n [1]{  \@namedef{MT_delim_\MH_cs_to_str:N #1 _star_wrapper:nnn}##1##2##3{  \mathopen{}\mathclose\bgroup ##1 ##2 \aftergroup\egroup ##3  }  \@namedef{MT_delim_\MH_cs_to_str:N #1 _nostar_wrapper:nnn}##1##2##3{  \mathopen{##1}##2\mathclose{##3}  }  }  \newcommand\reDeclarePairedDelimiterInnerWrapper[3]{  \@namedef{MT_delim_\MH_cs_to_str:N #1 _ #2 _wrapper:nnn}##1##2##3{  #3  }  }  \newcommand*\DeclarePairedDelimiter[3]{%  \@ifdefinable{#1}{  \MT_delim_default_inner_wrappers:n{#1}  \@namedef{MT_delim_\MH_cs_to_str:N #1 _star:}##1  %{\mathopen{}\mathclose\bgroup\left#2 ##1 \aftergroup\egroup\right #3}%  { \@nameuse{MT_delim_\MH_cs_to_str:N #1 _star_wrapper:nnn}%  {\left#2}{##1}{\right#3} }%  \@xp\@xp\@xp  \newcommand  \@xp\csname MT_delim_\MH_cs_to_str:N #1 _nostar:\endcsname  [2][\\@gobble]  {  %\mathopen{\@nameuse {\MH_cs_to_str:N ##1 l} #2} ##2  %\mathclose{\@nameuse {\MH_cs_to_str:N ##1 r} #3}}  \@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar_wrapper:nnn}%  {\@nameuse {\MH_cs_to_str:N ##1 l} #2}  {##2}  {\@nameuse {\MH_cs_to_str:N ##1 r} #3}  }  \DeclareRobustCommand{#1}{  \@ifstar  {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _star:}}  {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar:}}  }  }  }  \def\MHempty{}  \def\DeclarePairedDelimiterX#1[#2]#3#4#5{%  \@ifdefinable{#1}{  \MT_paired_delimx_arg_test:n{#2}  \MT_delim_default_inner_wrappers:n{#1}  \@xp\@xp\@xp  \newcommand  \@xp\csname MT_delim_\MH_cs_to_str:N #1 _star:\endcsname  [#2]  {  \begingroup  \def\delimsize{\middle}  %\mathopen{}\mathclose\bgroup\left#3 #5 \aftergroup\egroup\right#4  \@nameuse{MT_delim_\MH_cs_to_str:N #1 _star_wrapper:nnn}  {\left#3}{#5}{\right#4}  \endgroup  }  \@xp\@xp\@xp  \newcommand  \@xp\csname MT_delim_\MH_cs_to_str:N #1 _nostar:\endcsname  [1][\MHempty]  {  \begingroup  \def\delimsize{##1}  \@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar_inner:}  }  \@xp\@xp\@xp  \newcommand  \@xp\csname MT_delim_\MH_cs_to_str:N #1 _nostar_inner:\endcsname  [#2]  {  %\mathopen{%  % \let\MHempty\@gobble  % \@xp\@xp\@xp\csname\@xp\MH_cs_to_str:N \delimsize l\endcsname #3}  %#5  %\mathclose{%  % \let\MHempty\@gobble  % \@xp\@xp\@xp\csname\@xp\MH_cs_to_str:N \delimsize r\endcsname #4}  \@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar_wrapper:nnn}  {  \let\MHempty\@gobble  \@xp\@xp\@xp\csname\@xp\MH_cs_to_str:N \delimsize l\endcsname #3  }  {#5}  {  \let\MHempty\@gobble  \@xp\@xp\@xp\csname\@xp\MH_cs_to_str:N \delimsize r\endcsname #4  }  \endgroup  }  \DeclareRobustCommand{#1}{  \@ifstar  {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _star:}}  {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar:}}  }  }  }  \def\MT_paired_delimx_arg_test:n #1{  \ifnum#1>9\relax  \PackageError{mathtools}{No~ more~ than~ 9~ arguments}{}  \else  \ifnum#1<1\relax  \PackageError{mathtools}{Macro~ need~ 1~ or~ more~  arguments.\MessageBreak Please~ change~ [#1]~ to~ [1]~ ... [9]}{}  \fi  \fi  }  \def\DeclarePairedDelimiterXPP#1[#2]#3#4#5#6#7{%  \@ifdefinable{#1}{  \MT_paired_delimx_arg_test:n{#2}  \MT_delim_default_inner_wrappers:n{#1}  \@xp\@xp\@xp  \newcommand  \@xp\csname MT_delim_\MH_cs_to_str:N #1 _star:\endcsname  [#2]  {  \begingroup  \def\delimsize{\middle}  #3  \@nameuse{MT_delim_\MH_cs_to_str:N #1 _star_wrapper:nnn}  {\left#4}{#7}{\right#5}  #6  \endgroup  }  \@xp\@xp\@xp  \newcommand  \@xp\csname MT_delim_\MH_cs_to_str:N #1 _nostar:\endcsname  [1][\MHempty]  {  \begingroup  \def\delimsize{##1}  \@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar_inner:}  }  \@xp\@xp\@xp  \newcommand  \@xp\csname MT_delim_\MH_cs_to_str:N #1 _nostar_inner:\endcsname  [#2]  {  #3  \@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar_wrapper:nnn}  {  \let\MHempty\@gobble  \@xp\@xp\@xp\csname\@xp\MH_cs_to_str:N \delimsize l\endcsname #4  }  {#7}  {  \let\MHempty\@gobble  \@xp\@xp\@xp\csname\@xp\MH_cs_to_str:N \delimsize r\endcsname #5  }  #6  \endgroup  }  \DeclareRobustCommand{#1}{  \@ifstar  {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _star:}}  {\@nameuse{MT_delim_\MH_cs_to_str:N #1 _nostar:}}  }  }  }  \def\MT_start_cases:nnnn #1#2#3#4{ % #1=sep,#2=lpreamble,#3=rpreamble,#4=delim  \RIfM@\else  \nonmatherr@{\begin{\@currenvir}}  \fi  \MH_group_align_safe_begin:  \left#4  \vcenter \bgroup  \Let@ \chardef\dspbrk@context\@ne \restore@math@cr  \let \math@cr@@\AMS@math@cr@@  \spread@equation  \ialign\bgroup  \strut@#2 \strut@  #3  \crcr  }  \def\MH_end_cases:{\crcr\egroup  \restorecolumn@  \egroup  \MH_group_align_safe_end:  }  \newcommand*\newcases[6]{% #1=name, #2=sep, #3=preamble, #4=left, #5=right  \newenvironment{#1}  {\MT_start_cases:nnnn {#2}{#3}{#4}{#5}}  {\MH_end_cases:\right#6}  }  \newcommand*\renewcases[6]{  \renewenvironment{#1}  {\MT_start_cases:nnnn {#2}{#3}{#4}{#5}}  {\MH_end_cases:\right#6}  }  \newcases{dcases}{\quad}{%  $\m@th\displaystyle{##}$\hfil}{$\m@th\displaystyle{##}$\hfil}{\lbrace}{.}  \newcases{dcases*}{\quad}{%  $\m@th\displaystyle{##}$\hfil}{{##}\hfil}{\lbrace}{.}  \newcases{rcases}{\quad}{%  $\m@th{##}$\hfil}{$\m@th{##}$\hfil}{.}{\rbrace}  \newcases{rcases*}{\quad}{%  $\m@th{##}$\hfil}{{##}\hfil}{.}{\rbrace}  \newcases{drcases}{\quad}{%  $\m@th\displaystyle{##}$\hfil}{$\m@th\displaystyle{##}$\hfil}{.}{\rbrace}  \newcases{drcases*}{\quad}{%  $\m@th\displaystyle{##}$\hfil}{{##}\hfil}{.}{\rbrace}  \newcases{cases*}{\quad}{%  $\m@th{##}$\hfil}{{##}\hfil}{\lbrace}{.}  \def\MT_matrix_begin:N #1{%  \hskip -\arraycolsep  \MH_let:NwN \@ifnextchar \MH_nospace_ifnextchar:Nnn  \array{*\c@MaxMatrixCols #1}}  \def\MT_matrix_end:{\endarray \hskip -\arraycolsep}  \MaybeMHPrecedingSpacesOff  \newenvironment{matrix*}[1][c]  {\MT_matrix_begin:N #1}  {\MT_matrix_end:}  \newenvironment{pmatrix*}[1][c]  {\left(\MT_matrix_begin:N #1}  {\MT_matrix_end:\right)}  \newenvironment{bmatrix*}[1][c]  {\left[\MT_matrix_begin:N #1}  {\MT_matrix_end:\right]}  \newenvironment{Bmatrix*}[1][c]  {\left\lbrace\MT_matrix_begin:N #1}  {\MT_matrix_end:\right\rbrace}  \newenvironment{vmatrix*}[1][c]  {\left\lvert\MT_matrix_begin:N #1}  {\MT_matrix_end:\right\rvert}  \newenvironment{Vmatrix*}[1][c]  {\left\lVert\MT_matrix_begin:N #1}  {\MT_matrix_end:\right\lVert}  \def\MT_smallmatrix_begin:N #1{%  \Let@\restore@math@cr\default@tag  \baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip  \csname MT_smallmatrix_#1_begin:\endcsname  }  \def\MT_smallmatrix_end:{\crcr\egroup\egroup\MT_smallmatrix_inner_space:}  \def\MT_smallmatrix_l_begin:{\null\MT_smallmatrix_inner_space:\vcenter\bgroup  \ialign\bgroup$\m@th\scriptstyle##$\hfil&&\thickspace  $\m@th\scriptstyle##$\hfil\crcr  }  \def\MT_smallmatrix_c_begin:{\null\MT_smallmatrix_inner_space:\vcenter\bgroup  \ialign\bgroup\hfil$\m@th\scriptstyle##$\hfil&&\thickspace\hfil  $\m@th\scriptstyle##$\hfil\crcr  }  \def\MT_smallmatrix_r_begin:{\null\MT_smallmatrix_inner_space:\vcenter\bgroup  \ialign\bgroup\hfil$\m@th\scriptstyle##$&&\thickspace\hfil  $\m@th\scriptstyle##$\crcr  }  \newenvironment{smallmatrix*}[1][\MT_smallmatrix_default_align:]  {\MT_smallmatrix_begin:N #1}  {\MT_smallmatrix_end:}  \def\MT_fenced_sm_generator:nnn #1#2#3{%  \@ifundefined{#1}{%  \newenvironment{#1}  {\@nameuse{#1hook}\mathopen{}\mathclose\bgroup\left#2\MT_smallmatrix_begin:N c}%  {\MT_smallmatrix_end:\aftergroup\egroup\right#3}%  }{}%  \@ifundefined{#1*}{%  \newenvironment{#1*}[1][\MT_smallmatrix_default_align:]%  {\@nameuse{#1hook}\mathopen{}\mathclose\bgroup\left#2\MT_smallmatrix_begin:N ##1}%  {\MT_smallmatrix_end:\aftergroup\egroup\right#3}%  }{}%  }  \MT_fenced_sm_generator:nnn{psmallmatrix}()  \MT_fenced_sm_generator:nnn{bsmallmatrix}[]  \MT_fenced_sm_generator:nnn{Bsmallmatrix}\lbrace\rbrace  \MT_fenced_sm_generator:nnn{vsmallmatrix}\lvert\rvert  \MT_fenced_sm_generator:nnn{Vsmallmatrix}\lVert\rVert  \define@key{\MT_options_name:}  {smallmatrix-align}{\def\MT_smallmatrix_default_align:{#1}}  \define@key{\MT_options_name:}  {smallmatrix-inner-space}{\def\MT_smallmatrix_inner_space:{#1}}  \setkeys{\MT_options_name:}{  smallmatrix-align=c,  smallmatrix-inner-space=\,  }  \MHPrecedingSpacesOn  \newcommand*\smashoperator[2][lr]{  \def\MT_smop_use:NNNNN {\@nameuse{MT_smop_smash_#1:NNNNN}}  \toks@{#2}  \expandafter\MT_smop_get_args:wwwNnNn  \the\toks@\@nil\@nil\@nil\@nil\@nil\@nil\@@nil  }  \def\MT_smop_remove_nil_vi:N #1\@nil\@nil\@nil\@nil\@nil\@nil{#1}  \def\MT_smop_mathop:n {\mathop}  \def\MT_smop_limits: {\limits}  \MH_new_boolean:n {smop_one}  \MH_new_boolean:n {smop_two}  \def\MT_smop_get_args:wwwNnNn #1#2#3#4#5#6#7\@@nil{%  \begingroup  \def\MT_smop_arg_A: {#1} \def\MT_smop_arg_B: {#2}  \def\MT_smop_arg_C: {#3} \def\MT_smop_arg_D: {#4}  \def\MT_smop_arg_E: {#5} \def\MT_smop_arg_F: {#6}  \def\MT_smop_arg_G: {#7}  \if_meaning:NN \MT_smop_arg_A: \MT_smop_mathop:n  \if_meaning:NN \MT_smop_arg_C:\MT_smop_limits:  \def\MT_smop_final_arg_A:{#1{#2}}%  \if_meaning:NN \MT_smop_arg_D: \@nnil  \else:  \MH_set_boolean_T:n {smop_one}  \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_D:  \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_E:  \if_meaning:NN \MT_smop_arg_F: \@nnil  \else:  \MH_set_boolean_T:n {smop_two}  \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_F:  \edef\MT_smop_final_arg_E:  {\expandafter\MT_smop_remove_nil_vi:N \MT_smop_arg_G: }  \fi:  \fi:  \else:  \def\MT_smop_final_arg_A:{#1{#2}}%  \if_meaning:NN \MT_smop_arg_D: \@nnil  \else:  \MH_set_boolean_T:n {smop_one}  \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_C:  \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_D:  \if_meaning:NN \MT_smop_arg_F: \@nnil  \else:  \MH_set_boolean_T:n {smop_two}  \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_E:  \MH_let:NwN \MT_smop_final_arg_E: \MT_smop_arg_F:  \fi:  \fi:  \fi:  \else:  \if_meaning:NN \MT_smop_arg_B:\MT_smop_limits:  \def\MT_smop_final_arg_A:{#1}%  \if_meaning:NN \MT_smop_arg_D: \@nnil  \else:  \MH_set_boolean_T:n {smop_one}  \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_C:  \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_D:  \if_meaning:NN \MT_smop_arg_F: \@nnil  \else:  \MH_set_boolean_T:n {smop_two}  \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_E:  \MH_let:NwN \MT_smop_final_arg_E: \MT_smop_arg_F:  \fi:  \fi:  \else:  \def\MT_smop_final_arg_A:{#1}%  \if_meaning:NN \MT_smop_arg_C: \@nnil  \else:  \MH_set_boolean_T:n {smop_one}  \MH_let:NwN \MT_smop_final_arg_B: \MT_smop_arg_B:  \MH_let:NwN \MT_smop_final_arg_C: \MT_smop_arg_C:  \if_meaning:NN \MT_smop_arg_D: \@nnil  \else:  \MH_set_boolean_T:n {smop_two}  \MH_let:NwN \MT_smop_final_arg_D: \MT_smop_arg_D:  \MH_let:NwN \MT_smop_final_arg_E: \MT_smop_arg_E:  \fi:  \fi:  \fi:  \fi:  \MH_if_boolean:nT {smop_one}{  \MT_smop_measure:NNNNN  \MT_smop_final_arg_A: \MT_smop_final_arg_B: \MT_smop_final_arg_C:  \MT_smop_final_arg_D: \MT_smop_final_arg_E:  }  \MT_smop_use:NNNNN  \MT_smop_final_arg_A: \MT_smop_final_arg_B: \MT_smop_final_arg_C:  \MT_smop_final_arg_D: \MT_smop_final_arg_E:  \endgroup  }  \def\MT_smop_needed_args:NNNNN #1#2#3#4#5{%  \displaystyle #1  \MH_if_boolean:nT {smop_one}{  \limits#2{\MT_cramped_clap_internal:Nn \scriptstyle{#3}}  \MH_if_boolean:nT {smop_two}{  #4{\MT_cramped_clap_internal:Nn \scriptstyle{#5}}  }  }  }  \def\MT_smop_measure:NNNNN #1#2#3#4#5{%  \MH_let:NwN \MT_saved_mathclap:Nn \MT_cramped_clap_internal:Nn  \MH_let:NwN \MT_cramped_clap_internal:Nn \@secondoftwo  \sbox\z@{$\m@th\MT_smop_needed_args:NNNNN #1#2#3#4#5$}  \MH_let:NwN \MT_cramped_clap_internal:Nn \MT_saved_mathclap:Nn  \sbox\tw@{$\m@th\displaystyle#1$}  \@tempdima=.5\wd0  \advance\@tempdima-.5\wd2  }  \def\MT_smop_smash_l:NNNNN #1#2#3#4#5{  \MT_smop_needed_args:NNNNN #1#2#3#4#5\kern\@tempdima  }  \def\MT_smop_smash_r:NNNNN #1#2#3#4#5{  \kern\@tempdima\MT_smop_needed_args:NNNNN #1#2#3#4#5  }  \def\MT_smop_smash_lr:NNNNN #1#2#3#4#5{  \MT_smop_needed_args:NNNNN #1#2#3#4#5  }  \def\MT_vphantom:Nn {\v@true\h@false\MT_internal_phantom:N}  \def\MT_hphantom:Nn {\v@false\h@true\MT_internal_phantom:N}  \def\MT_phantom:Nn {\v@true\h@true\MT_internal_phantom:N}  \def\MT_internal_phantom:N #1{  \ifmmode  \expandafter\mathph@nt\expandafter#1  \else  \expandafter\makeph@nt  \fi  }  \newcommand*\adjustlimits[6]{  \sbox\z@{$\m@th \displaystyle #1$}  \sbox\tw@{$\m@th \displaystyle #4$}  \@tempdima=\dp\z@ \advance\@tempdima-\dp\tw@  \if_dim:w \@tempdima>\z@  \mathop{#1}\limits#2{#3}  \else:  \mathop{#1\MT_vphantom:Nn \displaystyle{#4}}\limits  #2{  \def\finsm@sh{\ht\z@\z@ \box\z@}  \mathsm@sh\scriptstyle{\MT_cramped_internal:Nn \scriptstyle{#3}}  \MT_vphantom:Nn \scriptstyle  {\MT_cramped_internal:Nn \scriptstyle{#6}}  }  \fi:  \if_dim:w \@tempdima>\z@  \mathop{#4\MT_vphantom:Nn \displaystyle{#1}}\limits  #5  {  \MT_vphantom:Nn \scriptstyle  {\MT_cramped_internal:Nn \scriptstyle{#3}}  \def\finsm@sh{\ht\z@\z@ \box\z@}  \mathsm@sh\scriptstyle{\MT_cramped_internal:Nn \scriptstyle{#6}}  }  \else:  \mathop{#4}\limits#5{#6}  \fi:  }  \newcommand\SwapAboveDisplaySkip{%  \noalign{\vskip-\abovedisplayskip\vskip\abovedisplayshortskip}  }  \newcommand\MoveEqLeft[1][2]{\kern #1em & \kern -#1em}  \newcommand\Aboxed[1]{\let\bgroup{\romannumeral-`}\@Aboxed#1&&\ENDDNE}  \def\@Aboxed#1\ENDDNE{%  \ifnum0=`{}\fi \setbox \z@  \hbox{$\displaystyle#1{}\m@th$\kern\fboxsep \kern\fboxrule }%  \edef\@tempa {\kern \wd\z@ &\kern -\the\wd\z@ \fboxsep  \the\fboxsep \fboxrule \the\fboxrule }\@tempa \boxed {#1#2}%  }  \MHInternalSyntaxOff  \def\ArrowBetweenLines{\relax  \iffalse{\fi\ifnum0=`}\fi  \@ifstar{\ArrowBetweenLines@auxI{00}}{\ArrowBetweenLines@auxI{01}}}  \def\ArrowBetweenLines@auxI#1{%  \@ifnextchar[%  {\ArrowBetweenLines@auxII{#1}}%  {\ArrowBetweenLines@auxII{#1}[\Updownarrow]}}  \def\ArrowBetweenLines@auxII#1[#2]{%  \ifnum0=`{\fi \iffalse}\fi  \expandafter\in@\expandafter{\@currenvir}%  {alignedat,aligned,gathered}%  \ifin@ \else  \notag  \fi%  \\  \noalign{\nobreak\vskip-\baselineskip\vskip-\lineskip}%  \noalign{\expandafter\in@\expandafter{\@currenvir}%  {alignedat,aligned,gathered}%  \ifin@ \else\notag\fi%  }%  \if#1 &&\quad #2\else #2\quad\fi  \\\noalign{\nobreak\vskip-\lineskip}}  \MHInternalSyntaxOn  \newcommand\vdotswithin[1]{%  {\mathmakebox[\widthof{\ensuremath{{}#1{}}}][c]{{\vdots}}}}  \newlength\origjot  \setlength\origjot{\jot}  \newdimen\l_MT_shortvdotswithinadjustabove_dim  \newdimen\l_MT_shortvdotswithinadjustbelow_dim  \define@key{\MT_options_name:}  {shortvdotsadjustabove}{\setlength\l_MT_shortvdotswithinadjustabove_dim{#1}}  \define@key{\MT_options_name:}  {shortvdotsadjustbelow}{\setlength\l_MT_shortvdotswithinadjustbelow_dim{#1}}  \setkeys{\MT_options_name:}{  shortvdotsadjustabove=2.15\origjot,  shortvdotsadjustbelow=\origjot  }  \def\shortvdotswithin{\relax  \@ifstar{\MT_svwi_aux:nn{00}}{\MT_svwi_aux:nn{01}}}  \def\MT_svwi_aux:nn #1#2{  \MTFlushSpaceAbove  \if#1 \vdotswithin{#2}& \else &\vdotswithin{#2} \fi  \MTFlushSpaceBelow  }  \def\MT_remove_tag_unless_inner:n #1{%  \begingroup  \def\etb@tempa##1|#1|##2\MT@END{\endgroup  \ifx\@empty##2\@empty\notag\fi}%  \expandafter\etb@tempa\expandafter|alignedat|aligned|split|#1|\MT@END}  %| emacs  \newcommand\MTFlushSpaceAbove{  \expandafter\MT_remove_tag_unless_inner:n\expandafter{\@currenvir}  \\  \noalign{%  \nobreak\vskip-\baselineskip\vskip-\lineskip%  \vskip-\l_MT_shortvdotswithinadjustabove_dim  \vskip-\origjot  \vskip\jot  }%  \noalign{  \expandafter\MT_remove_tag_unless_inner:n\expandafter{\@currenvir}  }  }  \newcommand\MTFlushSpaceBelow{  \\\noalign{%  \nobreak\vskip-\lineskip  \vskip-\l_MT_shortvdotswithinadjustbelow_dim  \vskip-\origjot  \vskip\jot  }  }  \def\MH_nrotarrow:NN #1#2{%  \setbox0=\hbox{$\m@th#1\uparrow$}\dimen0=\dp0  \setbox0=\hbox{%  \reflectbox{\rotatebox[origin=c]{90}{$\m@th#1\mkern2.22mu #2$}}}%  \dp0=\dimen0 \box0 \mkern2.3965mu  }  \def\MH_nuparrow: {%  \mathrel{\mathpalette\MH_nrotarrow:NN\nrightarrow} }  \def\MH_ndownarrow: {%  \mathrel{\mathpalette\MH_nrotarrow:NN\nleftarrow} }  \AtBeginDocument{%  \RequirePackage{graphicx}%  \@ifundefined{nrightarrow}{%  \providecommand\nuparrow{%  \PackageError{mathtools}{\string\nuparrow\space~ is~  constructed~ from~ \string\nrightarrow,~ which~ is~ not~  provided.~ Please~ load~ the~ amssymb~ package~ or~ similar}{}  }}{ \providecommand\nuparrow{\MH_nuparrow:}}  \@ifundefined{nleftarrow}{%  \providecommand\ndownarrow{%  \PackageError{mathtools}{\string\ndownarrow\space~ is~  constructed~ from~ \string\nleftarrow,~ which~ is~ not~  provided.~ Please~ load~ the~ amssymb~ package~ or~ similar}{}  }}{ \providecommand\ndownarrow{\MH_ndownarrow:}} }  \def\MH_bigtimes_scaler:N #1{%  \vcenter{\hbox{#1$\m@th\mkern-2mu\times\mkern-2mu$}}}  \def\MH_bigtimes_inner: {  \mathchoice{\MH_bigtimes_scaler:N \huge} % display style  {\MH_bigtimes_scaler:N \LARGE} % text style  {\MH_bigtimes_scaler:N {}} % script style  {\MH_bigtimes_scaler:N \footnotesize} % script script style  }  \def\MH_csym_bigtimes: {\mathop{\MH_bigtimes_inner:}\displaylimits}  \AtBeginDocument{  \providecommand\bigtimes{\MH_csym_bigtimes:}  }  \MH_let:NwN \MT_orig_intertext: \intertext@  \newdimen\l_MT_above_intertext_sep  \newdimen\l_MT_below_intertext_sep  \define@key{\MT_options_name:}  {aboveintertextdim}{\setlength\l_MT_above_intertext_sep{#1}}  \define@key{\MT_options_name:}  {belowintertextdim}{\setlength\l_MT_below_intertext_sep{#1}}  \define@key{\MT_options_name:}  {above-intertext-dim}{\setlength\l_MT_above_intertext_sep{#1}}  \define@key{\MT_options_name:}  {below-intertext-dim}{\setlength\l_MT_below_intertext_sep{#1}}  \define@key{\MT_options_name:}  {above-intertext-sep}{\setlength\l_MT_above_intertext_sep{#1}}  \define@key{\MT_options_name:}  {below-intertext-sep}{\setlength\l_MT_below_intertext_sep{#1}}  \def\MT_intertext: {%  \def\intertext##1{%  \ifvmode\else\\\@empty\fi  \noalign{%  \penalty\postdisplaypenalty\vskip\belowdisplayskip  \vskip-\lineskiplimit % CCS  \vskip\normallineskiplimit % CCS  \vskip\l_MT_above_intertext_sep  \vbox{\normalbaselines  \ifdim  \ifdim\@totalleftmargin=\z@  \linewidth  \else  -\maxdimen  \fi  =\columnwidth  \else \parshape\@ne \@totalleftmargin \linewidth  \fi  \noindent##1\par}%  \penalty\predisplaypenalty\vskip\abovedisplayskip%  \vskip-\lineskiplimit % CCS  \vskip\normallineskiplimit % CCS  \vskip\l_MT_above_intertext_sep  }%  }}  \def\MT_orig_intertext_true: { \MH_let:NwN \intertext@ \MT_orig_intertext: }  \def\MT_orig_intertext_false: { \MH_let:NwN \intertext@ \MT_intertext: }  \define@key{\MT_options_name:}{original-intertext}[true]{  \@nameuse{MT_orig_intertext_#1:}  }  \setkeys{\MT_options_name:}{  original-intertext=false  }  \def\MT_orig_shortintertext:n #1{%  \ifvmode\else\\\@empty\fi  \noalign{%  \penalty\postdisplaypenalty\vskip\abovedisplayshortskip  \vbox{\normalbaselines  \if_dim:w  \if_dim:w \@totalleftmargin=\z@  \linewidth  \else:  -\maxdimen  \fi:  =\columnwidth  \else:  \parshape\@ne \@totalleftmargin \linewidth  \fi:  \noindent#1\par}%  \penalty\predisplaypenalty\vskip\abovedisplayshortskip%  }%  }  \newdimen\l_MT_above_shortintertext_sep  \newdimen\l_MT_below_shortintertext_sep  \define@key{\MT_options_name:}  {aboveshortintertextdim}{\setlength \l_MT_above_shortintertext_sep{#1}}  \define@key{\MT_options_name:}  {belowshortintertextdim}{\setlength \l_MT_below_shortintertext_sep{#1}}  \define@key{\MT_options_name:}  {above-short-intertext-dim}{\setlength \l_MT_above_shortintertext_sep{#1}}  \define@key{\MT_options_name:}  {below-short-intertext-dim}{\setlength \l_MT_below_shortintertext_sep{#1}}  \define@key{\MT_options_name:}  {above-short-intertext-sep}{\setlength \l_MT_above_shortintertext_sep{#1}}  \define@key{\MT_options_name:}  {below-short-intertext-sep}{\setlength \l_MT_below_shortintertext_sep{#1}}  \define@key{\MT_options_name:}  {above-shortintertext-sep}{\setlength \l_MT_above_shortintertext_sep{#1}}  \define@key{\MT_options_name:}  {below-shortintertext-sep}{\setlength \l_MT_below_shortintertext_sep{#1}}  \setkeys{\MT_options_name:}{  aboveshortintertextdim=3pt,  belowshortintertextdim=3pt  }  \def\MT_shortintertext:n #1{%  \ifvmode\else\\\@empty\fi  \noalign{%  \penalty\postdisplaypenalty\vskip\abovedisplayshortskip  \vskip-\lineskiplimit  \vskip\normallineskiplimit  \vskip\l_MT_above_shortintertext_sep  \vbox{\normalbaselines  \if_dim:w  \if_dim:w \@totalleftmargin=\z@  \linewidth  \else:  -\maxdimen  \fi:  =\columnwidth  \else:  \parshape\@ne \@totalleftmargin \linewidth  \fi:  \noindent#1\par}%  \penalty\predisplaypenalty\vskip\abovedisplayshortskip%  \vskip-\lineskiplimit  \vskip\normallineskiplimit  \vskip\l_MT_below_shortintertext_sep  }%  }  \def\MT_orig_shortintertext_true: { \MH_let:NwN \shortintertext \MT_orig_shortintertext:n }  \def\MT_orig_shortintertext_false: { \MH_let:NwN \shortintertext \MT_shortintertext:n }  \define@key{\MT_options_name:}{original-shortintertext}[true]{  \@nameuse{MT_orig_shortintertext_#1:}  }  \setkeys{\MT_options_name:}{  original-shortintertext=false  }  \providecommand*\clap[1]{\hb@xt@\z@{\hss#1\hss}}  \providecommand*\mathllap[1][\@empty]{  \ifx\@empty#1\@empty  \expandafter \mathpalette \expandafter \MT_mathllap:Nn  \else  \expandafter \MT_mathllap:Nn \expandafter #1  \fi  }  \providecommand*\mathrlap[1][\@empty]{  \ifx\@empty#1\@empty  \expandafter \mathpalette \expandafter \MT_mathrlap:Nn  \else  \expandafter \MT_mathrlap:Nn \expandafter #1  \fi  }  \providecommand*\mathclap[1][\@empty]{  \ifx\@empty#1\@empty  \expandafter \mathpalette \expandafter \MT_mathclap:Nn  \else  \expandafter \MT_mathclap:Nn \expandafter #1  \fi  }  \def\MT_mathllap:Nn #1#2{{}\llap{$\m@th#1{#2}$}}  \def\MT_mathrlap:Nn #1#2{{}\rlap{$\m@th#1{#2}$}}  \def\MT_mathclap:Nn #1#2{{}\clap{$\m@th#1{#2}$}}  \providecommand*\mathmbox{\mathpalette\MT_mathmbox:nn}  \def\MT_mathmbox:nn #1#2{\mbox{$\m@th#1#2$}}  \providecommand*\mathmakebox{  \@ifnextchar[ \MT_mathmakebox_I:w  \mathmbox}  \def\MT_mathmakebox_I:w[#1]{%  \@ifnextchar[ {\MT_mathmakebox_II:w[#1]}  {\MT_mathmakebox_II:w[#1][c]}}  \def\MT_mathmakebox_II:w[#1][#2]{  \mathpalette{\MT_mathmakebox_III:w[#1][#2]}}  \def\MT_mathmakebox_III:w[#1][#2]#3#4{%  \@begin@tempboxa\hbox{$\m@th#3#4$}%  \setlength\@tempdima{#1}%  \hbox{\hb@xt@\@tempdima{\csname bm@#2\endcsname}}%  \@end@tempboxa}  \def\mathsm@sh#1#2{%  \setbox\z@\hbox{$\m@th#1{#2}$}{}\finsm@sh}  \providecommand*\cramped[1][\@empty]{  \ifx\@empty#1\@empty  \expandafter \mathpalette \expandafter \MT_cramped_internal:Nn  \else  \expandafter \MT_cramped_internal:Nn \expandafter #1  \fi  }  \def\MT_cramped_internal:Nn #1#2{  \sbox\z@{$\m@th#1\nulldelimiterspace=\z@\radical\z@{#2}$}  \ifx#1\displaystyle  \dimen@=\fontdimen8\textfont3  \advance\dimen@ .25\fontdimen5\textfont2  \else  \dimen@=1.25\fontdimen8  \ifx#1\textstyle\textfont  \else  \ifx#1\scriptstyle  \scriptfont  \else  \scriptscriptfont  \fi  \fi  3  \fi  \advance\dimen@-\ht\z@ \ht\z@=-\dimen@  \box\z@  }  \providecommand*\crampedllap[1][\@empty]{  \ifx\@empty#1\@empty  \expandafter \mathpalette \expandafter \MT_cramped_llap_internal:Nn  \else  \expandafter \MT_cramped_llap_internal:Nn \expandafter #1  \fi  }  \def\MT_cramped_llap_internal:Nn #1#2{  {}\llap{\MT_cramped_internal:Nn #1{#2}}  }  \providecommand*\crampedclap[1][\@empty]{  \ifx\@empty#1\@empty  \expandafter \mathpalette \expandafter \MT_cramped_clap_internal:Nn  \else  \expandafter \MT_cramped_clap_internal:Nn \expandafter #1  \fi  }  \def\MT_cramped_clap_internal:Nn #1#2{  {}\clap{\MT_cramped_internal:Nn #1{#2}}  }  \providecommand*\crampedrlap[1][\@empty]{  \ifx\@empty#1\@empty  \expandafter \mathpalette \expandafter \MT_cramped_rlap_internal:Nn  \else  \expandafter \MT_cramped_rlap_internal:Nn \expandafter #1  \fi  }  \def\MT_cramped_rlap_internal:Nn #1#2{  {}\rlap{\MT_cramped_internal:Nn #1{#2}}  }  \newcommand{\MT_prescript_inner:}[4]{  \@mathmeasure\z@#4{\MT_prescript_sup:{#1}}  \@mathmeasure\tw@#4{\MT_prescript_sub:{#2}}  \if_dim:w \wd\tw@>\wd\z@  \setbox\z@\hbox to\wd\tw@{\hfil\unhbox\z@}  \else:  \setbox\tw@\hbox to\wd\z@{\hfil\unhbox\tw@}  \fi:  \mathop{}  \mathopen{\vphantom{\MT_prescript_arg:{#3}}}^{\box\z@}\sb{\box\tw@}  \MT_prescript_arg:{#3}  }  \DeclareRobustCommand{\prescript}[3]{  \mathchoice  {\MT_prescript_inner:{#1}{#2}{#3}{\scriptstyle}}  {\MT_prescript_inner:{#1}{#2}{#3}{\scriptstyle}}  {\MT_prescript_inner:{#1}{#2}{#3}{\scriptscriptstyle}}  {\MT_prescript_inner:{#1}{#2}{#3}{\scriptscriptstyle}}  }  \define@key{\MT_options_name:}  {prescript-sup-format}{\def\MT_prescript_sup:{#1}}  \define@key{\MT_options_name:}  {prescript-sub-format}{\def\MT_prescript_sub:{#1}}  \define@key{\MT_options_name:}  {prescript-arg-format}{\def\MT_prescript_arg:{#1}}  \setkeys{\MT_options_name:}{  prescript-sup-format={},  prescript-sub-format={},  prescript-arg-format={},  }  \def\@DeclareMathSizes #1#2#3#4#5{%  \@defaultunits\dimen@ #2pt\relax\@nnil  \if:w $#3$%  \MH_let:cN {S@\strip@pt\dimen@}\math@fontsfalse  \else:  \@defaultunits\dimen@ii #3pt\relax\@nnil  \@defaultunits\@tempdima #4pt\relax\@nnil  \@defaultunits\@tempdimb #5pt\relax\@nnil  \toks@{#1}%  \expandafter\xdef\csname S@\strip@pt\dimen@\endcsname{%  \gdef\noexpand\tf@size{\strip@pt\dimen@ii}%  \gdef\noexpand\sf@size{\strip@pt\@tempdima}%  \gdef\noexpand\ssf@size{\strip@pt\@tempdimb}%  \the\toks@  }%  \fi:  }  \def\MT_mathic_true: {  \MH_if_boolean:nF {math_italic_corr}{  \MH_set_boolean_T:n {math_italic_corr}  \MH_if_boolean:nTF {robustify}{  \MH_let:NwN \MT_mathic_redeffer: \DeclareRobustCommand  }{  \MH_let:NwN \MT_mathic_redeffer: \renewcommand  }  \MH_let:NwN \MT_begin_inlinemath: \(  %\renewcommand*\({  \MT_mathic_redeffer:*\({  \relax\ifmmode\@badmath\else  \ifhmode  \if_dim:w \fontdimen\@ne\font>\z@  \if_dim:w \lastskip>\z@  \skip@\lastskip\unskip  \if_num:w \lastpenalty>\z@  \count@\lastpenalty\unpenalty  \fi:  \@@italiccorr  \if_num:w \count@>\z@  \penalty\count@  \fi:  \hskip\skip@  \else:  \@@italiccorr  \fi:  \fi:  \fi:  $\fi:  }  }  }  \def\MT_mathic_false: {  \MH_if_boolean:nT {math_italic_corr}{  \MH_set_boolean_F:n {math_italic_corr}  \MH_if_boolean:nTF {robustify}{  \edef\({\MT_begin_inlinemath:}%  \forced_EQ_MakeRobust\(%  }{  \MH_let:NwN \( \MT_begin_inlinemath:  }  }  }  \MH_new_boolean:n {math_italic_corr}  \define@key{\MT_options_name:}{mathic}[true]{  \@ifundefined{MT_mathic_#1:}  { \MT_true_false_error:  \@nameuse{MT_mathic_false:}  }  { \@nameuse{MT_mathic_#1:} }  }  \newenvironment{spreadlines}[1]{  \setlength{\jot}{#1}  \ignorespaces  }{ \ignorespacesafterend }  \MaybeMHPrecedingSpacesOff  \newenvironment{MT_gathered_env}[1][c]{%  \RIfM@\else  \nonmatherr@{\begin{\@currenvir}}%  \fi  \null\,%  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup  \Let@ \chardef\dspbrk@context\@ne \restore@math@cr  \spread@equation  \ialign\bgroup  \MT_gathered_pre:  \strut@$\m@th\displaystyle##$  \MT_gathered_post:  \crcr  }{%  \endaligned  \MT_gathered_env_end:  }  \MHPrecedingSpacesOn  \newcommand*\newgathered[4]{  \newenvironment{#1}  { \def\MT_gathered_pre:{#2}  \def\MT_gathered_post:{#3}  \def\MT_gathered_env_end:{#4}  \MT_gathered_env  }{\endMT_gathered_env}  }  \newcommand*\renewgathered[4]{  \renewenvironment{#1}  { \def\MT_gathered_pre:{#2}  \def\MT_gathered_post:{#3}  \def\MT_gathered_env_end:{#4}  \MT_gathered_env  }{\endMT_gathered_env}  }  \newgathered{lgathered}{}{\hfil}{}  \newgathered{rgathered}{\hfil}{}{}  \renewgathered{gathered}{\hfil}{\hfil}{}  \newcommand*\splitfrac[2]{%  \genfrac{}{}{0pt}{1}%  {\textstyle#1\quad\hfill}%  {\textstyle\hfill\quad\mathstrut#2}%  }  \newcommand*\splitdfrac[2]{%  \genfrac{}{}{0pt}{0}{#1\quad\hfill}{\hfill\quad\mathstrut #2}%  }  \MH_if_boolean:nT {fixamsmath}{  \def\place@tag{%  \iftagsleft@  \kern-\tagshift@  \if@fleqn  \if_num:w \xatlevel@=\tw@  \kern-\@mathmargin  \fi:  \fi:  \if:w 1\shift@tag\row@\relax  \rlap{\vbox{%  \normalbaselines  \boxz@  \vbox to\lineht@{}%  \raise@tag  }}%  \else:  \rlap{\boxz@}%  \fi:  \kern\displaywidth@  \else:  \kern-\tagshift@  \if:w 1\shift@tag\row@\relax  \llap{\vtop{%  \raise@tag  \normalbaselines  \setbox\@ne\null  \dp\@ne\lineht@  \box\@ne  \boxz@  }}%  \else:  \llap{\boxz@}%  \fi:  \fi:  }  \def\x@calc@shift@lf{%  \if_dim:w \eqnshift@=\z@  \global\eqnshift@\@mathmargin\relax  \alignsep@\displaywidth  \advance\alignsep@-\totwidth@  \if_num:w \@tempcntb=0  \else:  \global\divide\alignsep@\@tempcntb % original line  \fi:  \if_dim:w \alignsep@<\minalignsep\relax  \global\alignsep@\minalignsep\relax  \fi:  \fi:  \if_dim:w \tag@width\row@>\@tempdima  \saveshift@1%  \else:  \saveshift@0%  \fi:}%  }  \MaybeMHPrecedingSpacesOff  \renewcommand\aligned@a[1][c]{\start@aligned{#1}\m@ne}  \MHPrecedingSpacesOn  \endinput  %%  %% End of file `mathtools.sty'.