\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2742,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(2529,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G(q+p_2+p_3)$}}}
\put(357,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G(q+p_2)$}}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(969,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G(q+p_2+p_3+p_4)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2742,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(2529,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\put(257,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6292,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4576,-2197){\framebox(1337,1337){}}
\put(5913,-860){\line( 1, 1){668}}
\put(6581,-192){\line( 0, 1){  0}}
\put(6191,-582){\line( 0, 1){112}}
\put(6191,-582){\line( 1, 0){112}}
\put(4576,-860){\line(-1, 1){668.500}}
\put(3907,-192){\line( 0, 1){  0}}
\put(4241,-526){\line( 0, 1){111}}
\put(4130,-526){\line( 1, 0){111}}
\put(5913,-2197){\line( 1,-1){668.500}}
\put(6581,-2866){\line( 0, 1){  0}}
\put(6191,-2476){\line( 1, 0){112}}
\put(4576,-2197){\line(-1,-1){669}}
\put(3907,-2866){\line( 0, 1){  0}}
\put(4186,-2476){\line( 1, 0){111}}
\put(4297,-2587){\line( 0, 1){111}}
\put(6191,-2587){\line( 0, 1){111}}
\multiput(5913,-1529)(6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5913,-1529)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(5355,-749){\line( 0, 1){  0}}
\multiput(4576,-1529)(6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4687,-1417){\line( 0, 1){  0}}
\multiput(4576,-1529)(-5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(357,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\put(3807,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}   %2
\put(4910,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2)$}}}
\put(4018,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(6358,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(4018,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(6358,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(4018,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(3851,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(3851,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(3963,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(6358,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(6581,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(6358,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(6581,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(4420,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\put(2429,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}} %1
\put(6155,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6292,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4576,-2197){\framebox(1337,1337){}}
\put(5913,-860){\line( 1, 1){668}}
\put(6581,-192){\line( 0, 1){  0}}
\put(6191,-582){\line( 0, 1){112}}
\put(6191,-582){\line( 1, 0){112}}
\put(4576,-860){\line(-1, 1){668.500}}
\put(3907,-192){\line( 0, 1){  0}}
\put(4241,-526){\line( 0, 1){111}}
\put(4130,-526){\line( 1, 0){111}}
\put(5913,-2197){\line( 1,-1){668.500}}
\put(6581,-2866){\line( 0, 1){  0}}
\put(6191,-2476){\line( 1, 0){112}}
\put(4576,-2197){\line(-1,-1){669}}
\put(3907,-2866){\line( 0, 1){  0}}
\put(4186,-2476){\line( 1, 0){111}}
\put(4297,-2587){\line( 0, 1){111}}
\put(6191,-2587){\line( 0, 1){111}}
\multiput(5913,-1529)(6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5913,-1529)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(5355,-749){\line( 0, 1){  0}}
\multiput(4576,-1529)(6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4687,-1417){\line( 0, 1){  0}}
\multiput(4576,-1529)(-5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(257,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\put(3707,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}   %2
\put(4910,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(4018,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(6358,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(4018,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(6358,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(4018,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(3851,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(3851,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(3963,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(6358,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(6581,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(6358,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(6581,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(4420,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\put(2429,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}} %1
\put(6155,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6292,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4576,-2197){\framebox(1337,1337){}}
\put(5913,-860){\line( 1, 1){668}}
\put(6581,-192){\line( 0, 1){  0}}
\put(6191,-582){\line( 0, 1){112}}
\put(6191,-582){\line( 1, 0){112}}
\put(4576,-860){\line(-1, 1){668.500}}
\put(3907,-192){\line( 0, 1){  0}}
\put(4241,-526){\line( 0, 1){111}}
\put(4130,-526){\line( 1, 0){111}}
\put(5913,-2197){\line( 1,-1){668.500}}
\put(6581,-2866){\line( 0, 1){  0}}
\put(6191,-2476){\line( 1, 0){112}}
\put(4576,-2197){\line(-1,-1){669}}
\put(3907,-2866){\line( 0, 1){  0}}
\put(4186,-2476){\line( 1, 0){111}}
\put(4297,-2587){\line( 0, 1){111}}
\put(6191,-2587){\line( 0, 1){111}}
\multiput(5913,-1529)(6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5913,-1529)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(5355,-749){\line( 0, 1){  0}}
\multiput(4576,-1529)(6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4687,-1417){\line( 0, 1){  0}}
\multiput(4576,-1529)(-5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(4018,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(6358,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(4018,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(6358,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(4018,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(3851,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(3851,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(3963,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(6358,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(6581,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(6358,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(6581,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(357,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\put(3807,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}   %2
\put(4910,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(4420,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\put(2429,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}} %1
\put(6155,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6292,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4576,-2197){\framebox(1337,1337){}}
\put(5913,-860){\line( 1, 1){668}}
\put(6581,-192){\line( 0, 1){  0}}
\put(6191,-582){\line( 0, 1){112}}
\put(6191,-582){\line( 1, 0){112}}
\put(4576,-860){\line(-1, 1){668.500}}
\put(3907,-192){\line( 0, 1){  0}}
\put(4241,-526){\line( 0, 1){111}}
\put(4130,-526){\line( 1, 0){111}}
\put(5913,-2197){\line( 1,-1){668.500}}
\put(6581,-2866){\line( 0, 1){  0}}
\put(6191,-2476){\line( 1, 0){112}}
\put(4576,-2197){\line(-1,-1){669}}
\put(3907,-2866){\line( 0, 1){  0}}
\put(4186,-2476){\line( 1, 0){111}}
\put(4297,-2587){\line( 0, 1){111}}
\put(6191,-2587){\line( 0, 1){111}}
\multiput(5913,-1529)(6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5913,-1529)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(5355,-749){\line( 0, 1){  0}}
\multiput(4576,-1529)(6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4687,-1417){\line( 0, 1){  0}}
\multiput(4576,-1529)(-5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(4018,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(6358,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(4018,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(6358,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(4018,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(3851,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(3851,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(3963,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(6358,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(6581,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(6358,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(6581,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(357,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\put(3807,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}   %2
\put(4910,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(4420,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\put(2429,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}} %1
\put(6155,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6292,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4576,-2197){\framebox(1337,1337){}}
\put(5913,-860){\line( 1, 1){668}}
\put(6581,-192){\line( 0, 1){  0}}
\put(6191,-582){\line( 0, 1){112}}
\put(6191,-582){\line( 1, 0){112}}
\put(4576,-860){\line(-1, 1){668.500}}
\put(3907,-192){\line( 0, 1){  0}}
\put(4241,-526){\line( 0, 1){111}}
\put(4130,-526){\line( 1, 0){111}}
\put(5913,-2197){\line( 1,-1){668.500}}
\put(6581,-2866){\line( 0, 1){  0}}
\put(6191,-2476){\line( 1, 0){112}}
\put(4576,-2197){\line(-1,-1){669}}
\put(3907,-2866){\line( 0, 1){  0}}
\put(4186,-2476){\line( 1, 0){111}}
\put(4297,-2587){\line( 0, 1){111}}
\put(6191,-2587){\line( 0, 1){111}}
\multiput(5913,-1529)(6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5913,-1529)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(5355,-749){\line( 0, 1){  0}}
\multiput(4576,-1529)(6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4687,-1417){\line( 0, 1){  0}}
\multiput(4576,-1529)(-5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(4018,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(6358,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(4018,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(6358,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(4018,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(3851,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(3851,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(3963,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(6358,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(6581,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(6358,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(6581,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(257,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\put(3807,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}   %2
\put(4910,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(4420,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\put(2429,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}} %1
\put(6155,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6292,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4576,-2197){\framebox(1337,1337){}}
\put(5913,-860){\line( 1, 1){668}}
\put(6581,-192){\line( 0, 1){  0}}
\put(6191,-582){\line( 0, 1){112}}
\put(6191,-582){\line( 1, 0){112}}
\put(4576,-860){\line(-1, 1){668.500}}
\put(3907,-192){\line( 0, 1){  0}}
\put(4241,-526){\line( 0, 1){111}}
\put(4130,-526){\line( 1, 0){111}}
\put(5913,-2197){\line( 1,-1){668.500}}
\put(6581,-2866){\line( 0, 1){  0}}
\put(6191,-2476){\line( 1, 0){112}}
\put(4576,-2197){\line(-1,-1){669}}
\put(3907,-2866){\line( 0, 1){  0}}
\put(4186,-2476){\line( 1, 0){111}}
\put(4297,-2587){\line( 0, 1){111}}
\put(6191,-2587){\line( 0, 1){111}}
\multiput(5913,-1529)(6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5913,-1529)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(5355,-749){\line( 0, 1){  0}}
\multiput(4576,-1529)(6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4687,-1417){\line( 0, 1){  0}}
\multiput(4576,-1529)(-5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(4018,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(6358,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(4018,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(6358,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(4018,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(3851,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(3851,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(3963,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(6358,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(6581,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(6358,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(6581,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(357,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2)$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3+p_4)$}}}
\put(3807,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}   %2
\put(4910,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2)$}}}
\put(4420,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\put(2429,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}} %1
\put(6155,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6292,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4576,-2197){\framebox(1337,1337){}}
\put(5913,-860){\line( 1, 1){668}}
\put(6581,-192){\line( 0, 1){  0}}
\put(6191,-582){\line( 0, 1){112}}
\put(6191,-582){\line( 1, 0){112}}
\put(4576,-860){\line(-1, 1){668.500}}
\put(3907,-192){\line( 0, 1){  0}}
\put(4241,-526){\line( 0, 1){111}}
\put(4130,-526){\line( 1, 0){111}}
\put(5913,-2197){\line( 1,-1){668.500}}
\put(6581,-2866){\line( 0, 1){  0}}
\put(6191,-2476){\line( 1, 0){112}}
\put(4576,-2197){\line(-1,-1){669}}
\put(3907,-2866){\line( 0, 1){  0}}
\put(4186,-2476){\line( 1, 0){111}}
\put(4297,-2587){\line( 0, 1){111}}
\put(6191,-2587){\line( 0, 1){111}}
\multiput(5913,-1529)(6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5913,-1529)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(5355,-749){\line( 0, 1){  0}}
\multiput(4576,-1529)(6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(4687,-1417){\line( 0, 1){  0}}
\multiput(4576,-1529)(-5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(5244,-2197)(-6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(4018,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(6358,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(4018,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(6358,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(4018,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(3851,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(3851,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(3963,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(6358,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(6581,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(6358,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(6581,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(357,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q+p_2)$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\put(3807,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{NLC}(q)$}}}   %2
\put(4910,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2)$}}}
\put(4420,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\put(2429,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}} %1
\put(6155,-1379){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2742,2812)(301,-2992)
\thicklines
\put(1025,-2197){\framebox(1337,1337){}}
\put(2362,-860){\line( 1, 1){668.500}}
\put(3031,-192){\line( 0, 1){  0}}
\put(2641,-582){\line( 0, 1){112}}
\put(2641,-582){\line( 1, 0){111}}
\put(1025,-860){\line(-1, 1){668}}
\put(357,-192){\line( 0, 1){  0}}
\put(691,-526){\line( 0, 1){111}}
\put(580,-526){\line( 1, 0){111}}
\put(2362,-2197){\line( 1,-1){669}}
\put(3031,-2866){\line( 0, 1){  0}}
\put(2641,-2476){\line( 1, 0){111}}
\put(1025,-2197){\line(-1,-1){668.500}}
\put(357,-2866){\line( 0, 1){  0}}
\put(635,-2476){\line( 1, 0){112}}
\put(747,-2587){\line( 0, 1){111}}
\put(2641,-2587){\line( 0, 1){111}}
\multiput(2362,-1529)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2362,-1529)(-6.16667,-6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.19444,-6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-860)(6.16667,6.16667){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1805,-749){\line( 0, 1){  0}}
\multiput(1025,-1529)(5.89474,5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(1137,-1417){\line( 0, 1){  0}}
\multiput(1025,-1529)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-6.19444,6.19444){19}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(1694,-2197)(-5.89474,-5.89474){20}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(2529,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3)$}}}
\put(257,-1417){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q)$}}}
\put(1359,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2)$}}}
\put(468,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_1$}}}
\put(2808,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_3$}}}
\put(468,-2532){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_2$}}}
\put(2808,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$p_4$}}}
\put(468,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_1$}}}
\put(301,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_1$}}}
\put(301,-2699){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_2$}}}
\put(412,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_2$}}}
\put(2808,-247){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_4$}}}
\put(3031,-415){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_4$}}}
\put(2808,-2977){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$u_3$}}}
\put(3031,-2755){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$a_3$}}}
\put(869,-693){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{rm}$G^{LC}(q+p_2+p_3+p_4)$}}}
\end{picture}
\font\thinlinefont=cmr5
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\mbox{\beginpicture
\setcoordinatesystem units <1.00000cm,1.00000cm>
\unitlength=1.00000cm
\linethickness=1pt
\setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}})
\setshadesymbol ({\thinlinefont .})
\setlinear
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  5.080 19.050 center at  5.080 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  8.414 24.130 center at  8.414 21.590
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  5.556 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  6.191 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.938 21.749 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.303 21.749 /
\putrule from  7.303 21.749 to  7.303 21.749
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_4$} [lB] at  7.779 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_1$} [lB] at  5.715 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_4$} [lB] at  8.255 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_3$} [lB] at  8.255 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_1$} [lB] at  5.239 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_2$} [lB] at  5.239 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_3$} [lB] at  7.779 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_1$} [lB] at  5.239 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_4$} [lB] at  8.255 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_3$} [lB] at  8.255 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_2$} [lB] at  5.239 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$G(q)$} [lB] at  4.763 21.590
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_2$} [lB] at  5.556 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$G(q+p_2+p_3)$} [lB] at  8.096 21.590
\linethickness=0pt
\putrectangle corners at  4.763 24.517 and  8.431 18.517
\endpicture}
\font\thinlinefont=cmr5
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\mbox{\beginpicture
\setcoordinatesystem units <1.00000cm,1.00000cm>
\unitlength=1.00000cm
\linethickness=1pt
\setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}})
\setshadesymbol ({\thinlinefont .})
\setlinear
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  5.080 19.050 center at  5.080 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  8.414 24.130 center at  8.414 21.590
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  5.556 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  6.191 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.938 21.749 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.303 21.749 /
\putrule from  7.303 21.749 to  7.303 21.749
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_4$} [lB] at  7.779 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_1$} [lB] at  5.715 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_4$} [lB] at  8.255 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_3$} [lB] at  8.255 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_1$} [lB] at  5.239 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_2$} [lB] at  5.239 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_3$} [lB] at  7.779 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_1$} [lB] at  5.239 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_4$} [lB] at  8.255 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_3$} [lB] at  8.255 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_2$} [lB] at  5.239 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q)$} [lB] at  4.063 21.590
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_2$} [lB] at  5.556 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2+p_3)$} [lB] at  8.096 21.590
\linethickness=0pt
\putrectangle corners at  4.763 24.517 and  8.431 18.517
\endpicture}
\font\thinlinefont=cmr5
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\mbox{\beginpicture
\setcoordinatesystem units <1.00000cm,1.00000cm>
\unitlength=1.00000cm
\linethickness=1pt
\setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}})
\setshadesymbol ({\thinlinefont .})
\setlinear
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  5.080 19.050 center at  5.080 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  8.414 24.130 center at  8.414 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  5.080 19.050 center at  5.080 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from 12.065 19.050 center at 12.065 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from 15.399 24.130 center at 15.399 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from 12.065 19.050 center at 12.065 21.590
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  5.556 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  6.191 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.938 21.749 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.303 21.749 /
\putrule from  7.303 21.749 to  7.303 21.749
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.446 23.971 14.764 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.446 23.971 14.764 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 13.018 23.971 12.700 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 13.018 23.971 12.700 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 13.018 19.209 12.700 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 13.018 19.209 12.700 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.446 23.971 14.764 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.446 23.971 14.764 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.446 19.209 14.764 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.446 19.209 14.764 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 12.859 21.749 12.541 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 12.859 21.749 13.176 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.605 21.431 14.922 21.749 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot 14.605 21.431 14.287 21.749 /
\putrule from 14.287 21.749 to 14.287 21.749
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_4$} [lB] at  7.779 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_1$} [lB] at  5.715 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_4$} [lB] at  8.255 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_3$} [lB] at  8.255 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_1$} [lB] at  5.239 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_2$} [lB] at  5.239 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_3$} [lB] at  7.779 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_1$} [lB] at  5.239 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_4$} [lB] at  8.255 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_3$} [lB] at  8.255 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_2$} [lB] at  5.239 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_2$} [lB] at  5.556 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$G^{NLC}(q+p_2+p_3)$} [lB] at  8.096 21.590
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$G^{LC}(q)$} [lB] at  4.445 21.590
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_4$} [lB] at 14.764 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_1$} [lB] at 12.700 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_4$} [lB] at 15.240 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_3$} [lB] at 15.240 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_1$} [lB] at 12.224 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_2$} [lB] at 12.224 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_3$} [lB] at 14.764 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_1$} [lB] at 12.224 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$a_4$} [lB] at 15.240 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_3$} [lB] at 15.240 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$u_2$} [lB] at 12.224 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$p_2$} [lB] at 12.541 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$G^{LC}(q+p_2+p_3)$} [lB] at 15.081 21.590
%
% Fig TEXT object
%
\put{\SetFigFont{10}{14.4}{rm}$G^{NLC}(q)$} [lB] at 11.113 21.590
\linethickness=0pt
\putrectangle corners at  4.445 24.517 and 15.416 18.517
\endpicture}
\font\thinlinefont=cmr5
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\mbox{\beginpicture
\setcoordinatesystem units <1.00000cm,1.00000cm>
\unitlength=1.00000cm
\linethickness=1pt
\setplotsymbol ({\makebox(0,0)[l]{\tencirc\symbol{'160}}})
\setshadesymbol ({\thinlinefont .})
\setlinear
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  5.080 19.050 center at  5.080 21.590
%
% Fig CIRCULAR ARC object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\circulararc 180.000 degrees from  8.414 24.130 center at  8.414 21.590
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 23.971  5.715 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  6.032 19.209  5.715 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 24.289 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 23.971  7.779 23.654 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 18.891 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.461 19.209  7.779 19.526 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  5.556 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  5.874 21.749  6.191 21.431 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.938 21.749 /
%
% Fig POLYLINE object
%
\linethickness= 0.500pt
\setplotsymbol ({\thinlinefont .})
\plot  7.620 21.431  7.303 21.749 /
\putrule from  7.303 21.749 to  7.303 21.749
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_4$} [lB] at  7.779 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_1$} [lB] at  5.715 23.178
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_4$} [lB] at  8.255 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_3$} [lB] at  8.255 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_1$} [lB] at  5.239 23.654
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_2$} [lB] at  5.239 19.209
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_3$} [lB] at  7.779 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_1$} [lB] at  5.239 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$a_4$} [lB] at  8.255 24.289
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_3$} [lB] at  8.255 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$u_2$} [lB] at  5.239 18.574
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$G^{LC}(q)$} [lB] at  4.063 21.590
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$p_2$} [lB] at  5.556 19.844
%
% Fig TEXT object
%
\put{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2+p_3)$} [lB] at  8.096 21.590
\linethickness=0pt
\putrectangle corners at  4.763 24.517 and  8.431 18.517
\endpicture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2550,3735)(1951,-3388)
\thicklines
\put(2401,-1561){\line( 1, 0){1800}}
\put(2401,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line(-1, 1){1800}}
\put(2401,-1561){\line( 1, 1){1800}}
\multiput(2401,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2401,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(3751,-1111){\line(-1, 0){150}}
\put(3751,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 1, 0){150}}
\put(3751,-211){\line( 1, 0){150}}
\put(3751,-211){\line( 0, 1){150}}
\put(2851,-211){\line( 0, 1){150}}
\put(2851,-211){\line(-1, 0){150}}
\put(2551,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(3976,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(2326,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(4126,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(2551,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(3826,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(2326,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G(q)$}}}
\put(3901,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G(q+p_2+p_3)$}}}
\put(2926,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G(q+p_2)$}}}
\put(1951,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(4501,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(2026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(2476,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(3901,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(4351,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2550,3735)(1951,-3388)
\thicklines
\put(2401,-1561){\line( 1, 0){1800}}
\put(2401,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line(-1, 1){1800}}
\put(2401,-1561){\line( 1, 1){1800}}
\multiput(2401,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2401,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(3751,-1111){\line(-1, 0){150}}
\put(3751,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 1, 0){150}}
\put(3751,-211){\line( 1, 0){150}}
\put(3751,-211){\line( 0, 1){150}}
\put(2851,-211){\line( 0, 1){150}}
\put(2851,-211){\line(-1, 0){150}}
\put(2551,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(3976,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(2326,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(4126,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(2551,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(3826,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(2026,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q)$}}}
\put(3901,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\put(2926,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2)$}}}
\put(1951,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(4501,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(2026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(2476,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(3901,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(4351,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6225,3735)(1951,-3388)
\thicklines
\put(2401,-1561){\line( 1, 0){1800}}
\put(2401,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line(-1, 1){1800}}
\put(2401,-1561){\line( 1, 1){1800}}
\multiput(2401,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2401,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(3751,-1111){\line(-1, 0){150}}
\put(3751,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 1, 0){150}}
\put(3751,-211){\line( 1, 0){150}}
\put(3751,-211){\line( 0, 1){150}}
\put(2851,-211){\line( 0, 1){150}}
\put(2851,-211){\line(-1, 0){150}}
\put(6076,-1561){\line( 1, 0){1800}}
\put(6076,-1561){\line( 0,-1){1800}}
\put(7876,-1561){\line( 0,-1){1800}}
\put(7876,-1561){\line(-1, 1){1800}}
\put(6076,-1561){\line( 1, 1){1800}}
\multiput(6076,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(6076,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(7876,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(7876,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(6976,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(6976,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(7426,-1111){\line(-1, 0){150}}
\put(7426,-1111){\line( 0, 1){150}}
\put(6526,-1111){\line( 0, 1){150}}
\put(6526,-1111){\line( 1, 0){150}}
\put(7426,-211){\line( 1, 0){150}}
\put(7426,-211){\line( 0, 1){150}}
\put(6526,-211){\line( 0, 1){150}}
\put(6526,-211){\line(-1, 0){150}}
\put(2551,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(3976,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(2326,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(4126,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(2551,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(3826,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(3901,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\put(2926,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2)$}}}
\put(1951,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(4501,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(2026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(2476,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(3901,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(4351,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\put(6226,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(7651,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(6001,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(7801,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(6226,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(7501,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(7576,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2+p_3)$}}}
\put(6601,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2)$}}}
\put(5626,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(8176,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(5701,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(6151,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(7576,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(8026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\put(2176,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q)$}}}
\put(5701,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2550,3735)(1951,-3388)
\thicklines
\put(2401,-1561){\line( 1, 0){1800}}
\put(2401,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line(-1, 1){1800}}
\put(2401,-1561){\line( 1, 1){1800}}
\multiput(2401,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2401,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(3751,-1111){\line(-1, 0){150}}
\put(3751,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 1, 0){150}}
\put(3751,-211){\line( 1, 0){150}}
\put(3751,-211){\line( 0, 1){150}}
\put(2851,-211){\line( 0, 1){150}}
\put(2851,-211){\line(-1, 0){150}}
\put(2551,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(3976,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(2326,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(4126,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(2551,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(3826,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(2026,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q)$}}}
\put(3901,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\put(2926,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2)$}}}
\put(1951,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(4501,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(2026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(2476,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(3901,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(4351,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(6225,3735)(1951,-3388)
\thicklines
\put(2401,-1561){\line( 1, 0){1800}}
\put(2401,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line(-1, 1){1800}}
\put(2401,-1561){\line( 1, 1){1800}}
\multiput(2401,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2401,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(3751,-1111){\line(-1, 0){150}}
\put(3751,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 1, 0){150}}
\put(3751,-211){\line( 1, 0){150}}
\put(3751,-211){\line( 0, 1){150}}
\put(2851,-211){\line( 0, 1){150}}
\put(2851,-211){\line(-1, 0){150}}
\put(6076,-1561){\line( 1, 0){1800}}
\put(6076,-1561){\line( 0,-1){1800}}
\put(7876,-1561){\line( 0,-1){1800}}
\put(7876,-1561){\line(-1, 1){1800}}
\put(6076,-1561){\line( 1, 1){1800}}
\multiput(6076,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(6076,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(7876,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(7876,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(6976,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(6976,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(7426,-1111){\line(-1, 0){150}}
\put(7426,-1111){\line( 0, 1){150}}
\put(6526,-1111){\line( 0, 1){150}}
\put(6526,-1111){\line( 1, 0){150}}
\put(7426,-211){\line( 1, 0){150}}
\put(7426,-211){\line( 0, 1){150}}
\put(6526,-211){\line( 0, 1){150}}
\put(6526,-211){\line(-1, 0){150}}
\put(2551,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(3976,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(2326,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(4126,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(2551,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(3826,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(3901,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2+p_3)$}}}
\put(2926,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2)$}}}
\put(1951,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(4501,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(2026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(2476,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(3901,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(4351,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\put(6226,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(7651,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(6001,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(7801,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(6226,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(7501,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(7576,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2+p_3)$}}}
\put(6601,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q+p_2)$}}}
\put(5626,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(8176,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(5701,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(6151,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(7576,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(8026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\put(2176,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q)$}}}
\put(5701,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q)$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2550,3735)(1951,-3388)
\thicklines
\put(2401,-1561){\line( 1, 0){1800}}
\put(2401,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line(-1, 1){1800}}
\put(2401,-1561){\line( 1, 1){1800}}
\multiput(2401,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2401,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(3751,-1111){\line(-1, 0){150}}
\put(3751,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 1, 0){150}}
\put(3751,-211){\line( 1, 0){150}}
\put(3751,-211){\line( 0, 1){150}}
\put(2851,-211){\line( 0, 1){150}}
\put(2851,-211){\line(-1, 0){150}}
\put(2551,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(3976,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(2326,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(4126,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(2551,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(3826,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(2026,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{NLC}(q)$}}}
\put(3901,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2+p_3)$}}}
\put(2926,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2)$}}}
\put(1951,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(4501,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(2026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(2476,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(3901,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(4351,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\end{picture}
\setlength{\unitlength}{0.00083300in}%
%
\begingroup\makeatletter\ifx\SetFigFont\undefined
% extract first six characters in \fmtname
\def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
\expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
\ifx\x\y   % LaTeX or SliTeX?
\gdef\SetFigFont#1#2#3{%
  \ifnum #1<17\tiny\else \ifnum #1<20\small\else
  \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
  \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
     \huge\fi\fi\fi\fi\fi\fi
  \csname #3\endcsname}%
\else
\gdef\SetFigFont#1#2#3{\begingroup
  \count@#1\relax \ifnum 25<\count@\count@25\fi
  \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
  \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
  \csname #3\endcsname}%
\fi
\fi\endgroup
\begin{picture}(2550,3735)(1951,-3388)
\thicklines
\put(2401,-1561){\line( 1, 0){1800}}
\put(2401,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line( 0,-1){1800}}
\put(4201,-1561){\line(-1, 1){1800}}
\put(2401,-1561){\line( 1, 1){1800}}
\multiput(2401,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(2401,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(4201,-2461)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\multiput(3301,-1561)(-6.00000,-6.00000){26}{\makebox(6.6667,10.0000){\SetFigFont{7}{8.4}{rm}.}}
\put(3751,-1111){\line(-1, 0){150}}
\put(3751,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 0, 1){150}}
\put(2851,-1111){\line( 1, 0){150}}
\put(3751,-211){\line( 1, 0){150}}
\put(3751,-211){\line( 0, 1){150}}
\put(2851,-211){\line( 0, 1){150}}
\put(2851,-211){\line(-1, 0){150}}
\put(2551,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_1$}}}
\put(3976,239){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_4$}}}
\put(2326,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_1$}}}
\put(4126,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_4$}}}
\put(2551,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_1$}}}
\put(3826,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_4$}}}
\put(2026,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q)$}}}
\put(3901,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2+p_3)$}}}
\put(2926,-1936){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$G^{LC}(q+p_2)$}}}
\put(1951,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_2$}}}
\put(4501,-2611){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$p_3$}}}
\put(2026,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_2$}}}
\put(2476,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_2$}}}
\put(3901,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$u_3$}}}
\put(4351,-3361){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}$a_3$}}}
\end{picture}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ascii.tab%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Upper-case    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
% Lower-case    a b c d e f g h i j k l m n o p q r s t u v w x y z
% Digits        0 1 2 3 4 5 6 7 8 9
% Exclamation   !           Double quote "          Hash  (number) #
% Dollar        $           Percent      %          Ampersand     &
% Acute accent  '           Left paren   (          Right  paren   )
% Asterisk      *           Plus         +          Comma         ,
% Minus         -           Point        .          Solidus       /
% Colon         :           Semicolon    ;          Less than     <
% Equals        =           Greater than >          Question  mark ?
% At            @           Left bracket [          Backslash     \
% Right bracket ]           Circumflex   ^          Underscore    _
% Grave accent  `           Left brace   {          Vertical  bar  |
% Right brace   }           Tilde        ~
%--------------------------------------------------------------------
%\documentstyle[12pt]{article}

% \addtolength{\textheight}{1.6in} \addtolength{\topmargin}{-0.8in}
% \newcommand{\half}{\frac12}      \newcommand{\threehalf}{\frac32}

% increased vertical spacing between equations and table rows
%    \renewcommand{\jot}{8pt}
%    \renewcommand{\arraystretch}{1.5}

\documentclass{elsart}
\usepackage{pictex}
\begin{document}
% vectors with a little extra space, used when followed by ) % or ^2.
     \newcommand{\p}{\vec{p}\,}
     \newcommand{\q}{\vec{q}\,}

% dot with less space around it, used for all display-size dot products
     \newcommand{\tdot}{\!\cdot\!}

% d, e, i, Re used in math formulas
     \newcommand{\dd}{{\rm d}}       \newcommand{\ee}{{\rm e}}
     \newcommand{\td}{\!{\rm d}}     \newcommand{\ii}{{\rm i}}
     \newcommand{\re}{{\rm Re}\,}

     \newcommand{\bigeqn}{\begin{eqnarray} && \!\!\! \!\!\! \!\!\!}
     \newcommand{\ie}{i.e.}        \newcommand{\Eq}{Eq.\,}
     \newcommand{\cf}{cf.}         \newcommand{\Eqs}{Eqs.\,}

     \hyphenation{ Min-kow-ski}

%\begin{document}
%%%%%%%%%%%%%%%%1st title. double%% are 1st title parts
%\begin{flushright}   Guelph Math. Series 1996-151   %\end{flushright}
%%\vfill
%%{\center{\bf {The Four-Point Function in Light-Cone Gauge Yang-Mills Theory}} 

%%{\center{George Leibbrandt
%\footnotemark\
%% \\ Department of Mathematics
%% and Statistics, University of Guelph, \\ Guelph, Ontario, Canada.
%% N1G 2W1 }
%\addtocounter{footnote}{0}
%\footnote{E-mail: gleibbra@msnet.mathstat.uoguelph.ca}}
%%\\
%%{\center{Al Richardson
%\footnotemark\
%% \\ Department of Physics,
%% University of Guelph \\ Guelph, Ontario, Canada.  N1G 2W1 }
%\addtocounter{footnote}{0}
%\footnote{E-mail: arichard@uoguelph.ca}}
%
%%}
%% \vfill \center{January 3, 1997}
%        \center{Revised mo day , 1996} \vfill
%%\\
%%%%%%%%%%%%%%%2nd title
 \begin{frontmatter}
 \title{The Pole Part of the 1PI Four-Point Function in Light-Cone Gauge 
        Yang-Mills Theory}

 \author[GL]{George Leibbrandt\thanksref{MATH}}, 
 \author[AR]{Al Richardson\thanksref{PHYS}} and
 \author[CP]{C.P. Martin\thanksref{SPAIN}}

 \address[GL]{Department of Mathematics and Statistics, \\
  University of Guelph, Guelph, Ontario, Canada.  N1G 2W1 }
 \address[AR]{Department of Physics, \\
  University of Guelph, Guelph, Ontario, Canada.  N1G 2W1 }
 \address[CP]{Departamento de F\'{\i}sica Te\'orica I, 
         Facultad de Ciencias Fisicas \\
   Universidad Complutense de Madrid,  Madrid-28040, Spain}

 \thanks[MATH]{E-mail: gleibbra@msnet.mathstat.uoguelph.ca}
 \thanks[PHYS]{E-mail: arichard@uoguelph.ca}
 \thanks[SPAIN]{E-mail: carmelo@eucmos.sim.ucm.es}

%\author{George Leibbrandt \\ Department of Mathematics} %%% and Statistics 
%%        University of Guelph \\ Guelph, Ontario \\ Canada \\ N1G 2W1} 
%        \and {Al Richardson \\ Department of Mathematics and Statistics \\
%        University of Guelph \\ Guelph, Ontario \\ Canada \\ N1G 2W1}}
%        \and 
%        C.P. Martin 
%\\ Departanento de Fisica Teorica I \\
%        Universidad Complutense de Madrid Facultad de Ciencias Fisicas \\
%        Madrid 28040 Spain}
\begin{abstract}
\begin{center}
{\bf Abstract}
\end{center}
\noindent                      
The complete UV-divergent contribution to the one-loop 1PI four-point 
function of Yang-Mills theory in the light-cone gauge is computed in 
this paper. The formidable UV-divergent contributions arising from
each four-point Feynman diagram yield a succinct final result which 
contains nonlocal terms as expected. These nonlocal contributions 
are consistent with gauge symmetry, and correspond to a nonlocal 
renormalization of the wave function. Renormalization of Yang-Mills 
theory in the light-cone gauge is thus shown explicitly at the 
one-loop level.

%PACS: 11.15, 12.38.C
\end{abstract}
% }
% \vfill\eject
% \baselineskip=18pt

 \end{frontmatter}
\clearpage
\input{npb0.te}
\clearpage
\clearpage
\input{npb1.te}
\clearpage
\clearpage
\input{npb2.te}
\clearpage
\clearpage
\input{npb3.te}
\clearpage
\clearpage
\input{npb4.te}
\clearpage
\clearpage
\input{npbappa.te}
\clearpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%   \vspace{7 mm} \begin{center}  {\bf {\large Acknowledgments}}
%                 \end{center}
\begin{ack}

We should like to acknowledge E. Yehudai for his software package
HIP-MAPLE, which was an invaluable tool for our work. One of us (C.P.M.)
would like to thank the Natural Sciences and Engineering Research
Council (NSERC) of Canada, and CICYT for financial support. The second
author gratefully acknowledges financial support in the form of a
scholarship from NSERC.  This research was supported in part by NSERC of
Canada under Grant No. A 8063.

\end{ack}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
     \begin{thebibliography}{99}
\bibitem{ns:M1} S. Mandelstam, {\em {Nucl. Phys.}} {\bf B213} (1983) 149.
\bibitem{ns:L1} G. Leibbrandt, {\em {On The Light-Cone Gauge}} ,University of Cambridge, Cambridge DAMTP seminar (1982).
\bibitem{ns:L2} G. Leibbrandt, {\em {The light-cone gauge in Yang-Mills Theory}} ,University of Cambridge, Cambridge Report No. DAMTP 83/10, 1983, unpublished.
\bibitem{ns:L3} G. Leibbrandt, {\em {Phys. Rev.}} {\bf D29} (1984) 1699.
\bibitem{brink} L. Brink, O. Lindgren and B. E. W. Nilsson, {\em Nucl. Phys.} {\bf B212} (1983) 401.
\bibitem{supstrng} M. B. Green and J. H. Schwarz, {\em Phys. Lett} {\bf B149} (1984) 117.
\bibitem{L:book} G. Leibbrandt, \underbar{Noncovariant Gauges} (World Scientific, Singapore, 1994).
\bibitem{bas1} A. Bassetto, 1985, {\em VIII Warsaw Symposium on Elementary Particle Physics, Kazimierz} (University of Padova), Report No. DFPD 16/85.
\bibitem{bas2} A. Bassetto, 1986, "Light-Cone Gauge Pathologies" (University of Padova), Report No. DFPD 7-86.
\bibitem{basea1} A. Bassetto, M. Dalbosco, I. Lazzizzera and R. Soldati, {\em {Phys. Rev.}} {\bf D31} (1985) 1012.
\bibitem{basea2} A. Bassetto, M. Dalbosco and  R. Soldati, {\em {Phys. Lett.}} {\bf B159} (1985) 311.
\bibitem{basea3} A. Bassetto, M. Dalbosco and  R. Soldati, {\em {Phys. Rev.}} {\bf D33} (1986) 617.
\bibitem{basea4} A. Bassetto and R. Soldati, {\em {Nucl. Phys.}} {\bf B276} (1987) 517.
\bibitem{leemil1} H. C. Lee and M. S. Milgram, {\em {Phys. Rev. Lett.}} {\bf 55} (1985) 2122.
\bibitem{leemil2} H. C. Lee and M. S. Milgram, {\em {Nucl. Phys.}} {\bf B268} (1986) 543.
\bibitem{andrasiea} A. Andra\v{s}i, G. Leibbrandt and S. L. Nyeo, {\em {Nucl. Phys.}} 
{\bf B276} (1986) 445.
\bibitem{leinyeo1} G. Leibbrandt and S. L. Nyeo, {\em {Z. Phys.}} 
{\bf C30} (1986) 501.
\bibitem{leinyeo2} G. Leibbrandt and S. L. Nyeo, {\em {Nucl. Phys.}} 
{\bf B276} (1986) 459.
\bibitem{ny1} S. L. Nyeo, {\em {Nucl. Phys.}} {\bf B273} (1986) 195.
\bibitem{ny2} S. L. Nyeo, Ph. D. Thesis, University of Guelph, Guelph, Ontario, Canada.
\bibitem{ny3} S. L. Nyeo, {\em {Phys. Rev.}} {\bf D34} (1986) 3832.
\bibitem{Bas:4pt} A. Bassetto, M. Dalbosco and R. Soldati, {\em {Phys. Rev.}} {\bf D36} (1987) 3138.
\bibitem{gl3} G. Leibbrandt, C.P. Martin and M. Staley, {\em Nucl. Phys.} 
{\bf B405} (1993) 777. 
\bibitem{l:nloc} G. Leibbrandt, {\em Rev. Mod. Phys.} {\bf 59} (1987) 1067
%\bibitem{PT:box} P. Pascual, R. Tarrach, {\em {Nucl. Phys.}} {\bf B174} (1980) 123.
%\bibitem{tadpole:CL} D. M. Capper and G. Leibbrandt, {\em {J. Math. Phys.} } 
\bibitem{K1} W. Kummer, {\em {Acta Phys. Austriaca}} {\bf 41} (1975) 315.
\bibitem{Wein:th} S. Weinberg, {\em {Phys. Rev.}} {\bf118} (1960) 838.
%\bibitem{L:dimreg} G. Leibbrandt, {\em {Rev. Mod. Phys.}} {\bf47} (1975) %849.
\bibitem{Dal:3pt} M. Dalbosco, {\em {Phys. Lett.}} {\bf 163B} (1985) 181.
\end{thebibliography}

\end{document}
\bye



\section{Feynman Rules}
\label{sec:fynrules}
In the light-cone gauge,
	\begin{equation}
	n \tdot A^a = 0, \;
	n^2=0 
	\label{eq:lcgf},
	\end{equation}
(the metric signature is $(+, -, -, -)$) the Lagrangian density for $SU(N)$ Yang-Mills theory takes the form 
	\begin{equation} 
	 L= -\frac{1}{4} {F^a}_{\mu \nu} {F_a}^{\mu \nu} - \frac1{2\alpha}{(n\tdot A^a )}^2 
	+ {\overline{\eta}}^a n^{\mu} D^{ab}_{\mu}{\eta}^b ,\; \alpha\rightarrow 0 ,
       \label{eq:lym} 
	\end{equation}
where $F^{a}_{\mu
\nu}={\partial}_{\mu}A^{a}_{\nu}-{\partial}_{\nu}A^{a}_{\mu}+gf^{abc}A^{b}_{\mu}A^{c}_{\nu}$
is the gauge field tensor, $\mu ,\nu = 0,1,2,3$, and $a,b,\ldots = 1,2
...,N^2 -1$.  The covariant derivative is $D^{ab}_{\mu}={\delta}^{ab}
{\partial}_{\mu}+g f^{abc} {A^c}_{\mu}$ and $f^{abc}$ are the group
structure constants. The ghost fields, $\eta$ and $\overline{\eta}$,
appear only in closed loops and obey Fermi statistics.

The Yang-Mills gauge field propagator (Fig.~\ref{f:gaprop}) reads,
for $\alpha=0$,
\begin{equation} \label{eq:prop}
G^{ab}_{\mu \nu}(q) = \frac{-i {\delta}^{ab}}{q^2 +i \epsilon}
\bigg[ g_{\mu \nu} -\frac{q_\mu n_\nu+q_\nu n_\mu}{q \tdot n} \bigg] ,\; \epsilon > 0.
\end{equation}
\begin{figure}[h,b,t]
\setlength{\unitlength}{0.012500in}%
\begin{center}
\begin{picture}(160,34)(80,745)
\thicklines
\put( 80,760){\line( 1, 0){160}}
\multiput(160,760)(-0.40000,0.40000){26}{\makebox(0.4444,0.6667){.}}
\multiput(160,760)(-0.40000,-0.40000){26}{\makebox(0.4444,0.6667){.}}
\put( 85,770){\makebox(0,0)[lb]{\smash{a}}}
\put(235,770){\makebox(0,0)[lb]{\smash{b}}}
\put( 85,745){\makebox(0,0)[lb]{\smash{$\mu$}}}
\put(235,745){\makebox(0,0)[lb]{\smash{$\nu$}}}
\end{picture}
\end{center}
\vskip .2in
\caption{ \em Light-Cone Gauge Yang-Mills Propagator}
\label{f:gaprop}
\vskip .2in
\end{figure}

The ghost-ghost-gluon vertex is given by
\begin{equation}  \label{eq:gggvtex}
U^{abc}_{\mu}(p,q,r)  =  - i g f^{abc} n_{\mu} {\delta}^{4} (q+p-r),
\end{equation}
so that any interaction between ghost and gluon involves the contraction
of the gluon propagator with $n^{\mu}$. Thus,
\begin{equation}
n^{\mu}G^{ab}_{\mu \nu}(q)= \frac{-i{\delta}^{ab}}{q^2+i\epsilon}n^{\mu} 
\bigg[ g_{\mu \nu} -\frac{q_{\mu} n_{\nu}+q_{\nu}n_{\mu}}{q \tdot n} \bigg]
= n_{\nu} - n_{\nu} -q_{\nu}\frac{n^2}{q \tdot n} = 0, 
\end{equation}
so that any ghost-gluon interaction term vanishes, since $n_{\mu}$ is
light-like. Although the ghost propagator is not needed for the present
calculations, we list it here for completeness:
\begin{equation}
G^{ab}=\frac{-i {\delta}^{ab}}{q\tdot n}.
\end{equation}

The bare three-gluon vertex (Fig.~\ref{f:fvtex3}) reads
\begin{equation}
V^{abc}_{\mu \nu \rho}(p,q,r)  =  - g f^{abc} \big[ (q - r)_{\mu}
g_{\nu \rho} + (r-p)_{\nu} g_{\mu \rho} +(p-q)_{\rho} g_{\mu \nu} \big],
\end{equation}
\begin{figure}[h,b,t]
\vskip .1in
\setlength{\unitlength}{0.012500in}%
\begin{center}
\begin{picture}(120,144)(100,600)
\thicklines
\put(160,680){\line( 0,-1){ 80}}
\put(160,680){\line(-1, 1){ 60}}
\put(130,710){\line( 0, 1){ 10}}
\put(130,710){\line(-1, 0){ 10}}
\multiput(160,640)(0.40000,-0.40000){26}{\makebox(0.4444,0.6667){.}}
\multiput(160,640)(-0.40000,-0.40000){26}{\makebox(0.4444,0.6667){.}}
\put(160,680){\line( 1, 1){ 60}}
\put(190,710){\line( 1, 0){ 10}}
\put(190,720){\line( 0,-1){ 10}}
\put(115,735){\makebox(0,0)[lb]{\smash{a}}}
\put(205,735){\makebox(0,0)[lb]{\smash{b}}}
\put(195,695){\makebox(0,0)[lb]{\smash{q}}}
\put(125,695){\makebox(0,0)[lb]{\smash{p}}}
\put(165,640){\makebox(0,0)[lb]{\smash{r}}}
\put(150,600){\makebox(0,0)[lb]{\smash{$\rho$}}}
\put(165,600){\makebox(0,0)[lb]{\smash{c}}}
\put(100,720){\makebox(0,0)[lb]{\smash{$\mu$}}}
\put(215,720){\makebox(0,0)[lb]{\smash{$\nu$}}}
\end{picture}
\end{center}
\caption{ \em Three-Gluon Vertex}
\label{f:fvtex3}
\vskip .1in
\end{figure}
and the bare four-gluon vertex (Fig.~\ref{f:fvtex4}) is
\begin{eqnarray} \label{eq:fgvtex}
\hspace{.75in}V^{abcd}_{\mu \nu \rho \sigma}  =  - i g^2 &[& 
f_{abe} f_{cde} (g_{\mu \rho} g_{\nu \sigma} - g_{\mu \sigma} g_{\nu \rho} ) \\
&+& f_{ace} f_{dbe} ( g_{\mu \sigma} g_{\nu \rho} - g_{\mu \nu} g_{\rho \sigma} )\nonumber \\
&+& f_{ade} f_{bce} ( g_{\mu \nu} g_{\rho \sigma} - g_{\mu \rho} g_{\nu \sigma} ) ]. \nonumber
\end{eqnarray}
\begin{figure}[h]
\vskip .1in
\setlength{\unitlength}{0.012500in}%
\begin{center}
\begin{picture}(160,174)(80,590)
\thicklines
\put(160,680){\line(-1, 1){ 80}}
\put(120,720){\line( 0, 1){ 10}}
\put(120,720){\line(-1, 0){ 10}}
\put(160,680){\line( 1, 1){ 80}}
\put(160,680){\line( 1,-1){ 80}}
\put(160,680){\line(-1,-1){ 80}}
\put(200,720){\line( 0, 1){ 10}}
\put(210,720){\line(-1, 0){ 10}}
\put(210,640){\line(-1, 0){ 10}}
\put(120,630){\line( 0, 1){ 10}}
\put(120,640){\line(-1, 0){ 10}}
\put(200,630){\line( 0, 1){ 10}}
\put( 90,755){\makebox(0,0)[lb]{\smash{a}}}
\put(225,755){\makebox(0,0)[lb]{\smash{b}}}
\put(225,735){\makebox(0,0)[lb]{\smash{$\nu$}}}
\put( 85,735){\makebox(0,0)[lb]{\smash{$\mu$}}}
\put(125,720){\makebox(0,0)[lb]{\smash{p}}}
\put(190,720){\makebox(0,0)[lb]{\smash{q}}}
\put(125,630){\makebox(0,0)[lb]{\smash{r}}}
\put(190,630){\makebox(0,0)[lb]{\smash{s}}}
\put(235,610){\makebox(0,0)[lb]{\smash{c}}}
\put( 80,610){\makebox(0,0)[lb]{\smash{d}}}
\put( 90,590){\makebox(0,0)[lb]{\smash{$\sigma$}}}
\put(230,590){\makebox(0,0)[lb]{\smash{$\rho$}}}
\end{picture}
\end{center}
\caption{ \em Four-Gluon Vertex}
\label{f:fvtex4}
\vskip .1in
\end{figure}




\section{Mathematical Tools}\label{sec:mthtools}
In this section, we shall discuss the technical aspects relevant to the calculation of the four-point function.

We work in the framework of dimensional regularization, where $2\omega$ defines the dimensionality of complex
 space-time, and recall that massless tadpoles, such as
\begin{equation}
\int d^{2\omega}q \frac{1}{q^2}, \;\int d^{2\omega}q \frac{1}{q\tdot n},\;\int d^{2\omega}q \frac{1}{q^2 (q\tdot n)}, etc.
\end{equation}
are set to zero. 

The spurious poles of $(q\tdot n)^{-1}$ are treated with the $n^{\ast}_{\mu}$-prescription \cite{ns:M1,ns:L1,ns:L2,ns:L3},
\begin{equation}\label{eq:nspre}
\frac{1}{q\tdot n} = lim_{\epsilon \longrightarrow 0} \frac{q \tdot n^{\ast}}{(q\tdot n)( q\tdot n^{\ast})+i\epsilon },\;\epsilon >0,
\end{equation}
which allows a Wick rotation and is consistent with power counting. 
Note that care must be taken when using power counting arguments, since the degree of divergence $\alpha$ differs for $q_{\perp}$ 
and $q_{\parallel}$, where
\begin{eqnarray}
& & \hspace{1.2in} q\tdot n  =  q_{\parallel}\tdot n, \\
& & \hspace{1.2in} q_{\perp}\tdot n  =  0. \nonumber
\end{eqnarray} 
For example, the gauge propagator (\ref{eq:prop}) has a degree of
divergence $\alpha = -2$, when $q \rightarrow \infty$ along any
direction. However, with respect to large $q_{\perp}$ behaviour, the
covariant part of the propagator has degree of divergence
${\alpha}_{\perp}=-2$, while the noncovariant parts carry degree
${\alpha}_{\perp}=-1$.  When encountering multiple $(q \cdot n)^{-1}$
factors coming from the gauge propagator (\ref{eq:prop}), we shall use
the separation formula
\begin{equation}\label{eq:sepn}
\frac{1}{q \cdot n (q - p) \cdot n} = \frac{1}{p \cdot n}
\left[ \frac{1}{(q-p) \cdot n} - \frac{1}{q \cdot n} \right] , p \cdot n \not = 0,
\end{equation}
which helps unveil the nonlocal structure of the UV divergence of the
Green functions \cite{gl3}.

%For multiple $(q\tdot n)^{-1}$ factors, we use the separation formula
%\begin{equation}\label{eq:sepn}
%\frac{d^4 q}{q\tdot n (q-p)\tdot n}= \frac{1}{p\tdot n} \bigg[
%\frac{d^4 q}{(q-p)\tdot n} - \frac{1}{q\tdot n} \bigg],\; p\tdot n\neq 0
%\end{equation}
The
separation formula (\ref{eq:sepn}) is applied as many times as is
necessary to yield integrals containing only a single noncovariant
denominator; a shift in the integration variable $k$, $k=q-p$, is used
to reduce as many integrals as possible to tadpole integrals, which
are known to vanish in dimensional regularization.

To simplify complicated Feynman integrals, we split the gauge propagator
(\ref{eq:prop}) into light-cone (LC) and non-light-cone (NLC) propagators,
$G^{a b}_{\mu \nu} = {\delta}^{ab} (G^{LC}_{\mu \nu} + G^{NLC}_{\mu \nu}
)$, where $G^{LC}_{\mu \nu}$ contains the noncovariant vector $n_{\mu}$,
while $G^{NLC}_{\mu \nu}$ contains only covariant parts:
\begin{eqnarray}	\label{eq:lcprop}
\hspace{1.2in} & &G^{a b}_{\mu \nu} = {\delta}^{ab} (G^{LC}_{\mu \nu} + G^{NLC}_{\mu \nu} ),\\ 
& & G^{LC}_{\mu \nu}(q) =  \frac{i}{q^{2} + i \epsilon} 
\bigg( \frac{ q_{\mu}n_{\nu}+q_{\nu}n_{\mu} }{q \tdot n} \bigg), \nonumber \\
& & G^{NLC}_{\mu \nu}(q) = \,- \frac{i}{q^{2}+ i \epsilon} g_{\mu \nu}. \nonumber
\end{eqnarray}

Finally, in order to handle the vast number of terms in the intermediate
stages of the calculation, we employed the program MAPLE, with the add-on
package HIP-MAPLE, which allowed us to manage simple operations on large
expressions, such as permutations of indices, additions, etc. The main
steps involved in the computation of the four-point function may be
summarized as follows.  \begin{enumerate}
\item The Feynman integrals corresponding to the box diagram
(Fig.~\ref{fig:box0}), lynx diagram (Fig.~\ref{fig:lynx0}) and fish
diagram (Fig.~\ref{fig:fish0}) are written down, and the propagators split
according to Eqs. (\ref{eq:lcprop}), generating 28 major ``subdiagrams''.

\item After simplification, each integral in the 28 ``subdiagrams'' is
identified as belonging to one of 44 classes of typical integrals,
$[I^{\{\mu\}}_{\{ a\}}(\{p\} ){\big]}_i$, where $\{ \mu \}$ indicates the
relevant set of Lorentz indices, $\{ a \}$ the set of colour indices, $\{
p \}$ the set of (arbitrary) external momenta and where $i=1,\ldots, 44$.

\item The UV divergent bit of each of the 44 classes of integrals
is evaluated by hand, for general external momenta. The results are
fed into the symbolic manipulation program MAPLE, with the add-on
package HIP-MAPLE, which greatly simplifies algebraic manipulations of
four-vectors. Unfortunately, HIP-MAPLE is unsupported and will not work,
without significant revisions, with MAPLE version three or higher.

\item The integrated results of each ``subdiagram'' are then entered into the
computer. The ability of MAPLE to easily substitute specific sets of
external momenta and indices into the various
integrals is invaluable at this stage.

\item The complete expression for the UV divergent bit of 1PI the four-point
function is obtained by summing the box, lynx and fish diagrams of
Section~\ref{sec:fptfn}, along with their `partner' diagrams which are generated
by taking all topologically distinct permutations of external indices
and momenta.  The integrated results for all ``subdiagrams'' and `partners'
are combined and simplified, yielding the concise final result in
Eq.~(\ref{eq:result}).  
\end{enumerate}












\section{The 1PI Four-Point Function}
\label{sec:fptfn}
The 1PI four-point function in light-cone Yang-Mills theory is comprised of
three diagrams: the box diagram (Fig.~\ref{fig:box0}), the lynx diagram
(Fig.~\ref{fig:lynx0}) and the fish diagram (Fig.~\ref{fig:fish0}). We
shall deal with each diagram separately. 

To obtain the complete 1PI four-point function, one must include not only
the representative diagrams (discussed in this section), but also the diagrams
generated by taking all topologically distinct permutations of external
indices and momenta. Once the calculations in Sections \ref{sec:bxsec},
\ref{sec:lxsec} and \ref{sec:fshsec} have been completed, the final
permutations may be readily generated using MAPLE. Accordingly, we shall
only present one specific ordering of the external indices.

Before turning to the explicit calculations, it may be helpful to comment
briefly on the possible nonlocal structures allowed in the 1PI four-point
function. Each noncovariant propagator $G^{LC}$ contributes a factor
$[(q-p)\tdot n]^{-1}$. Since the divergent parts of basic one-loop
integrals (i.e. those with only a single factor of $[(q-p)\tdot n]^{-1}$)
are {\em local} functions of the external momenta \cite{l:nloc}, the
pole part of an integral with only one noncovariant propagator is local,
and we use the separation formula Eq. (\ref{eq:sepn}) as many times as
necessary to reduce an integral with multiple noncovariant propagators to
a sum of basic one-loop integrals. Furthermore, each application of the
separation formula introduces one nonlocal factor $(p_i \tdot n)^{-1}$
in the external momenta $p_i$, and these are the only non-polynomial
factors. Dimensional analysis of the fish, lynx and box integrals
Eqs. (\ref{eq:boxeqn}), (\ref{eq:lynxeqn}) and (\ref{eq:fisheqn}), reveals
that the 1PI four-point function has units of $[p]^0 [n]^0 [n^{\ast}]^0$,
so we can tell that, for the fish diagram, the integrated expression
can contain only factors of the form \begin{equation}
f^{u_1 u_2 u_3 u_4}_{0}, \; \frac{f^{u_1 u_2 u_3 u_4}_{1}}{p\tdot n},\frac{f^{u_1 u_2 u_3 u_4}_{2}}{(p\tdot n)(k\tdot n)},
\end{equation}
where the subscripts $0,1,2$ indicate the power of momentum in
the expression $f$; the poles of $(p\tdot n)^{-1}$ are treated according to the
$n^{\ast}_{\mu}$-prescription and colour indices have been omitted. In the
case of the lynx diagram, an additional factor of the form $$\frac{f^{u_1
u_2 u_3 u_4}_{3}}{(p\tdot n)(k\tdot n)(q\tdot n)}$$ can occur, along with
those listed above, while in the box diagram a fourth factor, $$\frac{f^{u_1
u_2 u_3 u_4}_{4}}{(p\tdot n)(k\tdot n)(q\tdot n)(r\tdot n)},$$ may
also appear.

\subsection{Box Diagrams}
\label{sec:bxsec}
The complete pole part of the box diagram, shown in Fig.~\ref{fig:box0}
is difficult to calculate by virtue of the sheer number of Feynman
integrals. It leads to the following expression:
\begin{eqnarray}
\label{eq:boxeqn}
\hspace{.5in} J^{box}=\bigg{\{} & & \int \frac{d^{2 \omega}q}{(2\pi )^{2\omega}}
{\delta}^{ab}G_{\mu \nu}(q)V^{u_1 \mu \tau}_{a_1 a h}(p_1 ,q,q+p_4 ) \\
& & {\delta}^{cd}G_{\alpha \beta}(q+p_2 )V^{u_2 \alpha \nu}_{a_2 c b}(p_2 ,-q-p_2 ,q) \nonumber \\
& & {\delta}^{ef}G_{\rho \sigma}(q+p_2 +p_3 )\nonumber \\
& & V^{u_3 \rho \beta}_{a_3 e d}(p_3 ,-q-p_2 -p_3 ,q+p_2 )\nonumber \\
& & {\delta}^{gh}G_{\eta \tau}(q +p_2 +p_3 +p_4 )\nonumber \\
& & V^{u_4 \eta \sigma}_{a_4 g f}(p_4 ,-q-p_2 -p_3 -p_4 ,q+p_2 +p_3 ) \bigg{\} }\nonumber \\
& & \delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) \nonumber .
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{box0.te}
\end{center}
%\vskip .1in
\caption{ \em Complete Box Diagram}
\label{fig:box0}
%\vskip .1in
\end{figure}

With the decomposition given in Eq.~(\ref{eq:lcprop}), the complete box diagram
breaks down into 16 ``subdiagrams'', each having only one factor of $G^{LC}$,
or $G^{NLC}$, along any internal line. Several of the ``subdiagrams'' are
related to each other by permutations of the triplet of external indices
and momenta, ($a_i$, $u_i$, $p_i$), $i=1,2,3,4$ (see Eq. (\ref{eq:4p1lc})).

The simplest ``subdiagram'' (Fig.~\ref{fig:box0lc}) contains {\em no}
noncovariant terms $G^{LC}$, which severely restricts the possible
tensor structures appearing in the integrated result.  The integral
corresponding to this subdiagram has the form
\begin{eqnarray}
\label{eq:box0lceqn}
\hspace{.5in} J^{box}_{0}= \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi )^{2\omega}}
{\delta}^{ab}G^{NLC}_{\mu \nu}(q)V^{u_1 \mu \tau}_{a_1 a h}(p_1 ,q,q+p_4 ) \\ & & {\delta}^{cd}G^{NLC}_{\alpha \beta}(q+p_2)V^{u_2 \alpha \nu}_{a_2 c b}(p_2 ,-q-p_2 ,q) \nonumber \\
& & {\delta}^{ef}G^{NLC}_{\rho \sigma}(q+p_2 +p_3 )\nonumber \\
& & V^{u_3 \rho \beta}_{a_3 e d}(p_3 ,-q-p_2 -p_3 ,q+p_2 ) \nonumber\\
& & {\delta}^{gh}G^{NLC}_{\eta \tau}(q +p_2 +p_3 +p_4 )\nonumber \\
& & V^{u_4 \eta \sigma}_{a_4 g f}(p_4 ,-q-p_2 -p_3 -p_4 ,q+p_2+p_3 )\bigg{\}}\nonumber \\
& & \delta^{2\omega}(p_1 +p_2 +p_3 +p_4 );\nonumber
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{box01c.te}
\end{center}
%\vskip .1in
\caption{ \em Box Diagram: No Noncovariant Propagators }
\label{fig:box0lc}
%\vskip .1in
\end{figure}
and yields the simple expression
\begin{eqnarray}
J^{box}_{0} =\frac{\overline{I} \, f^{a_1 ab}f^{a_2 bc}f^{a_3 cd}f^{a_4 da}}{12}
\,\bigg{\{} 47\,\big[ g_{u_3 u_4}\, g_{u_1 u_2} &+& g_{u_2 u_3}\, g_{u_1 u_4}\big]\\ 
+ 17\, g_{u_1 u_3}g_{u_2 u_4}& &\bigg{\}}\nonumber ,
\end{eqnarray}
where $\overline{I}= i {\pi}^2 / (2-\omega )$ . 

For ``subdiagrams'' with one or more $G^{LC}$ factors, the
integrated expressions become increasingly complicated, often containing
hundreds of individual terms. To see this, consider first the set of
diagrams (Fig.~\ref{fig:box1lc}) including precisely {\it one} noncovariant
propagator $G^{LC}_{\mu \nu}$, which leads to the formula
\begin{eqnarray}
\label{eq:4p1lc}
J^{box}_{1}= \bigg{\{ } & & \int  \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}{\delta}^{gh}
G^{LC}_{\mu \nu}(q)V^{u_1 \mu \tau}_{a_1 a h}(p_1 ,q,q+p_4 ) \\
& & G^{NLC}_{\alpha \beta}(q+p_2)V^{u_2 \alpha \nu}_{a_2 c b}(p_2 ,-q-p_2 ,q) \nonumber \\
& & G^{NLC}_{\rho \sigma}(q+p_2 +p_3 )\nonumber \\
& & V^{u_3 \rho \beta}_{a_3 e d}(p_3 ,-q-p_2 -p_3 ,q+p_2 )\nonumber \\
& & G^{NLC}_{\eta \tau}(q +p_2 +p_3 +p_4)\nonumber \\
& & V^{u_4 \eta \sigma}_{a_4 g f}(p_4 ,-q-p_2 -p_3 -p_4 ,q+p_2+p_3 ) \nonumber \\
&+&(1\rightarrow 2,2\rightarrow 3,3\rightarrow 4, 4\rightarrow 1)\nonumber \\
&+&(1\rightarrow 3,2\rightarrow 4,3\rightarrow 1, 4\rightarrow 2)\nonumber \\
&+&(1\rightarrow 4,2\rightarrow 1,3\rightarrow 2, 4\rightarrow 3)\bigg{\}}
\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 );\nonumber
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{box1lc-a.te}
\vskip .1in
\input{box1lc-b.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{2.5in}{2.5in}{c:/al/pics/box1lc.wmf x=2.5in y=2.5in}
\caption{ \em Box Diagrams: One Noncovariant Propagator}
\label{fig:box1lc}
%\vskip .1in
\end{figure} 
here, ($1\rightarrow 2$) indicates the exchange of both external indices
and momenta; for example: $a_1 \rightarrow a_2 ,u_1 \rightarrow u_2 ,p_1
\rightarrow p_2 $, and so on. Although all four of these ``subdiagrams''
are related by symmetry transformations, the possibility of errors in
the calculation makes it advisable to compute explicitly at least two
of the ``subdiagrams''. Evaluation of the integrals in Eq.~(\ref{eq:4p1lc})
leads to several hundred terms, but fortuitous cancellation produces
the manageable expression 
\begin{eqnarray}
\hspace{.5in} J^{box}_{1}=\frac{\overline{I}\, f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}}{  n \tdot n^{\ast}} & &\\
\bigg{\{ }
 - 4 \big[
\;n_{ u_1 }\, n^{\ast}_{ u_4 }\, n^{\ast}_{ u_3 }\, n_{ u_2 }
& & \mbox{} + n_{ u_3 }\, n^{\ast}_{ u_1 }\, n^{\ast}_{ u_4 }\, n_{ u_2 }\nonumber \\
+ n_{ u_1 }\, n^{\ast}_{ u_4 }\, n^{\ast}_{ u_2 }\, n_{ u_3 }
& & \mbox{} + n_{ u_4 }\, n^{\ast}_{ u_1 }\, n^{\ast}_{ u_2 }\, n_{ u_3 }\nonumber \\
+ n_{ u_4 }\, n^{\ast}_{ u_1 }\, n^{\ast}_{ u_3 }\, n_{ u_2 }
& & \mbox + n_{ u_4 }\, n^{\ast}_{ u_2 }\, n^{\ast}_{ u_3 }\, n_{ u_1 }\, \big] \nonumber \\
+ 4 (n\tdot n^{\ast}) \big[\;n_{ u_4 }\, n^{\ast}_{ u_3 }\> g_{ u_1 u_2 }
& & \mbox{} + n_{ u_1 }\, n^{\ast}_{ u_4 }\> g_{ u_2 u_3 } \nonumber \\
+ n_{ u_1 }\, n^{\ast}_{ u_2 }\> g_{ u_3 u_4 } 
& & \mbox + n_{ u_4}\, n^{\ast}_{ u_1}\> g_{ u_2 u_3} \nonumber \\
+ n_{ u_3}\, n^{\ast}_{ u_4}\> g_{ u_1 u_2}
& & \mbox{} + n_{ u_2}\, n^{\ast}_{ u_1}\> g_{ u_3 u_4} \nonumber \\
+ n_{ u_2}\, n^{\ast}_{ u_3}\> g_{ u_1 u_4}
& & \mbox{} + n_{ u_3}\, n^{\ast}_{ u_2}\> g_{ u_1 u_4} \big] \nonumber \\
+ 6(n\tdot n^{\ast}) \big[\;n_{ u_1}\, n^{\ast}_{ u_3}\> g_{ u_2 u_4}
& & \mbox{} + n_{ u_2}\, n^{\ast}_{ u_4}\> g_{ u_1 u_3}\nonumber \\
+ n_{ u_4}\, n^{\ast}_{ u_2}\> g_{ u_1 u_3}
& & \mbox{} + n_{ u_3}\, n^{\ast}_{ u_1}\> g_{ u_2 u_4} \big] \nonumber \\
- \frac {25}{3}(n\tdot n^{\ast})^2 \big[
\; g_{ u_1 u_2}\> g_{ u_3 u_4} 
& & \mbox{} +  g_{ u_2 u_3}\> g_{ u_1 u_4}\big]\nonumber \\
- \frac {13}{3}(n\tdot n^{\ast})^2 \big[
\; g_{ u_1 u_3}\> g_{ u_2 u_4}\big] & & \bigg{\} }. \nonumber
\end{eqnarray}
With the introduction of the single $G^{LC}(q)$ factor, we already
begin to see the emergence of noncovariant terms. Of course, there
are no nonlocal terms, since the separation formula Eq.~(\ref{eq:sepn})
has not been required as yet.

The set of ``subdiagrams'' containing {\em two} $G^{LC}$ factors
(Fig.~\ref{fig:box2lc}) is represented by $J^{box}_2$, where
\begin{eqnarray}
\label{eq:4p2lc}
J^{box}_{2}=
\bigg{\{ } & & \int  \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}{\delta}^{gh}
G^{LC}_{\mu \nu}(q)\\
& & V^{u_1 \mu \tau}_{a_1 a h}(p_1 ,q,q+p_4 )\nonumber \\
& & G^{LC}_{\alpha \beta}(q+p_2)V^{u_2 \alpha \nu}_{a_2 c b}(p_2 ,-q-p_2 ,q) \nonumber \\
& & G^{NLC}_{\rho \sigma}(q+p_2 +p_3 )\nonumber \\
& & V^{u_3 \rho \beta}_{a_3 e d}(p_3 ,-q-p_2 -p_3 ,q+p_2 )\nonumber \\
& & G^{NLC}_{\eta \tau}(q +p_2 +p_3 +p_4 )\nonumber \\
& & V^{u_4 \eta \sigma}_{a_4 g f}(p_4 ,-q-p_2 -p_3 -p_4 ,q+p_2+p_3 ) \nonumber \\
&+&(1\rightarrow 2,2\rightarrow 3,3\rightarrow 4, 4\rightarrow 1)\nonumber \\
&+&(1\rightarrow 3,2\rightarrow 4,3\rightarrow 1, 4\rightarrow 2)\nonumber \\
&+&(1\rightarrow 4,2\rightarrow 1,3\rightarrow 2, 4\rightarrow 3)
\bigg{\}}\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 )\nonumber \\
+ \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}{\delta}^{gh}
G^{LC}_{\mu \nu}(q)V^{u_1 \mu \tau}_{a_1 a h}(p_1 ,q,q+p_4 ) \nonumber \\
& & G^{NLC}_{\alpha \beta}(q+p_2)V^{u_2 \alpha \nu}_{a_2 c b}(p_2 ,-q-p_2 ,q) \nonumber \\
& & G^{LC}_{\rho \sigma}(q+p_2 +p_3 )\nonumber \\
& & V^{u_3 \rho \beta}_{a_3 e d}(p_3 ,-q-p_2 -p_3 ,q+p_2 ) \nonumber \\
& & G^{NLC}_{\eta \tau}(q +p_2 +p_3 +p_4)\nonumber \\
& & V^{u_4 \eta \sigma}_{a_4 g f}(p_4 ,-q-p_2 -p_3 -p_4 ,q+p_2+p_3 ) \nonumber \\
&+&(1\rightarrow 2,2\rightarrow 3,3\rightarrow 4, 4\rightarrow 1)
\bigg{\}} \delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ).\nonumber
\end{eqnarray}
\begin{figure}[bh]
\begin{center}
\input{box2lc-a.te}
\vskip .1in
\input{box2lc-b.te}
\vskip .1in
\input{box2lc-c.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{4.8in}{3.2in}{c:/al/pics/box2lc.wmf x=4.8in y=3.2in}
\caption{ \em Box Diagrams: Two Noncovariant Propagators}
\label{fig:box2lc}
%\vskip .1in
\end{figure}
Evaluation of Eq.~(\ref{eq:4p2lc}) yields the expression (\ref{eq:bx2lc}) in Appendix A.

The next contribution to the complete box comes from ``subdiagrams''
containing three noncovariant propagator factors (Fig.~\ref{fig:box3lc}),
and has the unintegrated form \begin{eqnarray}
\label{eq:4p3lc}
J^{box}_{3}= \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}{\delta}^{gh}
G^{LC}_{\mu \nu}(q)V^{u_1 \mu \tau}_{a_1 a h}(p_1 ,q,q+p_4 ) \\
& & G^{LC}_{\alpha \beta}(q+p_2)V^{u_2 \alpha \nu}_{a_2 c b}(p_2 ,-q-p_2 ,q) \nonumber \\
& & G^{LC}_{\rho \sigma}(q+p_2 +p_3 )V^{u_3 \rho \beta}_{a_3 e d}(p_3 ,-q-p_2 -p_3 ,q+p_2 ) \nonumber \\
& & G^{NLC}_{\eta \tau}(q +p_2 +p_3 +p_4 )\nonumber \\
& & V^{u_4 \eta \sigma}_{a_4 g f}(p_4 ,-q-p_2 -p_3 -p_4 ,q+p_2+p_3 ) \nonumber \\
&+&(1\rightarrow 2,2\rightarrow 3,3\rightarrow 4, 4\rightarrow 1)\nonumber \\
&+&(1\rightarrow 3,2\rightarrow 4,3\rightarrow 1, 4\rightarrow 2)\nonumber \\
&+&(1\rightarrow 4,2\rightarrow 1,3\rightarrow 2, 4\rightarrow 3)
\bigg{\} }\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ).\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{box3lc-a.te}
\vskip .1in
\input{box3lc-b.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{2.5in}{2.5in}{c:/al/pics/box3lc.wmf x=2.5in y=2.5in}
\caption{ \em Box Diagrams: Three Noncovariant Propagators}
\label{fig:box3lc}
%\vskip .1in
\end{figure}
We shall make no attempt to state the pole part of the integrated result
of Eq.~(\ref{eq:4p3lc}), consisting as it does of some $653$
terms. Fortunately, the UV contribution to $J^{box}_{3}$ is cancelled in its entirety by the
corresponding terms, both in its symmetry partners, and in $J^{lynx}_{3}$
(see below). In fact, it will turn out that this entire pole part of the box diagram is
cancelled in the complete 1PI one-loop four-point function.

The last contribution to the complete box comes from the diagram with four
internal noncovariant propagators $G^{LC}$ (Fig.~\ref{fig:box4lc});
the associated integral reads
\begin{eqnarray}
\label{eq:4p4lc}
J^{box}_{4}= \bigg{\{ } & & \int  \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}{\delta}^{gh}
G^{LC}_{\mu \nu}(q)V^{u_1 \mu \tau}_{a_1 a h}(p_1 ,q,q+p_4 ) \\
& & G^{LC}_{\alpha \beta}(q+p_2)V^{u_2 \alpha \nu}_{a_2 c b}(p_2 ,-q-p_2 ,q) \nonumber \\
& & G^{LC}_{\rho \sigma}(q+p_2 +p_3 )\nonumber \\
& & V^{u_3 \rho \beta}_{a_3 e d}(p_3 ,-q-p_2 -p_3 ,q+p_2 ) \nonumber \\
& & G^{LC}_{\eta \tau}(q +p_2 +p_3 +p_4 )\nonumber \\
& & V^{u_4 \eta \sigma}_{a_4 g f}(p_4 ,-q-p_2 -p_3 -p_4 ,q+p_2+p_3 )\bigg{\}}\nonumber\\
& & \delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ).\nonumber
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{box4lc.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{1.8in}{1.6in}{c:/al/pics/box4lc.wmf x=1.8in y=1.6in}
\caption{ \em Box Diagram: Four Noncovariant Propagators}
\label{fig:box4lc}
%\vskip .1in
\end{figure}
Once again, the intermediate answer from the integral (\ref{eq:4p4lc})
is too unwieldy ($611$ individual terms) and will not be shown explicitly.

\subsection{Lynx Diagrams} \label{sec:lxsec}
In this section, we shall discuss the contributions from the complete lynx
diagram, Fig.~\ref{fig:lynx0}, quoting several intermediate expressions. We
notice that, in view of the structure of the bare four-gluon vertex
(\ref{eq:fgvtex}), all lynx ``subdiagrams'' will be symmetric with respect
to the following interchange: $a_1\leftrightarrow a_4 ,u_1\leftrightarrow
u_4 ,p_1\leftrightarrow p_4 $. Thus,
\begin{eqnarray}
\label{eq:lynxeqn}
J^{lynx}= \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}\\
& & G_{\mu \nu}(q)V^{u_2 \nu \alpha}_{a_2 b c}(p_2 ,q, -q-p_2 ) \nonumber \\
& & G_{\alpha \beta}(q+p_2)V^{u_3 \beta \rho}_{a_3 d e}(p_3 ,q+p_2 ,-q-p_3 ) \nonumber \\
& & G_{\rho \sigma}(q+p_2 +p_3 )V^{u_1 u_4 \sigma \mu}_{a_1 a_4 f a} 
\bigg{\}}\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) .\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{lynx0.te}	
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{2in}{2in}{c:/al/pics/lynx0.wmf x=2in y=2in}
\caption{ \em Complete Lynx Diagram}
\label{fig:lynx0}
%\vskip .1in
\end{figure}

The propagators $G_{\gamma \delta}$ are again split according to
Eq. (\ref{eq:lcprop}), giving eight lynx ``subdiagrams'', the simplest being
the diagram with {\em no} noncovariant factors (Fig.~\ref{fig:lynx0lc}), namely
\begin{eqnarray}
\label{eq:3p0lc}
J^{lynx}_{0}= \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}\\
& & G^{NLC}_{\mu \nu}(q)V^{u_2 \nu \alpha}_{a_2 b c}(p_2 ,q, -q-p_2 ) \nonumber \\
& & G^{NLC}_{\alpha \beta}(q+p_2)V^{u_3 \beta \rho}_{a_3 d e}(p_3 ,q+p_2 ,-q-p_3 ) \nonumber \\
& & G^{NLC}_{\rho \sigma}(q+p_2 +p_3 )V^{u_1 u_4 \sigma \mu}_{a_1 a_4 f a} 
\bigg{\} }\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) ,\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{lynx0lc.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{2in}{2in}{c:/al/pics/lynx0lc.wmf x=2in y=2in}
\caption{ \em Lynx Diagram: No Noncovariant Propagators}
\label{fig:lynx0lc}
%\vskip .1in
\end{figure}
which leads to the simple expression, 
\begin{eqnarray}
J^{lynx}_{0} = -\frac {\overline{I}}{4}\,\bigg{\{}
f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}(
2\,g_{u_1 u_2}g_{u_3 u_4} 
&+&2\,g_{u_1 u_3}g_{u_2 u_4} \\
&+& 26\,g_{u_1 u_4}g_{u_2 u_3})\nonumber \\
+\frac{N}{2} f^{a_1 a_4 e}f^{a_2 a_3 e}(
8\,g_{u_1 u_2}g_{u_3 u_4} 
&-& 10\,g_{u_1 u_3}g_{u_2 u_4} \nonumber \\
&-& 13\,g_{u_1 u_4}g_{u_2 u_3}) \bigg{\}}.\nonumber 
\end{eqnarray}

Using the same approach as in the reduction of the complete box diagram
(Sec.~\ref{sec:bxsec}), we now proceed to compute the remaining sets of
lynx ``subdiagrams'', containing, respectively a single $G^{LC}$ propagator,
and two and three $G^{LC}$ propagators. For {\em one} $G^{LC}$ propagator,
we get the three lynx ``subdiagrams'' depicted in Fig.~\ref{fig:lynx1lc}. The
corresponding integral $J^{lynx}_1$ is given by
\begin{eqnarray}
\label{eq:3p1lc}
J^{lynx}_{1}=\bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}
G^{LC}_{\mu \nu}(q)V^{u_2 \nu \alpha}_{a_2 b c}(p_2 ,q, -q-p_2 ) \nonumber \\
& & G^{NLC}_{\alpha \beta}(q+p_2)V^{u_3 \beta \rho}_{a_3 d e}(p_3 ,q+p_2 ,-q-p_3 ) \nonumber \\
& & G^{NLC}_{\rho \sigma}(q+p_2 +p_3 )V^{u_1 u_4 \sigma \mu}_{a_1 a_4 f a} \\
&+& (1\rightarrow 4, 2\rightarrow 3)\bigg{\}} 
\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) \nonumber \\
+ \bigg{\{}& & \int \frac{d^{2\omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}
G^{NLC}_{\mu \nu}(q)V^{u_2 \nu \alpha}_{a_2 b c}(p_2 ,q, -q-p_2 ) \nonumber \\
& & G^{LC}_{\alpha \beta}(q+p_2)V^{u_3 \beta \rho}_{a_3 d e}(p_3 ,q+p_2 ,-q-p_3 ) \nonumber \\
& & G^{NLC}_{\rho \sigma}(q+p_2 +p_3 )V^{u_1 u_4 \sigma \mu}_{a_1 a_4 f a}\bigg{\}}
\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ),\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{lynx1lc-a.te}
\vskip .1in
\input{lynx1lc-b.te}
\end{center}
%\input setwmf
%\centerwmf{2.75in}{3.1in}{c:/al/pics/lynx1lc.wmf x=2.75in y=3.1in}
\caption{ \em Lynx Diagrams: One Noncovariant Propagator}
\label{fig:lynx1lc}
%\vskip .1in
\end{figure}
whose pole part is
\begin{eqnarray}
\hspace{-.2in} J^{lynx}_{1} \hspace{-.1in} = \frac {\overline{I}}{4\,(n\tdot n^{\ast})^{2}}\,
\bigg{\{}& &\hspace{-.2in} f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}\big[
3\,(n\tdot n^{\ast})^{2}(g_{u_1 u_2}g_{u_3 u_4}
+\,g_{u_1 u_3}g_{u_2 u_4}) \\
&+&(n\tdot n^{\ast})(3\,n_{u_1}\,n^{\ast}_{u_3}g_{u_2 u_4}
+3\,n_{u_4}\,n^{\ast}_{u_3}g_{u_1 u_2}
-9\,n_{u_1}\,n^{\ast}_{u_4}g_{u_2 u_3}\nonumber \\
&-&9\,n_{u_4}\,n^{\ast}_{u_1}g_{u_2 u_3}
-5\,n_{u_1}\,n^{\ast}_{u_2}g_{u_3 u_4}
- 5\,n_{u_4}\,n^{\ast}_{u_2}g_{u_1 u_3}\nonumber \\
&+&4\,n_{u_3}\,n^{\ast}_{u_1}g_{u_2 u_4}
+4\,n_{u_3}\,n^{\ast}_{u_4}g_{u_1 u_2}
-2\,n_{u_2}\,n^{\ast}_{u_1}g_{u_3 u_4}\nonumber \\
&-&2\,n_{u_2}\,n^{\ast}_{u_4}g_{u_1 u_3}
-12\,n_{u_3}\,n^{\ast}_{u_2}g_{u_1 u_4}
-14\,n_{u_2}\,n^{\ast}_{u_3}g_{u_1 u_4}) \nonumber \\
&+&n_{u_3}\,n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_1}
+n_{u_4}\,n^{\ast}_{u_1}n^{\ast}_{u_2}n_{u_3}
+3\,n_{u_4}\,n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_2}\nonumber \\
&+&3\,n_{u_2}\,n^{\ast}_{u_3}n^{\ast}_{u_4}n_{u_1}
+10\,n_{u_4}\,n^{\ast}_{u_2}n^{\ast}_{u_3}n_{u_1}
-6\,n_{u_3}\,n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_2}\big]
\nonumber \\
+\frac{N}{2} f^{a_1 a_4 e}f^{a_2 a_3 e}\big[ & & \hspace{-.1in}
(n\tdot n^{\ast})^{2}(18\,g_{u_1 u_4}g_{u_2 u_3}
-9\,g_{u_1 u_4}g_{u_2 u_3}
-3\,g_{u_1 u_3}g_{u_2 u_4})\nonumber \\
&+&(n\tdot n^{\ast})(3\,n_{u_4}\,n^{\ast}_{u_1}g_{u_2 u_3}
+6\,n_{u_1}\,n^{\ast}_{u_4}g_{u_2 u_3} 
+6\,n_{u_3}\,n^{\ast}_{u_2}g_{u_1 u_4}\nonumber \\
&-&2\,n_{u_3}\,n^{\ast}_{u_1}g_{u_2 u_4}
-2\,n_{u_3}\,n^{\ast}_{u_4}g_{u_1 u_2}
+7\,n_{u_2}\,n^{\ast}_{u_1}g_{u_3 u_4}\nonumber \\
&+&7\,n_{u_2}\,n^{\ast}_{u_3}g_{u_1 u_4}
+7\,n_{u_4}\,n^{\ast}_{u_2}g_{u_1 u_3}
-5\,n_{u_2}\,n^{\ast}_{u_4}g_{u_1 u_3}\nonumber \\
&-&2\,n_{u_1}\,n^{\ast}_{u_2}g_{u_3 u_4}
-18\,n_{u_1}\,n^{\ast}_{u_3}g_{u_2 u_4}
+15\,n_{u_4}\,n^{\ast}_{u_3}g_{u_1 u_2})\nonumber \\
&+&3\,n_{u_3}\,n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_2}
+3\,n_{u_2}\,n^{\ast}_{u_3}n^{\ast}_{u_4}n_{u_1}
+4\,n_{u_3}\,n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_1}\nonumber \\
&-&5\,n_{u_4}\,n^{\ast}_{u_1}n^{\ast}_{u_2}n_{u_3}
-5\,n_{u_4}\,n^{\ast}_{u_2}n^{\ast}_{u_3}n_{u_1}
-6\,n_{u_4}\,n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_2}
\big]\bigg{\}}. \nonumber
\end{eqnarray}

The next ``subdiagrams'' are those containing {\em two} propagators 
$G^{LC}$ (Fig.~\ref{fig:lynx2lc}), the associated Feynman integral 
being $J^{lynx}_2$, where
\begin{figure}[h]
\begin{center}
\input{lynx2lc-a.te}
\vskip .1in
\input{lynx2lc-b.te}
\end{center}
%\input setwmf
%\centerwmf{2.75in}{3.1in}{c:/al/pics/lynx2lc.wmf x=2.75in y=3.1in}
\caption{ \em Lynx Diagrams: Two Noncovariant Propagators}
\label{fig:lynx2lc}
%\vskip .1in
\end{figure}
\begin{eqnarray}
\label{eq:3p2lc}
J^{lynx}_{2}= \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}
G^{LC}_{\mu \nu}(q)V^{u_2 \nu \alpha}_{a_2 b c}(p_2 ,q, -q-p_2 ) \\
& & G^{LC}_{\alpha \beta}(q+p_2)V^{u_3 \beta \rho}_{a_3 d e}(p_3 ,q+p_2 ,-q-p_3 ) \nonumber \\
& & G^{NLC}_{\rho \sigma}(q+p_2 +p_3 )V^{u_1 u_4 \sigma \mu}_{a_1 a_4 f a} \nonumber \\
&+& (1\rightarrow 4, 2\rightarrow 3)\bigg{\}}\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) \nonumber \\
+\bigg{\{}& & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}
G^{LC}_{\mu \nu}(q)V^{u_2 \nu \alpha}_{a_2 b c}(p_2 ,q, -q-p_2 ) \nonumber \\
& & G^{NLC}_{\alpha \beta}(q+p_2)V^{u_3 \beta \rho}_{a_3 d e}(p_3 ,q+p_2 ,-q-p_3 ) \nonumber \\
& & G^{LC}_{\rho \sigma}(q+p_2 +p_3 )V^{u_1 u_4 \sigma \mu}_{a_1 a_4 f a}
\bigg{\} }\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ).\nonumber 
\end{eqnarray}
The integrated UV divergent contribution to the expression is two pages long and is stated in Appendix A,
Eq.~(\ref{eq:lx2lc}).

There is a final, single lynx ``subdiagram'' with {\em three} noncovariant
propagators (Fig.~\ref{fig:lynx3lc}), which leads to the formula
\begin{eqnarray}
\label{eq:3p3lc}
J^{lynx}_{3}= \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}{\delta}^{ef}
G^{LC}_{\mu \nu}(q)V^{u_2 \nu \alpha}_{a_2 b c}(p_2 ,q, -q-p_2 ) \\
& & G^{LC}_{\alpha \beta}(q+p_2)V^{u_3 \beta \rho}_{a_3 d e}(p_3 ,q+p_2 ,-q-p_3 ) \nonumber \\
& & G^{LC}_{\rho \sigma}(q+p_2 +p_3 )V^{u_1 u_4 \sigma \mu}_{a_1 a_4 f a} 
\bigg{\} }\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ).\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{lynx3lc.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{2in}{2in}{c:/al/pics/lynx3lc.wmf x=2in y=2in}
\caption{ \em Lynx Diagram: Three Noncovariant Propagators}
\label{fig:lynx3lc}
%\vskip .1in
\end{figure}
We refrain from listing the integrated answer.

\subsection{Fish Diagrams} \label{sec:fshsec}
The last, yet easiest, diagram to compute is the complete fish diagram,
shown in Fig.~\ref{fig:fish0}. It consists of only two four-point vertices
and is given by
\begin{eqnarray} 
\label{eq:fisheqn}
J^{fish}= \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}
G_{\mu \nu}(q)V^{u_1 u_4 \beta \mu}_{a_1 a_4 d a}\\
& & G_{\alpha \beta}(q+p_2 +p_3)V^{u_3 u_2 \nu \alpha}_{a_3 a_2 \nu \alpha}\bigg{\}}
\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ).\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{fish0.pictex.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{1.5in}{1.5in}{c:/al/pics/fish0.wmf x=1.5in y=1.5in}
\caption{ \em Complete Fish Diagram}
\label{fig:fish0}
%\vskip .1in
\end{figure}
Separation of the gauge propagator $G^{ab}_{\mu\nu}$ into covariant
and noncovariant propagators (as in Eq.(~\ref{eq:lcprop})) produces four
``subdiagrams''. The Feynman integral for the strictly {\em covariant}
fish diagram (Fig.~\ref{fig:fish0lc}) reads
\begin{eqnarray}
\label{eq:2p0lc}
J^{fish}_{0}= \delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) \bigg{\{ } & & 
\int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}
G^{NLC}_{\mu \nu}(q)V^{u_1 u_4 \beta \mu}_{a_1 a_4 d a}\\
& & 
G^{NLC}_{\alpha \beta}(q+p_2 +p_3 )V^{u_3 u_2 \nu \alpha}_{a_3 a_2 b c}
\bigg{\} } \nonumber \\
=\overline{I}\; \bigg{\{} f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}
 \big[& & 
g_{u_1 u_2}\, g_{u_3 u_4}\ +\ g_{u_1 u_3}\, g_{u_2 u_4} \nonumber\\
&+& 
4\,g_{u_1 u_4}\, g_{u_2 u_3}\big] \nonumber \\ 
+ \frac{N}{2} f^{a_1 a_4 e}f^{a_2 a_3 e} \big[ & & 4\,g_{u_1 u_2}\, g(u_3 ,u_4 ) 
- 5\,g_{u_1 u_3}\, g_{u_2 u_4}\nonumber \\
&-& 
2\,g_{u_1 u_4} g_{u_2 u_3}\big]\bigg{\}}. \nonumber 
\end{eqnarray}
\begin{figure}[h]
%\input setwmf
\begin{center}
\input{fish0lc.pictex.te}
\end{center}
\vskip .1in
%\centerwmf{1.5in}{1.4in}{c:/al/pics/fish0lc.wmf x=1.5in y=1.4in}
\caption{ \em Fish Diagram: No Noncovariant Propagators}
\label{fig:fish0lc}
\vskip .1in
\end{figure}

There are two fish ``subdiagrams'' (Fig.~\ref{fig:fish1lc}) having {\em
one} noncovariant factor each, namely
\begin{eqnarray}
\label{eq:2p1lc}
J^{fish}_{1}=\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}
G^{LC}_{\mu \nu}(q)V^{u_4 u_1 \beta \mu}_{a_1 a_4 c a} \\
& & G^{NLC}_{\alpha \beta}(q+p_2 +p_3 )
V^{u_3 u_2 \nu \alpha}_{a_3 a_2 b c} \nonumber \\
&+& (1 \leftrightarrow 4, 2\leftrightarrow 3)
\bigg{\}} .\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{fish1lc.pictex.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{2in}{1in}{c:/al/pics/fish1lc.wmf x=2in y=1in}
\caption{ \em Fish Diagrams: One Noncovariant Propagator}
\label{fig:fish1lc}
\vskip .1in
\end{figure}
Integration of Eq.~(\ref{eq:2p1lc}) yields the following UV contribution
\begin{eqnarray}
J^{fish}_{1}=
-\frac{\overline{I}}{2(n\tdot n^{\ast})}
\,\bigg{\{} \big[f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}
g_{u_1 u_2}\,n_{u_3 }n^{\ast}_{u_4 }
&+&g_{u_1 u_2}\,n_{u_4 }n^{\ast}_{u_3 }\mbox{} \\
+g_{u_1 u_3}\,n_{u_2 }n^{\ast}_{u_4 } 
&+&g_{u_1 u_3}\,n_{u_4 }n^{\ast}_{u_2 }\mbox{} \nonumber \\
+g_{u_2 u_4}\,n_{u_3 }n^{\ast}_{u_1 } 
&+&g_{u_2 u_4}\,n_{u_1 }n^{\ast}_{u_3 }\mbox{} \nonumber \\
+g_{u_3 u_4}\,n_{u_1 }n^{\ast}_{u_2 }
&+&g_{u_3 u_4}\,n_{u_2 }n^{\ast}_{u_1 }\mbox{} \nonumber \\
%
-4\,g_{u_2 u_3}\,n_{u_1 }n^{\ast}_{u_4 }
&+&\,g_{u_2 u_3}\,n_{u_4 }n^{\ast}_{u_1 }\mbox{} \nonumber \\
+\,g_{u_1 u_4}\,n_{u_3 }n^{\ast}_{u_2 } 
&+&\,g_{u_1 u_4}\,n_{u_2 }n^{\ast}_{u_3 })\mbox{} \nonumber \\
%
+8\,(n \tdot n^{\ast})& & \hspace{-.15in} g_{u_1 u_4}g_{u_2 u_3}\big]
\mbox{} \nonumber \\
%
+\frac{N}{2} f^{a_1 a_4 e}f^{a_2 a_3 e}\big[
2\,(g_{u_2 u_3}\,n_{u_1 }n^{\ast}_{u_4 }
&+&\,g_{u_2 u_3}\,n_{u_4 }n^{\ast}_{u_1 }\mbox{} \nonumber \\
+\,g_{u_1 u_4}\,n_{u_3 }n^{\ast}_{u_2 } 
&+&\,g_{u_1 u_4}\,n_{u_2 }n^{\ast}_{u_3 }) \mbox{} \nonumber \\
%
+4\,(g_{u_1 u_2}\,n_{u_3 }n^{\ast}_{u_4 }
&+&\,g_{u_1 u_2}\,n_{u_4 }n^{\ast}_{u_3 }\mbox{} \nonumber \\
+\,g_{u_3 u_4}\,n_{u_1 }n^{\ast}_{u_2 } 
&+&\,g_{u_3 u_4}\,n_{u_2 }n^{\ast}_{u_1 })\mbox{} \nonumber \\
%
-5\,(g_{u_1 u_3}\,n_{u_2 }n^{\ast}_{u_4 }
&+&\,g_{u_1 u_3}\,n_{u_4 }n^{\ast}_{u_2 }\mbox{} \nonumber \\
+\,g_{u_2 u_4}\,n_{u_3 }n^{\ast}_{u_1 } 
&+&\,g_{u_2 u_4}\,n_{u_1 }n^{\ast}_{u_3 })\mbox{} \nonumber \\ 
%
-4\,(n \tdot n^{\ast})& & \hspace{-.15in} g_{u_1 u_4}g_{u_2 u_3}\big]
\bigg{\}}\mbox{} \nonumber \\
%
-\frac {\overline{I}}{2\,(n\tdot n^{\ast})}
\bigg{\{} f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}(
g_{u_1 u_2}\,n_{u_3 }n^{\ast}_{u_4 }
&+&g_{u_1 u_3}\,n_{u_2 }n^{\ast}_{u_4 }\mbox{} \nonumber \\
+g_{u_1 u_3}\,n_{u_4 }n^{\ast}_{u_2 }
&+&g_{u_1 u_2}\,n_{u_4 }n^{\ast}_{u_3 }\mbox{} \nonumber \\
+g_{u_2 u_4}\,n_{u_3 }n^{\ast}_{u_1 }
&+&g_{u_2 u_4}\,n_{u_1 }n^{\ast}_{u_3 }\mbox{} \nonumber \\
+g_{u_3 u_4}\,n_{u_1 }n^{\ast}_{u_2 }
&+&g_{u_3 u_4}\,n_{u_2 }n^{\ast}_{u_1 }\mbox{} \nonumber \\
%
-4\,(g_{u_2 u_3}\,n_{u_1 }n^{\ast}_{u_4 }
&+&\,g_{u_2 u_3}\,n_{u_4 }n^{\ast}_{u_1 }\mbox{} \nonumber \\
+\,g_{u_1 u_4}\,n_{u_3 }n^{\ast}_{u_2 }
&+&4\,g_{u_1 u_4}\,n_{u_2 }n^{\ast}_{u_3 })\mbox{} \nonumber \\
%
+8\,(n\tdot n^{\ast})& & \hspace{-.15in} g_{u_1 u_4}g_{u_2 u_3})
\mbox{} \nonumber \\
%
+\frac{N}{2} f^{a_1 a_4 e}f^{a_2 a_3 e}\big[
2\,(g_{u_2 u_3}\,n_{u_1 }n^{\ast}_{u_4 }
&+&\,g_{u_2 u_3}\,n_{u_4 }n^{\ast}_{u_1 }\mbox{} \nonumber \\
+\,g_{u_1 u_4}\,n_{u_3 }n^{\ast}_{u_2 }
&+&\,g_{u_1 u_4}\,n_{u_2 }n^{\ast}_{u_3 })\mbox{} \nonumber \\
%
+4\,(g_{u_1 u_2}\,n_{u_3 }n^{\ast}_{u_4 }
&+&\,g_{u_1 u_2}\,n_{u_4 }n^{\ast}_{u_3 }\mbox{} \nonumber \\
+\,g_{u_3 u_4}\,n_{u_1 }n^{\ast}_{u_2 }
&+&\,g_{u_3 u_4}\,n_{u_2 }n^{\ast}_{u_1 })\mbox{} \nonumber \\
%
-5\,(g_{u_1 u_3}\,n_{u_2 }n^{\ast}_{u_4 }
&+&\,g_{u_1 u_3}\,n_{u_4 }n^{\ast}_{u_2 }\mbox{} \nonumber \\
+\,g_{u_2 u_4}\,n_{u_3 }n^{\ast}_{u_1 }
&+&\,g_{u_2 u_4}\,n_{u_1 }n^{\ast}_{u_3 })\mbox{} \nonumber \\
%
-4\,(n\tdot n^{\ast})& & \hspace{-.15in} g_{u_1 u_4}g_{u_2 u_3}) \big]
\bigg{\}}\mbox{}.\nonumber
\end{eqnarray}

There remains a single fish ``subdiagram'' with {\em two} noncovariant
propagators (cf. Fig.~\ref{fig:fish2lc}), giving the contribution
\begin{eqnarray}
\label{eq:2p2lc}
J^{fish}_{2}=\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) \bigg{\{ } & & \int \frac{d^{2 \omega}q}{(2\pi)^{2\omega}}{\delta}^{ab}{\delta}^{cd}
G^{LC}_{\mu \nu}(q)V^{u_1 u_4 \beta \mu}_{a_1 a_4 c a} \\
& & G^{LC}_{\alpha \beta}(q+p_2 +p_3 )V^{u_3 u_2 \nu \alpha}_{a_3 a_2 b c}
\bigg{\} } .\nonumber 
\end{eqnarray}
\begin{figure}[h]
\begin{center}
\input{fish2lc.pictex.te}
\end{center}
%\input setwmf
%\vskip .1in
%\centerwmf{1.5in}{1.4in}{c:/al/pics/fish2lc.wmf x=1.5in y=1.4in}
\caption{ \em Fish Diagram: Two Noncovariant Propagators}
\label{fig:fish2lc}
%\vskip .1in
\end{figure}
The answer is again lengthy and has been banished to Appendix A,
Eq.~(\ref{eq:fsh2lc}).


\section{Discussion}
\label{sec:disc}
Before presenting the complete result for the UV divergent contribution to
the 1PI four-point function in the light-cone gauge, we shall discuss
the constraints on the form of this result.

The presence of nonlocal terms in loop integrals complicates the
renormalization procedure appreciably. One could imagine a host of
nonlocal expressions that evade the Ward identities. In fact, at first
glance, it would seem that there could be an infinite number of such
expressions. Fortunately, there are additional constraints on the
structure of the non-polynomial divergences in the light-cone gauge
which conspire to exclude all but a few of such terms. As a
result, only a finite number of nonlocal counterterms is required to
renormalize the 1PI fuctions. Actually, these nonlocal couterterms
do not contribute to the complete Green functions and hence they do not
affect the observables of the theory \cite{Bas:4pt}. 


We recall that any light-cone gauge expression can be assigned two
degrees of divergence, $\alpha$ and $ {\alpha}_{\perp}$, where $\alpha$
is the degree with respect to the total large-momentum behaviour of a
Feynman integral, while $\alpha_{\perp}$ is the degree with respect to
the transverse large-momentum behaviour. If both $\alpha$ and
$\alpha_{\perp}$ are negative for any diagram and its possible
``subdiagrams'', then the corresponding integral will be convergent. To see
this, consider the gauge propagator in Eq.~(\ref{eq:prop}): since
application of the derivative operator $\partial_{\perp}$ lowers both
$\alpha$ and $\alpha_{\perp}$, {\em repeated} use of $\partial_{\perp}$
on a {\em divergent} integral will eventually yield a {\em convergent}
one. We conclude, therefore, that the pole part of a subtracted 1PI
diagram (i.e. one in which the subdivergences have already been
subtracted) will be polynomial in $p_{\perp i}$, the transverse external
momenta.

It is furthermore known that in space-like axial gauges ($n^2<0$) only
{\em local} divergences are encountered in subtracted 1PI graphs, as
demonstrated in Appendix A of \cite{K1}. The reasoning is based on the
ability to write $q^{\mu}/n \tdot q$ as $\partial / \partial n_{\mu}\;
ln(q\tdot n)$, Wick rotate the resulting integral and apply Weinberg's
theorem \cite{Wein:th}. However, this reasoning does not hold in the
case of the light-cone gauge. A logarithmic representation of the
spurious denominator $(q \tdot n)^{-1}$ implies the principal-value
prescription, which is incompatible with a Wick rotation, and hence with
the $n^{\ast}_{\mu}$-prescription \cite{ns:L3}.

Although the $n^{\ast}_{\mu}$-prescription had originally been used to
handle the poles of $(q\tdot n)^{-1}$ in the light-cone gauge, the
$n^{\ast}_{\mu}$-prescription can be used with any values of $n_0$ and
${\bf n}$, provided that $|{\bf n}|\neq 0$. Thus, the space-like limit
$n_0 \rightarrow 0$, with ${\bf n}$ constant, which yields the space-like
axial gauge, is allowed when the $n^{\ast}_{\mu}$-prescription is used.
We conclude that the {\em nonlocal} divergent parts of a subtracted 1PI
diagram will become {\em local}, and perhaps even vanish for $n_0
\rightarrow 0$.

The constraints above are the basis for the prediction of the nonlocal
part of 1PI the four-point function by Bassetto, Dalbosco and Soldati
\cite{Bas:4pt}. Our explicit calculation yields the same tensor structure
as predicted by the authors of Ref \cite{Bas:4pt}, along with the local,
covariant part of the four-point function: 
\begin{eqnarray}
\label{eq:result}
{\Gamma}^{a_1 a_2 a_3 a_4}_{u_1 u_2 u_3 u_4}(p_1, p_2, p_3, p_4 )= 
& & -g^{2}\overline{I} \frac{2 N}{n\tdot n^{\ast}} f^{a_1 a_4 e}f^{a_2 a_3 e}\delta^{2\omega}(p_1 +p_2 +p_3 +p_4 ) \\
& & \hspace{-.2in} \bigg{\{}\;
\overline{n}^{\ast}_{\{u_1 }n^{}_{u_3 \}}g_{u_2 u_4 }
+\overline{n}^{\ast}_{\{u_2 }n^{}_{u_4 \}}g_{u_1 u_3}\nonumber \\
& & \hspace{-.2in} - \;\overline{n}^{\ast}_{\{u_2 }n^{}_{u_3 \}}g_{u_1 u_4}
-\overline{n}^{\ast}_{\{u_1 }n^{}_{u_4 \}}g_{u_2 u_3}\nonumber \\
& & \hspace{-.2in} +\;n_{u_1}n_{u_2}g_{u_3 u_4}
\frac{n\tdot (p_4 -p_3 )}{n\tdot (p_4 +p_3 )}
\bigg[\frac{n^{\ast}\tdot p_1 }{n\tdot p_1 }-\frac{n^{\ast}\tdot p_2 }{n\tdot p_2 }\bigg]
\nonumber \\
& & \hspace{-.2in} +\;n_{u_3 }n_{u_4 }g_{u_1 u_2}
\frac{n\tdot (p_2 -p_1 )}{n\tdot (p_2 +p_1 )}
\bigg[\frac{n^{\ast}\tdot p_3 }{n\tdot p_3 }-\frac{n^{\ast}\tdot p_4 }{n\tdot p_4 }\bigg]
\nonumber \\
& &  \hspace{-.2in} +\;2\big( n_{u_1 }{p_1}_{u_2 }-n_{u_2}{p_2}_{u_1 }\big)
\frac{n_{u_3}n_{u_4}}{n\tdot (p_3 +p_4 )}
\bigg[\frac{n^{\ast}\tdot p_4 }{n\tdot p_4 }-\frac{n^{\ast}\tdot p_3 }{n\tdot p_3 }\bigg]
\nonumber \\
& &  \hspace{-.2in} +\;2\big( n_{u_3}{p_3}_{u_4}-n_{u_4 }{p_4}_{u_3 }\big)
\frac{n_{u_1 }n_{u_2 }}{n\tdot (p_1 +p_2 )}
\bigg[\frac{n^{\ast}\tdot p_2 }{n\tdot p_2 }-\frac{n^{\ast}\tdot p_1 }{n\tdot p_1 }\bigg]
\nonumber \\
& &  \hspace{-.2in} +\;n_{u_1 }n_{u_2 }n_{u_3 }n_{u_4 }
\bigg[\bigg(
\frac{p_2 ^{2}}{n\tdot p_2 }-\frac{p_1 ^{2}}{n\tdot p_1 }\bigg)
\frac{1}{n\tdot (p_3 +p_4 )}
\bigg(\frac{n^{\ast}\tdot p_4 }{n\tdot p_4 }-\frac{n^{\ast}\tdot p_3 }{n\tdot p_3 }\bigg)
\nonumber \\
& & \hspace{-.2in} +\;\bigg(\frac{p_4 ^{2}}{n\tdot p_4 }-\frac{p_3 ^{2}}{n\tdot p_3 }\bigg)
\frac{1}{n\tdot (p_1 +p_2 )}
\bigg(\frac{n^{\ast}\tdot p_2 }{n\tdot p_2 }-\frac{n^{\ast}\tdot p_1 }{n\tdot p_1 }\bigg)\bigg]
\bigg{\}}\nonumber \\
& & \hspace{-.2in} +\;(2\rightarrow 3,3 \rightarrow 4,4 \rightarrow 2)\nonumber \\
& & \hspace{-.2in} +\;(2\leftrightarrow 3)\nonumber \\
& & \hspace{-.2in} +\;\frac{22 \overline{I}}{3}\bigg{\{}
g_{u_1 u_2}g_{u_3 u_4}\bigg( f^{a_1 a_4 e}f^{a_2 a_3 e}-f^{a_1 a_3 e}f^{a_4 a_2 e}\bigg)
\nonumber \\
& & \hspace{-.2in} +\;g_{u_1 u_3}g_{u_2 u_4}\bigg( f^{a_1 a_2 e}f^{a_3 a_4 e}-f^{a_1 a_4 e}f^{a_2 a_3 e}\bigg)
\nonumber \\
& & \hspace{-.2in} +\;g_{u_1 u_4}g_{u_2 u_3}\bigg( f^{a_1 a_3 e}f^{a_4 a_2 e}-f^{a_1 a_2 e}f^{a_3 a_4 e}\bigg)
\bigg{\}},\nonumber
\end{eqnarray}
where $\overline{n}^{\ast}_{u_i}=n^{\ast}_{u_i}-n_{u_i}n^{\ast}\tdot p_{i}/n\tdot p_{i}$.

As expected, all terms are polynomial in $p_{\perp i}$,
since the only non-polynomial factors are of the form
$(p\tdot n)^{-1}=(p_{\parallel}\tdot n)^{-1}$. Moreover, in the limit $n_0
\rightarrow 0$ all terms become {\em local}, since \begin{equation}
\frac{n^{\ast}\tdot p}{n\tdot p} {\bigg|}_{n_0 \rightarrow 0}=-1.
\end{equation}

Finally, the Ward identity
\begin{eqnarray}
ip^{u_1}_1 {\Gamma}^{a_1 a_2 a_3 a_4}_{u_1 u_2 u_3 u_4}(p_1 ,p_2 ,p_3 ,p_4 )
&=& 
-g f^{a_1 a_2 e}{\Gamma}^{a_3 a_4 e}_{u_2 u_3 u_4}(-p_3 -p_4 ,p_3 ,p_4 ) \\
\! & &\!\!
-g f^{a_1 a_3 e}{\Gamma}^{a_4 a_2 e}_{u_3 u_4 u_2}(-p_4 -p_2 ,p_4 ,p_2 )
\nonumber \\
\! & &\!\! 
-g f^{a_1 a_4 e}{\Gamma}^{a_2 a_3 e}_{u_4 u_2 u_3}(-p_2 -p_3 ,p_2 ,p_3 )
\nonumber 
\end{eqnarray}
has been explicitly verified including the covariant parts and
the relative weights, by using the 1PI three-point function presented in
\cite{Dal:3pt}.

It may be interesting to note that, although the colour factor 
$f^{a_1 ab}f^{a_2 bc}f^{a_3 cd}f^{a_4 da}$ and its permuted variations occur throughout the intermediate stages of calculation (in fact, these are the only colour factors that appear in the box diagrams), none of these terms survive in the final result (\ref{eq:result}).














%     \newpage
     \begin{center}     {\bf {\large Appendix A: Intermediate Results}}     \end{center}

In this appendix we give some of the longer intermediate results of our box,
lynx and fish diagram calculations.

1). $J^{box}_{2}$, the integrated result of (\ref{eq:4p2lc}):
\begin{eqnarray}   \label{eq:bx2lc}
J^{box}_{2}=
%
%This is the part bx2lc1
%
\overline{I} f^{a_1 ab}f^{a_2 bc}f^{a_3 cd}f^{a_4 da} \bigg{\{}
\frac{1}{12}
\big[ 13\,g_{u_2 u_4}g_{u_1 u_3}
+ 4\,(g_{u_3 u_4} g_{u_1 u_2}\;\;\;\;\; & & \mbox{} \\
+g_{u_2 u_3} g_{u_1 u_4})\big]\;\;\;\;\; & & \mbox{} \nonumber \\
-\frac {5\,n_{u_1}}{(n\tdot n^{\ast})n\tdot (p_2 + p_3 +p_4 )}
\big[g_{u_2 u_3}n_{u_4}(n^{\ast}\tdot p_2 )
+g_{u_2 u_3}n_{u_4}(n^{\ast}\tdot p_3 ) \;\;\;\;\; & & \mbox{}\nonumber\\
+g_{u_2 u_3}n_{u_4}(n^{\ast}\tdot p_4 )
+n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_3 )
+n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_4 )\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+\frac{1}{4n\tdot ( p_2 +p_3 +p_4 )(n\tdot n^{\ast})^{2}}
\big[ 3\,(n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_3}(n\tdot p_2 )
+\,n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_1}n_{u_3}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_3}(n\tdot p_3 )
+\,n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_3}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_1}n_{u_3}(n\tdot p_3 )
+\,n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_1}n_{u_3}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
-2\,(n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_3}(n\tdot p_2 
)+\,n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_3}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
+6\,(n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_4}(n\tdot p_2 )
+\,n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_4}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_4}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{} \nonumber \\
+13\,(n_{u_1}n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_3}(n\tdot p_2 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n^{\ast}_{u_3}(n\tdot p_2 ) \;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n^{\ast}_{u_3}(n\tdot p_3 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n^{\ast}_{u_3}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_3}(n\tdot p_3 )
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_3}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
+24\,(n_{u_1}n_{u_4}n^{\ast}_{u_3}n_{u_2}(n^{\ast}\tdot p_2 )
+\,n_{u_1}n_{u_4}n^{\ast}_{u_3}n_{u_2}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n_{u_4}n^{\ast}_{u_3}n_{u_2}(n^{\ast}\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
+12\,(n_{u_1}n_{u_4}n^{\ast}_{u_2}n_{u_3}(n^{\ast}\tdot p_2 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n_{u_3}(n^{\ast}\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n_{u_3}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n_{u_3}(n^{\ast}\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n_{u_3}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n_{u_3}(n^{\ast}\tdot p_4 )\big]\;\;\;\;\; & & \mbox{}\nonumber \\
-\frac {1}{4\,(n\tdot n^{\ast})}
\big[ 2\,(n_{u_1}g_{u_2 u_3}n^{\ast}_{u_4}
+\,n_{u_1}g_{u_3 u_4}n^{\ast}_{u_2})\;\;\;\;\; & & \mbox{}\nonumber \\
+3\,(n_{u_2}n^{\ast}_{u_4}g_{u_1 u_3}
+\,n_{u_4}n^{\ast}_{u_3}g_{u_1 u_2}\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_2}n^{\ast}_{u_3}g_{u_1 u_4}
+\,n_{u_4}n^{\ast}_{u_2}g_{u_1 u_3})\;\;\;\;\; & & \mbox{}\nonumber \\
+7\,(n_{u_2}g_{u_3 u_4}n^{\ast}_{u_1}
+\,g_{u_2 u_3}n_{u_4}n^{\ast}_{u_1})\;\;\;\;\; & & \mbox{}\nonumber \\
+ 30\,n_{u_1}g_{u_2 u_4}n^{\ast}_{u_3}\big] \bigg{\}}\;\;\;\;\; & & \mbox{}\nonumber \\
+(1\rightarrow 2,2\rightarrow 3,3\rightarrow 4, 4\rightarrow 1)\;\;\;\;\; & & \mbox{}\nonumber \\
+(1\rightarrow 3,2\rightarrow 4,3\rightarrow 1, 4\rightarrow 2)\;\;\;\;\; & & \mbox{}\nonumber \\
+(1\rightarrow 4,2\rightarrow 1,3\rightarrow 2, 4\rightarrow 3)\;\;\;\;\; & & \mbox{}\nonumber \\
%
%This is the part bx2lc2
%
+\overline{I} f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}
\bigg{\{}
\frac{1}{12}
\big[ 55\,g_{u_3 u_4}g_{u_1 u_2}
+g_{u_2 u_3}g_{u_1 u_4}\!\!\!\! & & \mbox{} \nonumber \\
+g_{u_2 u_4}g_{u_1 u_3}\big]\;\;\;\;\; & & \mbox{}\nonumber \\
-\frac{1}{(n\tdot n^{\ast})\, n\tdot (p_3 + p_4 )}
\big[ n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_3 )
+n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_3 )
+n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+4\,(n_{u_1}n_{u_3}g_{u_2 u_4}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_3}g_{u_2 u_4}(n^{\ast}\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_3 )
+\,n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_4 ))\big]\;\;\;\;\; & & \mbox{}\nonumber \\
-\frac {1}{4\,(n\tdot n^{\ast})^{2}\, n\tdot(p_3 + p_4 )}
\big[ 19(n\tdot n^{\ast})\,
(n_{u_4}n^{\ast}_{u_3}g_{u_1 u_2}(n\tdot p_3 )
+n_{u_4}n^{\ast}_{u_3}g_{u_1 u_2}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
-(n\tdot n^{\ast})(
n_{u_3}n^{\ast}_{u_1}g_{u_2 u_4}(n\tdot p_4 )
+n_{u_2}n^{\ast}_{u_3}g_{u_1 u_4}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_2}n^{\ast}_{u_3}g_{u_1 u_4}(n\tdot p_4 )
+n_{u_2}n^{\ast}_{u_4}g_{u_1 u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_2}n^{\ast}_{u_4}g_{u_1 u_3}(n\tdot p_4 )
+n_{u_4}n^{\ast}_{u_2}g_{u_1 u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_4}n^{\ast}_{u_2}g_{u_1 u_3}(n\tdot p_4 )
+n_{u_1}g_{u_2 u_4}n^{\ast}_{u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_1}g_{u_2 u_4}n^{\ast}_{u_3}(n\tdot p_4 )
+n_{u_3}n^{\ast}_{u_2}g_{u_1 u_4}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_3}n^{\ast}_{u_2}g_{u_1 u_4}(n\tdot p_4 )
+n_{u_3}n^{\ast}_{u_1}g_{u_2 u_4}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_4}n^{\ast}_{u_1}g_{u_2 u_3}(n\tdot p_3 )
+n_{u_4}n^{\ast}_{u_1}g_{u_2 u_3}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+n_{u_1}g_{u_2 u_3}n^{\ast}_{u_4}(n\tdot p_3 )
+n_{u_1}g_{u_2 u_3}n^{\ast}_{u_4}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
+2\,(n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_3}(n\tdot p_3 )
+\,n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_3}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_3}(n\tdot p_3 )
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_3}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+3\,n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_1}n_{u_3}(n\tdot p_3 )
+3\,n_{u_4}n^{\ast}_{u_2}n^{\ast}_{u_1}n_{u_3}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
-7\,n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_3}(n\tdot p_3 )
-7\,n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_3}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
-7\,n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_4}(n\tdot p_3 )
-7\,n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_4}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
-12\,(n_{u_1}n_{u_4}n^{\ast}_{u_3}n_{u_2}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_4}n^{\ast}_{u_3}n_{u_2}(n^{\ast}\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber\\
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n_{u_3}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_4}n^{\ast}_{u_2}n_{u_3}(n^{\ast}\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n_{u_3}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n_{u_3}(n^{\ast}\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
+6\,(n_{u_1}n_{u_2}n^{\ast}_{u_4}n^{\ast}_{u_3}(n\tdot p_3 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_4}n^{\ast}_{u_3}(n\tdot p_4 ))\;\;\;\;\; & & \mbox{}\nonumber \\
+19\,(n\tdot n^{\ast})(n_{u_2}g_{u_3 u_4}n^{\ast}_{u_1}(n\tdot p_3 )
+\,n_{u_2}g_{u_3 u_4}n^{\ast}_{u_1}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_1}g_{u_3 u_4}n^{\ast}_{u_2}(n\tdot p_3 )
+\,n_{u_1}g_{u_3 u_4}n^{\ast}_{u_2}(n\tdot p_4 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_3}g_{u_1 u_2}n^{\ast}_{u_4}(n\tdot p_4 )
+\,n_{u_3}g_{u_1 u_2}n^{\ast}_{u_4}(n\tdot p_3 ))\;\;\;\;\; & & \mbox{}\nonumber \\
-12\,(n_{u_2}n_{u_4}n^{\ast}_{u_1}n_{u_3}(n^{\ast}\tdot p_3 )
+\,n_{u_2}n_{u_4}n^{\ast}_{u_1}n_{u_3}(n^{\ast}\tdot p_4 ))\big] \bigg{\}}\;\;\;\;\; & & \mbox{}\nonumber\\
+(1\rightarrow 2,2\rightarrow 3,3\rightarrow 4, 4\rightarrow 1).\;\;\;\;\; & & \mbox{}\nonumber
\end{eqnarray}

2). $J^{lynx}_{2}$, the integrated result of (\ref{eq:3p2lc}):
\begin{eqnarray}\label{eq:lx2lc}
J^{lynx}_{2}=
%
%This is the part lynx2lc1
%
\frac {-\overline{I}f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}}{2 n\tdot (p_2 +p_3 )(n\tdot n^{\ast})^{2}(n\tdot p_3 )(n\tdot p_2 )}
\,\bigg{\{} \;\;\;\;\;\;& &  \\
(n\tdot n^{\ast})^{2} \big[ 
(n\tdot p_2 )^{2}g_{u_3 u_4}g_{u_1 u_2}(n\tdot p_3 )
+(n\tdot p_3 )^{2}g_{u_3 u_4}g_{u_1 u_2}(n\tdot p_2 )\;\;\;\;\; & & \mbox{} \nonumber \\
+(n\tdot p_3 )^{2}g_{u_1 u_3}g_{u_2 u_4}(n\tdot p_2 ) 
+(n\tdot p_2 )^{2}g_{u_1 u_3}g_{u_2 u_4}(n\tdot p_3 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+2\big[\,(n\tdot p_3 )^{2}n_{u_4}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_3}n^{\ast}_{u_1}
+\,(n\tdot p_2 )^{2}n_{u_3}n_{u_4}n^{\ast}_{u_1}n_{u_2}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,(n\tdot p_2 )^{2}n_{u_3}n_{u_2}n^{\ast}_{u_4}n_{u_1}(n^{\ast}\tdot p_3 )
+\,(n\tdot p_3 )^{2}n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_3}n^{\ast}_{u_4}
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
-2(n\tdot n^{\ast})\big[\,
(n\tdot p_2 )^{2}n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_3 )
+\,(n\tdot p_2 )^{2}n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,(n\tdot p_3 )^{2}n_{u_4}n_{u_2}g_{u_1 u_3}(n^{\ast}\tdot p_2 )
+\,(n\tdot p_3 )^{2}g_{u_3 u_4}n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}(n\tdot p_2 )^{2}n^{\ast}_{u_3}g_{u_1 u_2}(n\tdot p_3 )
+\,n_{u_1}(n\tdot p_2 )^{2}n^{\ast}_{u_3}g_{u_2 u_4}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n^{\ast}_{u_3}g_{u_1 u_2}(n\tdot p_3 )^{2}(n\tdot p_2 )
+\,n_{u_1}n^{\ast}_{u_2}g_{u_3 u_4}(n\tdot p_3 )^{2}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n^{\ast}_{u_2}g_{u_1 u_3}(n\tdot p_3 )^{2}(n\tdot p_2 )
+\,n_{u_1}n^{\ast}_{u_3}g_{u_2 u_4}(n\tdot p_3 )^{2}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,g_{u_3 u_4}(n\tdot p_2 )^{2}n_{u_1}n^{\ast}_{u_2}(n\tdot p_3 )
+\,g_{u_1 u_3}(n\tdot p_2 )^{2}n_{u_4}n^{\ast}_{u_2}(n\tdot p_3 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+4(n\tdot n^{\ast})(n\tdot p_2 )(n\tdot p_3 )\big[
\,g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_2 )
+\,g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_3 )
-\,n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_2 )
-\,n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_2 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+6(n\tdot p_2 )(n\tdot p_3 )\big[
\,n_{u_3}n_{u_4}n^{\ast}_{u_1}n_{u_2}(n^{\ast}\tdot p_3)
+\,n_{u_3}n_{u_2}n^{\ast}_{u_4}n_{u_1}(n^{\ast}\tdot p_3)\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_3}n^{\ast}_{u_1}
+\,n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_3}n^{\ast}_{u_4}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_4}n_{u_2}g_{u_1 u_3}(n^{\ast}\tdot p_2 )(n\tdot n^{\ast})
-\,n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_3 )(n\tdot n^{\ast})\;\;\;\;\; & & \mbox{}\nonumber \\
-\,g_{u_3 u_4}n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )(n\tdot n^{\ast})
-\,n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_3 )(n\tdot n^{\ast})
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+8(n\tdot p_2 )(n\tdot p_3 ) \big[
\,n_{u_3}(n\tdot p_2 )n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_1}
+\,n_{u_2}n_{u_1}n^{\ast}_{u_4}n^{\ast}_{u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_3}n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_4}(n\tdot p_3 )
+\,n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_2}n_{u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_2}(n\tdot p_3 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_4}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_1}(n\tdot p_2 )
+\,n_{u_4}(n\tdot p_2 )n^{\ast}_{u_1}n^{\ast}_{u_2}n_{u_3}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_4}n^{\ast}_{u_1}g_{u_2 u_3}(n\tdot p_3 )(n\tdot n^{\ast})
-\,n_{u_1}n^{\ast}_{u_4}g_{u_2 u_3}(n\tdot p_3 )(n\tdot n^{\ast})\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_1}(n\tdot p_2 )n^{\ast}_{u_4}g_{u_2 u_3}(n\tdot n^{\ast})
-\,n_{u_4}(n\tdot p_2 )n^{\ast}_{u_1}g_{u_2 u_3}(n\tdot n^{\ast})
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+12(n\tdot p_2 )(n\tdot p_3 )\big[
\,n_{u_3}n_{u_4}n^{\ast}_{u_2}n_{u_1}(n^{\ast}\tdot p_2)
+\,n_{u_2}n_{u_4}n^{\ast}_{u_3}n_{u_1}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_3}(n\tdot p_3 )
+\,n_{u_4}(n\tdot p_2 )n^{\ast}_{u_3}n^{\ast}_{u_2}n_{u_1}
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+12\big[
\,(n\tdot p_2 )^{2}n_{u_3}n_{u_4}n^{\ast}_{u_2}n_{u_1}(n^{\ast}\tdot p_3 )
+\,(n\tdot p_3 )^{2}n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_4}n^{\ast}_{u_3}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,(n\tdot p_3 )^{2}g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_2 )(n\tdot n^{\ast})
-\,(n\tdot p_2 )^{2}g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_3 )(n\tdot n^{\ast})
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
-16(n\tdot n^{\ast})(n\tdot p_2)(n\tdot p_3) \big[
\,g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_2 )
+\,g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_3 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+17(n\tdot n^{\ast})^{2}(n\tdot p_2)(n\tdot p_3)\big[
\,g_{u_1 u_4}(n\tdot p_2 )g_{u_2 u_3}
+\,g_{u_2 u_3}g_{u_1 u_4}(n\tdot p_3 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+24(n\tdot p_2 )(n\tdot p_3)\big[
\,n_{u_3}n_{u_4}n^{\ast}_{u_2}n_{u_1}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_4}n^{\ast}_{u_3}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_3}n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_2}(n\tdot p_3 )
-\,n_{u_3}n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}(n\tdot p_2 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
-30(n\tdot n^{\ast})(n\tdot p_2 )(n\tdot p_3 )\big[
\,n_{u_2}n^{\ast}_{u_3}g_{u_1 u_4}(n\tdot p_3 )
+\,n_{u_3}n^{\ast}_{u_2}g_{u_1 u_4}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,g_{u_1 u_4}(n\tdot p_2 )n_{u_2}n^{\ast}_{u_3}
+\,g_{u_1 u_4}(n\tdot p_2 )n_{u_3}n^{\ast}_{u_2}
\big]
\bigg{\}}\;\;\;\;\; & & \mbox{}\nonumber\\
%
%This is the part lynx2lc2
%
+\frac{N}{2} f^{a_1 a_4 e}f^{a_2 a_3 e}
\frac {\overline{I}}{4n\tdot (p_2 +p_3 )
(n\tdot n^{\ast})^{2}(n\tdot p_2 )(n\tdot p_3 )}\;
\bigg{\{} \;\;\;\;\; & & \mbox \nonumber \\ 
2\,\big[
\,n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_3}n_{u_2}(n\tdot p_3 )^{2}(n\tdot p_2)
+\,n_{u_4}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_1}(n\tdot p_2 )^{2}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_3}(n\tdot p_2 )^{2}n^{\ast}_{u_2}n^{\ast}_{u_4}n_{u_1}(n\tdot p_3 )
+\,n_{u3}n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_4}(n\tdot p_3 )^{2}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\%
-(n\tdot n^{\ast})^{2}\,((n\tdot p_3 )^{2}g_{u_1 u_3}g_{u_2 u_4}(n\tdot p_2 )
+\,(n\tdot p_2 )^{2}g_{u_1 u_3}g_{u_2 u_4}(n\tdot p_3 ))\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
+4\,\big[(n\tdot n^{\ast})(n\tdot p_2 )(n\tdot p_3 )(
\,g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_2 )
+\,g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,g_{u_3 u_4}(n\tdot p_2 )n_{u_1}n^{\ast}_{u_2}
+\,n_{u_4}(n\tdot p_2 )n^{\ast}_{u_3}g_{u_1 u_2}\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n^{\ast}_{u_3}g_{u_1 u_2}(n\tdot p_3 )
+\,n_{u_1}n^{\ast}_{u_2}g_{u_3 u_4}(n\tdot p_3 ))\;\;\;\;\; & & \mbox{}\nonumber \\
%
+(n\tdot n^{\ast})^{2}(n\tdot p_2 )(n\tdot p_3 )(
(n\tdot p_2 )g_{u_3 u_4}g_{u_1 u_2}
+\,(n\tdot p_3 )g_{u_3 u_4}g_{u_1,u_2})\;\;\;\;\; & & \mbox{}\nonumber \\
%
-\,(n\tdot p_2 )^{2}n_{u_3}n_{u_4}n^{\ast}_{u_1}n_{u_2}(n^{\ast}\tdot p_3 )
-\,(n\tdot p_3 )^{2}n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_3}n^{\ast}_{u_4}
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
+8\,\big[
(n\tdot p_2 )^{2}n_{u_3}n_{u_2}n^{\ast}_{u_4}n_{u_1}(n^{\ast}\tdot p_3 )
+\,(n\tdot p_3 )^{2}n_{u_4}n_{u_2}( n^{\ast}\tdot p_2 )n_{u_3}n^{\ast}_{u_1}\;\;\;\;\; & & \mbox{}\nonumber \\
+(n\tdot n^{\ast})(n\tdot p_2)(n\tdot p_3 )
(n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_3 )
+\,n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_4}(n\tdot p_2 )n^{\ast}_{u_2}g_{u_1 u_3}
-\,n_{u_1}(n\tdot p_2 )n^{\ast}_{u_3}g_{u_2 u_4}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_1}(n\tdot p_2 )n^{\ast}_{u_4}g_{u_2 u_3}
-\,n_{u_4}(n\tdot p_2 )n^{\ast}_{u_1}g_{u_2 u_3}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_1}n^{\ast}_{u_4}g_{u_2 u_3}(n\tdot p_3 )
-\,n_{u_4}n^{\ast}_{u_1}g_{u_2 u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_4}n^{\ast}_{u_2}g_{u_1 u_3}(n\tdot p_3 )
-\,n_{u_1}n^{\ast}_{u_3}g_{u_2 u_4}(n\tdot p_3 ))
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
+12\,\big[n_{u_3}n_{u_4}n^{\ast}_{u_2}n_{u_1}(n^{\ast}\tdot p_2 )(n\tdot p_3 )(n\tdot p_2 )
+\,n_{u_4}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_3}n^{\ast}_{u_1}(n\tdot p_3 )(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_3}n_{u_2}n^{\ast}_{u_4}n_{u_1}(n^{\ast}\tdot p_3 )(n\tdot p_3 )(n\tdot p_2 )
+\,n_{u_4}n_{u_1}n^{\ast}_{u_2}n^{\ast}_{u_3}(n\tdot p_3 )^{2}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_2}n_{u_4}n^{\ast}_{u_3}n_{u_1}(n^{\ast}\tdot p_3 )(n\tdot p_3 )(n\tdot p_2 )
+\,n_{u_4}(n\tdot p_2 )^{2}n^{\ast}_{u_3}n^{\ast}_{u_2}n_{u_1}(n\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,(n\tdot p_2 )^{2}n_{u_3}n_{u_4}n^{\ast}_{u_2}n_{u_1}(n^{\ast}\tdot p_3 )
+\,(n\tdot p_3 )^{2}n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_4}n^{\ast}_{u_3}\;\;\;\;\; & & \mbox{}\nonumber \\
-(n\tdot n^{\ast})
(\,n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_3 )(n\tdot p_3 )(n\tdot p_2 )
+\,n_{u_4}n_{u_2}g_{u_1 u_3}( n^{\ast}\tdot p_2 )(n\tdot p_3 )(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,(n\tdot p_3 )^{2}g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_2 )
+\,(n\tdot p_2 )^{2}g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_3 ))
\big] \;\;\;\;\; & & \mbox{}\nonumber \\
%
+14(n\tdot p_2 )(n\tdot p_3) \big[n_{u_2}n_{u_1}n^{\ast}_{u_4}n^{\ast}_{u_3}(n\tdot p_3 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_4}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_2}n_{u_3}(n\tdot p_3 )
+\,n_{u_4}(n\tdot p_2 )n^{\ast}_{u_1}n^{\ast}_{u_2}n_{u_3}
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
+16\,(n\tdot n^{\ast})\big[
(n\tdot p_2 )^{2}n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_3 )
+\,(n\tdot p_3 )^{2}g_{u_3 u_4}n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
%
-(n\tdot p_3 )(n\tdot p_2 )(\,n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_2 )
+\,n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_2 )
+\,g_{u_1 u_4}n_{u_2}n_{u_3}(n^{\ast}\tdot p_3 ))
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
+17\,(n\tdot n^{\ast})^{2}(n\tdot p_2)(n\tdot p_3)\big[
g_{u_1 u_4}(n\tdot p_2 )g_{u_2 u_3}
+\,g_{u_2 u_3}g_{u_1 u_4}(n\tdot p_3 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
+18\,(n\tdot n^{\ast})(n\tdot p_2)(n\tdot p_3)\big[
(n\tdot p_3 )n_{u_2}n^{\ast}_{u_4}g_{u_1 u_3}
+\,(n\tdot p_2 )n_{u_3}n^{\ast}_{u_1}g_{u_2 u_4}\;\;\;\;\; & & \mbox{}\nonumber \\
+\,(n\tdot p_3 )n_{u_3}n^{\ast}_{u_1}g_{u_2 u_4}
+\,(n\tdot p_2 )g_{u_1 u_3}n_{u_2}n^{\ast}_{u_4}\;\;\;\;\; & & \mbox{}\nonumber \\
%
-\,(n\tdot p_3 )n_{u_3}n^{\ast}_{u_4}g_{u_1 u_2}
-\,(n\tdot p_2 )g_{u_3 u_4}n_{u_2}n^{\ast}_{u_1}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,(n\tdot p_2 )n_{u_3}n^{\ast}_{u_4}g_{u_1 u_2}
-\,(n\tdot p_3 )n_{u_2}n^{\ast}_{u_1}g_{u_3 u_4}
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
-20\,(n\tdot n^{\ast})\big[
(n\tdot p_2 )^{2}n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_3 )
+\,(n\tdot p_3 )^{2}n_{u_4}n_{u_2}g_{u_1 u_3}(n^{\ast}\tdot p_2 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
+24\,(n\tdot p_2 )(n\tdot p_3 )\big[n_{u_3}n_{u_4}n^{\ast}_{u_2}n_{u_1}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_2}(n^{\ast}\tdot p_2 )n_{u_4}n^{\ast}_{u_3}\;\;\;\;\; & & \mbox{}\nonumber \\
-\,n_{u_3}n^{\ast}_{u_1}n^{\ast}_{u_4}n_{u_2}(n\tdot p_3 )
-\,n_{u_3}n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}(n\tdot p_2 )
\big]\;\;\;\;\; & & \mbox{}\nonumber \\
%
-30\,(n\tdot n^{\ast})g_{u_1 u_4}
\big[n_{u_3}n^{\ast}_{u_2}(n\tdot p_3 )^{2}(n\tdot p_2 )
+\,n_{u_2}n^{\ast}_{u_3}(n\tdot p_3 )^{2}(n\tdot p_2 )\;\;\;\;\; & & \mbox{}\nonumber \\
+\,n_{u_2}n^{\ast}_{u_3}(n\tdot p_2 )^{2}(n\tdot p_3 )
+\,n_{u_3}n^{\ast}_{u_2}(n\tdot p_2 )^{2}(n\tdot p_3 )\big]
%
\bigg{\}}\;\;\;\;\; & & \mbox{}\nonumber 
\end{eqnarray}

3.) $J^{fish}_{2}$, the integrated result of (\ref{eq:2p2lc}):
\begin{eqnarray} \label{eq:fsh2lc}
J^{fish}_{2}=
\frac {\overline{I}}{(n\tdot n^{\ast})^{2}n\tdot (p_2 +p_3)}
f^{a_1 ab}f^{a_2 bc} f^{a_3 cd}f^{a_4 da}
\bigg{\{}4\,(n\tdot n^{\ast})^{2} \,\big[g_{u_2 u_3}g_{u_1 u_4}(n\tdot p_2)\;\;\;\;\; & & \mbox{}  \\
+\,g_{u_2 u_3}g_{u_1 u_4}(n\tdot p_3)\big] \;\;\;\;\; & & \mbox{} \nonumber \\
+n_{u_2}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_3}(n\tdot p_2)
+n_{u_2}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_3}(n\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
+n_{u_3}n_{u_1}n^{\ast}_{u_4}n^{\ast}_{u_2}(n\tdot p_3)
+n_{u_1}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_4}(n\tdot p_2)\;\;\;\;\; & & \mbox{} \nonumber \\
+n_{u_1}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_4}(n\tdot p_3)
+n_{u_3}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_2}(n\tdot p_2)\;\;\;\;\; & & \mbox{} \nonumber \\
+n_{u_3}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_2}(n\tdot p_3)
+n_{u_3}n_{u_1}n^{\ast}_{u_4}n^{\ast}_{u_2}(n\tdot p_2)\;\;\;\;\; & & \mbox{} \nonumber \\
+2\,\big[ n_{u_1}n_{u_4}n^{\ast}_{u_3}n^{\ast}_{u_2}(n\tdot p_2)
+\,n_{u_1}n_{u_4}n^{\ast}_{u_3}n^{\ast}_{u_2}(n\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_3}n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}(n\tdot p_2)
+\,n_{u_3}n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}(n\tdot p_3)\big]\;\;\;\;\; & & \mbox{} \nonumber \\
%
+4\,\big[ n_{u_3}n_{u_4}n_{u_2}n^{\ast}_{u_1}(n^{\ast}\tdot p_2)
+\,n_{u_3}n_{u_4}n_{u_2}n^{\ast}_{u_1}(n^{\ast}\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_3}n_{u_2}n_{u_1}n^{\ast}_{u_4}(n^{\ast}\tdot p_2)
+\,n_{u_3}n_{u_2}n_{u_1}n^{\ast}_{u_4}(n^{\ast}\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_3}n_{u_4}n_{u_1}n^{\ast}_{u_2}(n^{\ast}\tdot p_2)
+\,n_{u_3}n_{u_4}n_{u_1}n^{\ast}_{u_2}(n^{\ast}\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_2}n_{u_4}n_{u_1}n^{\ast}_{u_3}(n^{\ast}\tdot p_2)
+\,n_{u_2}n_{u_4}n_{u_1}n^{\ast}_{u_3}(n^{\ast}\tdot p_3)\big]\;\;\;\;\; & & \mbox{} \nonumber \\
+(n\tdot n^{\ast})
\big[2(g_{u_1 u_4}n_{u_3}n_{u_2}(n^{\ast}\tdot p_2)
+g_{u_1 u_4}n_{u_3}n_{u_2}(n^{\ast}\tdot p_3))
\;\;\;\;\; & & \mbox{} \nonumber \\
-n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_2)
-n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_2)\;\;\;\;\; & & \mbox{} \nonumber \\
-n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_3)
-n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
-n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_3)
-n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
-n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_2)
-n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_2)\;\;\;\;\; & & \mbox{} \nonumber \\
+2\,(g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_2)
+\,g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
-\,g_{u_1 u_4}n_{u_2}n^{\ast}_{u_3}(n\tdot p_2)
-\,g_{u_2 u_3}n_{u_4}n^{\ast}_{u_1}(n\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
-\,g_{u_2 u_3}n_{u_4}n^{\ast}_{u_1}(n\tdot p_2)
-\,g_{u_2 u_3}n_{u_1}n^{\ast}_{u_4}(n\tdot p_3)\;\;\;\;\; & & \mbox{} \nonumber \\
-\,g_{u_1 u_4}n_{u_2}n^{\ast}_{u_3}(n\tdot p_3)
-\,g_{u_1 u_4}n_{u_3}n^{\ast}_{u_2}(n\tdot p_2)\;\;\;\;\; & & \mbox{} \nonumber \\
-\,g_{u_1 u_4}n_{u_3}n^{\ast}_{u_2}(n\tdot p_3)
-\,g_{u_2 u_3}n_{u_1}n^{\ast}_{u_4}(n\tdot p_2))
\big]
\bigg{\}}\;\;\;\;\; & & \mbox{} \nonumber \\
+\frac {\overline{I}}{(n\tdot n^{\ast})^{2}n\tdot (p_2 +p_3 )}
\frac{N}{2} f^{a_1 a_4 e}f^{a_2 a_3 e}
\bigg{\{}
-2(n\tdot n^{\ast})^2 \big[\,g_{u_2 u_3}g_{u_1 u_4}(n\tdot p_2)
+\,g_{u_2 u_3}g_{u_1 u_4}(n\tdot p_3)\big]\nonumber\\
+4\,\big[n_{u_2}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_3}(n\tdot p_2)
+\,n_{u_2}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_3}n_{u_1}n^{\ast}_{u_4}n^{\ast}_{u_2}(n\tdot p_3 )
+\,n_{u_3}n_{u_1}n^{\ast}_{u_4}n^{\ast}_{u_2}(n\tdot p_2 )\big]\;\;\;\;\; & & \mbox{} \nonumber \\
-5\,\big[n_{u_1}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_4}(n\tdot p_3 )
+\,n_{u_3}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_2}(n\tdot p_2 )\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_3}n_{u_4}n^{\ast}_{u_1}n^{\ast}_{u_2}(n\tdot p_3 )
+\,n_{u_1}n_{u_2}n^{\ast}_{u_3}n^{\ast}_{u_4}(n\tdot p_2 )\big]\;\;\;\;\; & & \mbox{} \nonumber \\
-n_{u_1}n_{u_4}n^{\ast}_{u_3}n^{\ast}_{u_2}(n\tdot p_2 )
-n_{u_1}n_{u_4}n^{\ast}_{u_3}n^{\ast}_{u_2}(n\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
-n_{u_3}n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}(n\tdot p_2)
-n_{u_3}n_{u_2}n^{\ast}_{u_1}n^{\ast}_{u_4}(n\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
-2\,\big[n_{u_3}n_{u_4}n_{u_2}n^{\ast}_{u_1}(n^{\ast}\tdot p_2 )
+\,n_{u_3}n_{u_4}n_{u_2}n^{\ast}_{u_1}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_3}n_{u_2}n_{u_1}n^{\ast}_{u_4}(n^{\ast}\tdot p_2 )
+\,n_{u_3}n_{u_2}n_{u_1}n^{\ast}_{u_4}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_3}n_{u_4}n_{u_1}n^{\ast}_{u_2}(n^{\ast}\tdot p_2)
+\,n_{u_3}n_{u_4}n_{u_1}n^{\ast}_{u_2}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_2}n_{u_4}n_{u_1}n^{\ast}_{u_3}(n^{\ast}\tdot p_2)
+\,n_{u_2}n_{u_4}n_{u_1}n^{\ast}_{u_3}(n^{\ast}\tdot p_3 )\big]\;\;\;\;\; & & \mbox{} \nonumber \\
+(n\tdot n^{\ast})\,\big[g_{u_1 u_4}n_{u_2}n^{\ast}_{u_3}(n\tdot p_2 )
+g_{u_2 u_3}n_{u_4}n^{\ast}_{u_1}(n\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+g_{u_2 u_3}n_{u_1}n^{\ast}_{u_4}(n\tdot p_3 )
+g_{u_1 u_4}n_{u_2}n^{\ast}_{u_3}(n\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+g_{u_1 u_4}n_{u_3}n^{\ast}_{u_2}(n\tdot p_2 )
+g_{u_1 u_4}n_{u_3}n^{\ast}_{u_2}(n\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+g_{u_2 u_3}n_{u_1}n^{\ast}_{u_4}(n\tdot p_2 )
+g_{u_2 u_3}n_{u_4}n^{\ast}_{u_1}(n\tdot p_2 )\;\;\;\;\; & & \mbox{} \nonumber \\
-g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_2 )
-g_{u_2 u_3}n_{u_4}n_{u_1}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
-g_{u_1 u_4}n_{u_3}n_{u_2}(n^{\ast}\tdot p_3 )
-g_{u_1 u_4}n_{u_3}n_{u_2}(n^{\ast}\tdot p_2 )\;\;\;\;\; & & \mbox{} \nonumber \\
+5\,(n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_3 )
+\,n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_2 )\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_1}n_{u_2}g_{u_3 u_4}(n^{\ast}\tdot p_3 )
+\,n_{u_3}n_{u_4}g_{u_1 u_2}(n^{\ast}\tdot p_2 ))\;\;\;\;\; & & \mbox{} \nonumber \\
-4\,(n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_3 )
+\,n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_3 )\;\;\;\;\; & & \mbox{} \nonumber \\
+\,n_{u_2}n_{u_4}g_{u_1 u_3}(n^{\ast}\tdot p_2 )
+\,n_{u_3}n_{u_1}g_{u_2 u_4}(n^{\ast}\tdot p_2 ))\big]
\bigg{\}}.\;\;\;\;\; & & \mbox{} \nonumber 
\end{eqnarray}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PiCTeX Erweiterungen von Andreas Schrell  %
%                          Windhoevel 2     %
%                          5600 Wuppertal 2 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Version 1.0                    29.10.1989 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Befehle fr die Benutzer:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \setsignal            zur Benutzung wie \setlinear        %
%                       \plot erzeugt danach Signalverlaeufe%
%                       fuer Impulsdiagramme. Es werden TeX-%
%                       Linien benutzt, daher schneller als %
%                       \plot mit \setlinear                %
% Bsp:                                                      %
% \setsignal \plot 0 1  1 0  2 1  4 0  7 1  8 0 /           %
% erzeugt                                                   %
% 0 1 2 3 4 5 6 7 8                                         %
% __   ___       _                                          %
%   ! !   !     ! !                                         %
%   !_!   !_____! !                                         %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \setmsignal           zur Benutzung wie \setlinear        %
%                       \plot erzeugt danach Signalverlaeufe%
%                       fuer Impulsdiagramme. Es werden TeX-%
%                       Linien benutzt, daher schneller als %
%                       \plot mit \setlinear                %
% Bsp:                                                      %
% \setmsignal \plot 0 1 1  2 2  4 3  6 0  7 1 1      %
% erzeugt                                                   %
% 0 1 2 3 4 5 6 7 8                                         %
%      ---                                                  %
%     !   !                                                 %
%    -    !                                                 %
% --!     !    -                                            %
%         !___!                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\catcode`!=11

\def\setsignal{%
 \let\!drawcurve=\!scurve}
 
\def\!scurve #1 #2 {%
 \edef\!hxS{#1}%
 \edef\!hyS{#2}%
 \!sjoin}
 
\def\!sjoin#1 #2 {%
 \putrule from {\!hxS} {\!hyS} to {#1} {\!hyS}
 \putrule from {#1} {\!hyS} to {#1} {#2}
 \edef\!hxS{#1}%
 \edef\!hyS{#2}%
 \!ifnextchar/{\!finish}{\!sjoin}}


\def\setmsignal{%
 \let\!drawcurve=\!smcurve}
 
\def\!smcurve #1 #2 #3 {%
 \edef\!hxS{#2}%
 \edef\!hyS{#3}%
 \putrule from {#1} {\!hyS} to {\!hxS} {\!hyS}
 \!smjoin}
 
\def\!smjoin#1 #2 {%
 \putrule from {\!hxS} {\!hyS} to {\!hxS} {#2}
 \putrule from {\!hxS} {#2} to {#1} {#2}
 \edef\!hxS{#1}%
 \edef\!hyS{#2}%
 \!ifnextchar/{\!finish}{\!smjoin}}

\catcode`!=12

% This is PiCTeX, Version 1.1   9/21/87
 
% CAVEAT: The PiCTeX manual often has a more lucid explanation
%   of any given topic than you will find in the internal documentation
%   of the macros.
 
% PiCTeX's commands can be classified into two groups: (1) public (or
%   external), and (2) private (or internal). The public macros are
%   discussed at length in the manual. The only discussion of the private
%   macros is the internal documentation. The private macros all have
%   names beginning with an exclamation point (!) of category code 11. 
%   Since in normal usage "!" has category code 12, these macros can't
%   be accessed or modified by the general user.
 
% The macros are organized into thematically related groups. For example,
%   the macros dealing with dots & dashes are all in the DASHPATTERN group.
%   The table below shows which macros are in which groups. The table
%   covers all public macros, and many (but not all) of PiCTeX's upper level
%   private macros. Following the table, the various groups are listed
%   in the order in which they appear in the table.
 
% *********************** TABLE OF GROUPS OF MACROS **********************
 
% HACKS:  Utility macros
%    \PiC
%    \PiCTeX
%    \placevalueinpts 
%    \!!loop 
%    \!cfor
%    \!copylist
%    \!ecfor
%    \!etfor
%    \!getnext
%    \!getnextvalueof
%    \!ifempty
%    \!ifnextchar
%    \!leftappend
%    \!listaddon 
%    \!loop
%    \!lop
%    \!mlap
%    \!not
%    \!removept
%    \!rightappend
%    \!tfor 
%    \!vmlap
%    \!wlet
 
% ALLOCATION:  Allocates registers
 
% AREAS: Deals with plot areas 
%    \axis
%    \grid 
%    \invisibleaxes
%    \normalgraphs 
%    \plotheading 
%    \setplotarea
%    \visibleaxes
 
% ARROWS:  Draws arrows
%    \arrow
%    \betweenarrows
 
% BARS:  Draws bars
%    \putbar 
%    \setbars
 
% BOXES:  Draws rectangles
%    \frame
%    \putrectangle 
%    \rectangle
%    \shaderectangleson
%    \shaderectanglesoff
 
% CURVES:  Upper level plot commands
%    \hshade 
%    \plot 
%    \sethistograms
%    \setlinear
%    \setquadratic
%    \vshade
 
% DASHPATTERNS:  Sets up dash patterns
%    \findlength 
%    \setdashes 
%    \setdashesnear
%    \setdashpattern
%    \setdots 
%    \setdotsnear 
%    \setsolid
%    \!dashingoff
%    \!dashingon
 
% DIVISION:  Does long division of dimension registers
%    \Divide 
%    \!divide
 
% ELLIPSES:  Draws ellipses and circles
%    \circulararc 
%    \ellipticalarc 
 
% RULES:  Draws rules, i.e., horizontal & vertical lines
%    \putrule 
%    \!putdashedhline
%    \!putdashedvline
%    \!puthline 
%    \!putsolidhline  
%    \!putsolidvline  
%    \!putvline
 
% LINEAR ARC:  Draws straight lines -- solid and dashed
%    \inboundscheckoff
%    \inboundscheckon
%    \!advancedashing 
%    \!drawlinearsegment
%    \!initinboundscheck
%    \!linearsolid
%    \!lineardashed
%    \!ljoin
%    \!plotifinbounds     
%    \!start 
 
% LOGTEN:  Log_10 function
%    \!logten
 
% PICTURES:  Basic setups for PiCtures; \put commands
%    \accountingoff
%    \accountingon
%    \beginpicture
%    \endpicture    
%    \endpicturesave 
%    \lines
%    \multiput
%    \put 
%    \setcoordinatemode
%    \setcoordinatesystem
%    \setdimensionmode
%    \stack 
%    \Lines
%    \Xdistance
%    \Ydistance
%    \!dimenput
%    \!ifcoordmode
%    \!ifdimenmode
%    \!setcoordmode
%    \!setdimenmode
%    \!setputobject
   
% PLOTTING:  Things to do with plotting
%    \dontsavelinesandcurves
%    \replot
%    \savelinesandcurves 
%    \setplotsymbol
%    \writesavefile 
%    \!plot
 
% PYTHAGORAS:  Euclidean distance function
%    \placehypotenuse 
%    \!Pythag
 
% QUADRATIC ARC:  Draws a quadratic arc
%    \!qjoin 
 
% ROTATIONS:  Handles rotations
%    \startrotation 
%    \stoprotation
%    \!rotateaboutpivot
%    \!rotateonly
 
% SHADING:  Handles shading
%    \setshadegrid 
%    \setshadesymbol
%    \!lshade
%    \!qshade
%    \!starthshade
%    \!startvshade  
 
% TICKS:  Draws ticks on graphs
%    \gridlines
%    \loggedticks
%    \nogridlines
%    \ticksin
%    \ticksout
%    \unloggesticks
 
% ***************** END OF TABLE OF GROUPS OF MACROS ********************


\catcode`!=11 %  ***** THIS MUST NEVER BE OMITTED
% *******************************
% *** HACKS  (Utility macros) ***
% *******************************
 
% ** User commands
% **   \PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
% **   \PiCTeX{\PiC\kern-.11em\TeX}
% **   \placevalueinpts of <DIMENSION REGISTER> in {CONTROL SEQUENCE}
  
% ** Internal commands
% **   \!ifnextchar{CHARACTER}{TRUE ACTION}{FALSE ACTION}
% **   \!tfor NAME := LIST \do {BODY}
% **   \!etfor NAME:= LIST \do {BODY}
% **   \!cfor NAME := LIST \do {BODY}
% **   \!ecfor NAME:= LIST \do {BODY}
% **   \!ifempty{MACRO}{TRUE ACTION}{FALSE ACTION}
% **   \!getnext\\ITEMfrom\LIST
% **   \!getnextvalueof\DIMEN\from\LIST
% **   \!copylist\LISTMACRO_A\to\LISTMACRO_B
% **   \!wlet\CONTROL_SEQUENCE_A=\CONTROL_SEQUENCE_B
% **   \!listaddon ITEM LIST
% **   \!rightappendITEM\withCS\to\LISTMACRO
% **   \!leftappendITEM\withCS\to\LISTMACRO
% **   \!lop\LISTMACRO\to\ITEM
% **   \!loop ... repeat
% **   \!!loop ... repeat
% **   \!removept{DIMENSION REGISTER}{CONTROL SEQUENCE}
% **   \!mlap{...}  
% **   \!vmlap{...}
% **   \!not{TEK if-CONDITION}

% ** First, here are the the PiCTeX logo, and the syllable PiC:
\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
\def\PiCTeX{\PiC\kern-.11em\TeX}

% ** The following macro expands to parameter #2 or parameter #3 according to
% ** whether the next non-blank character following the macro is or is not #1. 
% ** Blanks following the macro are gobbled.
\def\!ifnextchar#1#2#3{%
  \let\!testchar=#1%
  \def\!first{#2}%
  \def\!second{#3}%
  \futurelet\!nextchar\!testnext}
\def\!testnext{%
  \ifx \!nextchar \!spacetoken 
    \let\!next=\!skipspacetestagain
  \else
    \ifx \!nextchar \!testchar
      \let\!next=\!first
    \else 
      \let\!next=\!second 
    \fi 
  \fi
  \!next}
\def\\{\!skipspacetestagain} 
  \expandafter\def\\ {\futurelet\!nextchar\!testnext} 
\def\\{\let\!spacetoken= } \\  %  ** set \spacetoken to a space token
 
 
% ** Borrow the "tfor" macro from Latex:
% **   \!tfor NAME := LIST \do {BODY}
% **   if, before expansion, LIST = T1 ... Tn,  where each  Ti  is a token
% **   or  {...},  then executes  BODY  n  times, with  NAME = Ti  on the
% **   i-th iteration.  Works for  n=0.
\def\!tfor#1:=#2\do#3{%
  \edef\!fortemp{#2}%
  \ifx\!fortemp\!empty 
    \else
    \!tforloop#2\!nil\!nil\!!#1{#3}%
  \fi}
\def\!tforloop#1#2\!!#3#4{%
  \def#3{#1}%
  \ifx #3\!nnil
    \let\!nextwhile=\!fornoop
  \else
    #4\relax
    \let\!nextwhile=\!tforloop
  \fi 
  \!nextwhile#2\!!#3{#4}}
 
 
% **   \!etfor NAME:= LIST\do {BODY}
% **   This is like \!cfor, but LIST is any balanced token list whose complete
% **     expansion has the form  T1 ... Tn
\def\!etfor#1:=#2\do#3{%
  \def\!!tfor{\!tfor#1:=}%
  \edef\!!!tfor{#2}%
  \expandafter\!!tfor\!!!tfor\do{#3}}
 
 
% **   modify the Latex \tfor (token-for) loop to a \cfor (comma-for) loop.
% **   \!cfor NAME := LIST \do {BODY}
% **     if, before expansion, LIST = a1,a2,...an, then executes  BODY n times,
% **     with  NAME = ai  on the i-th iteration.  Works for  n=0.
\def\!cfor#1:=#2\do#3{%
  \edef\!fortemp{#2}%
  \ifx\!fortemp\!empty 
  \else
    \!cforloop#2,\!nil,\!nil\!!#1{#3}%
  \fi}
\def\!cforloop#1,#2\!!#3#4{%
  \def#3{#1}%
  \ifx #3\!nnil
    \let\!nextwhile=\!fornoop 
  \else
    #4\relax
    \let\!nextwhile=\!cforloop
  \fi
  \!nextwhile#2\!!#3{#4}}
 
 
% **   \!ecfor NAME:= LIST\do {BODY}
% **   This is like \!cfor, but LIST is any balanced token list whose complete
% **     expansion has the form  a1,a2,...,an.
\def\!ecfor#1:=#2\do#3{%
  \def\!!cfor{\!cfor#1:=}%
  \edef\!!!cfor{#2}%
  \expandafter\!!cfor\!!!cfor\do{#3}}
 
 
\def\!empty{}
\def\!nnil{\!nil}
\def\!fornoop#1\!!#2#3{}
 
 
% **  \!ifempty{ARG}{TRUE ACTION}{FALSE ACTION}
\def\!ifempty#1#2#3{%
  \edef\!emptyarg{#1}%
  \ifx\!emptyarg\!empty
    #2%
  \else
    #3%
  \fi}
 
% **  \!getnext\\ITEMfrom\LIST
% **    \LIST has the form \\{item1}\\{item2}\\{item3}...\\{itemk}
% **    This routine sets \ITEM to item1, and cycles \LIST to
% **    \\{item2}\\{item3}...\\{itemk}\\{item1}
\def\!getnext#1\from#2{%
  \expandafter\!gnext#2\!#1#2}%
\def\!gnext\\#1#2\!#3#4{%
  \def#3{#1}%
  \def#4{#2\\{#1}}%
  \ignorespaces}
 
 
% ** \!getnextvalueof\DIMEN\from\LIST
% **   Similar to !getnext.  
% **   \LIST has the form \\{dimen1}\\{dimen2}\\{dimen3} ... 
% **   \DIMEN is a dimension register
% **   Works also for counts
%
\def\!getnextvalueof#1\from#2{%
  \expandafter\!gnextv#2\!#1#2}%
\def\!gnextv\\#1#2\!#3#4{%
  #3=#1%
  \def#4{#2\\{#1}}%
  \ignorespaces}
 
 
% ** \!copylist\LISTMACROA\to\LISTMACROB
% **   makes the replacement text of LISTMACRO B identical to that of
% **   list macro A.
\def\!copylist#1\to#2{%
  \expandafter\!!copylist#1\!#2}
\def\!!copylist#1\!#2{%
  \def#2{#1}\ignorespaces}
 
 
% **  \!wlet\CSA=\CSB
% **  lets control sequence \CSB = control sequence \CSA, and writes a
% **    message to that effect in the log file using plain TEK's \wlog
\def\!wlet#1=#2{%
  \let#1=#2 
  \wlog{\string#1=\string#2}}
 
% ** \!listaddon ITEM LIST
% ** LIST <-- LIST \\ ITEM
\def\!listaddon#1#2{%
  \expandafter\!!listaddon#2\!{#1}#2}
\def\!!listaddon#1\!#2#3{%
  \def#3{#1\\#2}}
 
% **  \!rightappendITEM\to\LISTMACRO
% **    \LISTMACRO --> \LISTMACRO\\{ITEM}
%\def\!rightappend#1\to#2{\expandafter\!!rightappend#2\!{#1}#2}
%\def\!!rightappend#1\!#2#3{\def#3{#1\\{#2}}}
 
 
% **  \!rightappendITEM\withCS\to\LISTMACRO
% **    \LISTMACRO --> \LISTMACRO||CS||{ITEM}
\def\!rightappend#1\withCS#2\to#3{\expandafter\!!rightappend#3\!#2{#1}#3}
\def\!!rightappend#1\!#2#3#4{\def#4{#1#2{#3}}}
 
 
% **  \!leftappendITEM\withCS\to\LISTMACRO
% **    \LISTMACRO --> CS||{ITEM}||\LISTMACRO
\def\!leftappend#1\withCS#2\to#3{\expandafter\!!leftappend#3\!#2{#1}#3}
\def\!!leftappend#1\!#2#3#4{\def#4{#2{#3}#1}}
 
 
% **  \!lop\LISTMACRO\to\ITEM
% **    \\{item1}\\{item2}\\{item3} ... --> \\{item2}\\{item3} ...
% **    item1 --> \ITEM
\def\!lop#1\to#2{\expandafter\!!lop#1\!#1#2}
\def\!!lop\\#1#2\!#3#4{\def#4{#1}\def#3{#2}}
 
 
% **  \!placeNUMBER\of\LISTMACRO\in\ITEM
% **    the NUMBERth item of \LISTMACRO --> replacement text of \ITEM
%\def\!place#1\of#2\in#3{\def#3{\outofrange}%
%{\count0=#1\def\\##1{\advance\count0-1 \ifnum\count0=0 \gdef#3{##1}\fi}#2}}
 
 
% **  Following code converts a commalist to a list macro, with all items 
% **    fully expanded.
%\!ecfor\item:=\commalist\do{\expandafter\!rightappend\item\to\list}
 
 
% ** \!loop ... repeat
% ** This is exactly like TEX's \loop ... repeat.  It can be used in nesting
% ** two loops, without puting the inner one inside a group.
\def\!loop#1\repeat{\def\!body{#1}\!iterate}
\def\!iterate{\!body\let\!next=\!iterate\else\let\!next=\relax\fi\!next}
 
% ** \!!loop ... repeat
% ** This is exactly like TEX's \loop ... repeat.  It can be used in nesting
% ** two loops, without puting the inner one inside a group.
\def\!!loop#1\repeat{\def\!!body{#1}\!!iterate}
\def\!!iterate{\!!body\let\!!next=\!!iterate\else\let\!!next=\relax\fi\!!next}
%  (\multiput uses \!!loop)
 
% ** \!removept{DIMENREG}{\CS}
% ** Defines the control sequence CS to be the value (in points) in the
% ** dimension register DIMENREG (but without the "pt" TEK usually adds)
% ** E.g., after  \dimen0=12.3pt \!removept\dimen0\A, \A expands to 12.3
\def\!removept#1#2{\edef#2{\expandafter\!!removePT\the#1}}
{\catcode`p=12 \catcode`t=12 \gdef\!!removePT#1pt{#1}}

% ** \pladevalueinpts of <DIMENSION REGISTER> in {CONTROL SEQUENCE}
\def\placevalueinpts of <#1> in #2 {%
  \!removept{#1}{#2}}
 
% ** \!mlap{...}  \!vmlap{...}
% ** Center  ...  in a box of width 0.
\def\!mlap#1{\hbox to 0pt{\hss#1\hss}}
\def\!vmlap#1{\vbox to 0pt{\vss#1\vss}}
 
% ** \!not{TEK if-CONDITION}
% ** By a TEK if-CONDITION is meant something like 
% **     \ifnum\N<0,   or   \ifdim\A>\B
% ** \!not produces an if-condition which is false if the original condition
% ** is true, and true if the original condition is false.
\def\!not#1{%
  #1\relax
    \!switchfalse
  \else
    \!switchtrue
  \fi
  \if!switch
  \ignorespaces}
 

% *******************
% *** ALLOCATIONS ***
% *******************

% This section allocates all the registers PiCTeX uses. Following
% each allocation is a string of the form  ....N.D...L......... ;
% the various letters show which sections of PiCTeX make explicit
% reference to that register, according to the following code:
 
%   H Hacks
%   A Areas
%   W arroWs
%   B Bars
%   X boXes
%   C Curves
%   D Dashpattterns
%   V diVision
%   E Ellipses
%   U rUles
%   L Linear arc
%   G loGten
%   P Pictures
%   O plOtting
%   Y pYthagoras
%   Q Quadratic arc
%   R Rotations
%   S Shading
%   T Ticks

% Turn off messages from TeX's allocation macros
\let\!!!wlog=\wlog              % "\wlog" is defined in plain TeX
\def\wlog#1{}    

\newdimen\headingtoplotskip     %.A.................
\newdimen\linethickness         %.A..X....U........T
\newdimen\longticklength        %.A................T
\newdimen\plotsymbolspacing     %......D...L....Q...
\newdimen\shortticklength       %.A................T
\newdimen\stackleading          %.A..........P......
\newdimen\tickstovaluesleading  %.A................T
\newdimen\totalarclength        %......D...L....Q...
\newdimen\valuestolabelleading  %.A.................

\newbox\!boxA                   %.AW...............T
\newbox\!boxB                   %..W................
\newbox\!picbox                 %............P......
\newbox\!plotsymbol             %..........L..O.....
\newbox\!putobject              %............PO...S.
\newbox\!shadesymbol            %.................S.

\newcount\!countA               %.A....D..UL....Q.ST
\newcount\!countB               %......D..U.....Q.ST
\newcount\!countC               %...............Q..T
\newcount\!countD               %...................
\newcount\!countE               %.............O....T
\newcount\!countF               %.............O....T
\newcount\!countG               %..................T
\newcount\!fiftypt              %.........U.........
\newcount\!intervalno           %..........L....Q...
\newcount\!npoints              %..........L........
\newcount\!nsegments            %.........U.........
\newcount\!ntemp                %............P......
\newcount\!parity               %.................S.
\newcount\!scalefactor          %..................T
\newcount\!tfs                  %.......V...........
\newcount\!tickcase             %..................T

\newdimen\!Xleft                %............P......
\newdimen\!Xright               %............P......
\newdimen\!Xsave                %.A................T
\newdimen\!Ybot                 %............P......
\newdimen\!Ysave                %.A................T
\newdimen\!Ytop                 %............P......
\newdimen\!angle                %........E..........
\newdimen\!arclength            %..W......UL....Q...
\newdimen\!areabloc             %.A........L........
\newdimen\!arealloc             %.A........L........
\newdimen\!arearloc             %.A........L........
\newdimen\!areatloc             %.A........L........
\newdimen\!bshrinkage           %.................S.
\newdimen\!checkbot             %..........L........
\newdimen\!checkleft            %..........L........
\newdimen\!checkright           %..........L........
\newdimen\!checktop             %..........L........
\newdimen\!dimenA               %.AW.X.DVEUL..OYQRST
\newdimen\!dimenB               %....X.DVEU...O.QRS.
\newdimen\!dimenC               %..W.X.DVEU......RS.
\newdimen\!dimenD               %..W.X.DVEU....Y.RS.
\newdimen\!dimenE               %..W........G..YQ.S.
\newdimen\!dimenF               %...........G..YQ.S.
\newdimen\!dimenG               %...........G..YQ.S.
\newdimen\!dimenH               %...........G..Y..S.
\newdimen\!dimenI               %...BX.........Y....
\newdimen\!distacross           %..........L....Q...
\newdimen\!downlength           %..........L........
\newdimen\!dp                   %.A..X.......P....S.
\newdimen\!dshade               %.................S.
\newdimen\!dxpos                %..W......U..P....S.
\newdimen\!dxprime              %...............Q...
\newdimen\!dypos                %..WB.....U..P......
\newdimen\!dyprime              %...............Q...
\newdimen\!ht                   %.A..X.......P....S.
\newdimen\!leaderlength         %......D..U.........
\newdimen\!lshrinkage           %.................S.
\newdimen\!midarclength         %...............Q...
\newdimen\!offset               %.A................T
\newdimen\!plotheadingoffset    %.A.................
\newdimen\!plotsymbolxshift     %..........L..O.....
\newdimen\!plotsymbolyshift     %..........L..O.....
\newdimen\!plotxorigin          %..........L..O.....
\newdimen\!plotyorigin          %..........L..O.....
\newdimen\!rootten              %...........G.......
\newdimen\!rshrinkage           %.................S.
\newdimen\!shadesymbolxshift    %.................S.
\newdimen\!shadesymbolyshift    %.................S.
\newdimen\!tenAa                %...........G.......
\newdimen\!tenAc                %...........G.......
\newdimen\!tenAe                %...........G.......
\newdimen\!tshrinkage           %.................S.
\newdimen\!uplength             %..........L........
\newdimen\!wd                   %....X.......P....S.
\newdimen\!wmax                 %...............Q...
\newdimen\!wmin                 %...............Q...
\newdimen\!xB                   %...............Q...
\newdimen\!xC                   %...............Q...
\newdimen\!xE                   %..W.....E.L....Q.S.
\newdimen\!xM                   %..W.....E......Q.S.
\newdimen\!xS                   %..W.....E.L....Q.S.
\newdimen\!xaxislength          %.A................T
\newdimen\!xdiff                %..........L........
\newdimen\!xleft                %............P......
\newdimen\!xloc                 %..WB.....U.......S.
\newdimen\!xorigin              %.A........L.P....S.
\newdimen\!xpivot               %................R..
\newdimen\!xpos                 %..........L.P..Q.ST
\newdimen\!xprime               %...............Q...
\newdimen\!xright               %............P......
\newdimen\!xshade               %.................S.
\newdimen\!xshift               %..W.........PO...S.
\newdimen\!xtemp                %............P......
\newdimen\!xunit                %.AWBX...EUL.P..QRS.
\newdimen\!xxE                  %........E..........
\newdimen\!xxM                  %........E..........
\newdimen\!xxS                  %........E..........
\newdimen\!xxloc                %..WB....EU.........
\newdimen\!yB                   %...............Q...
\newdimen\!yC                   %...............Q...
\newdimen\!yE                   %..W.....E.L....Q...
\newdimen\!yM                   %..W.....E......Q...
\newdimen\!yS                   %..W.....E.L....Q...
\newdimen\!yaxislength          %.A................T
\newdimen\!ybot                 %............P......
\newdimen\!ydiff                %..........L........
\newdimen\!yloc                 %..WB.....U.......S.
\newdimen\!yorigin              %.A........L.P....S.
\newdimen\!ypivot               %................R..
\newdimen\!ypos                 %..........L.P..Q.ST
\newdimen\!yprime               %...............Q...
\newdimen\!yshade               %.................S.
\newdimen\!yshift               %..W.........PO...S.
\newdimen\!ytemp                %............P......
\newdimen\!ytop                 %............P......
\newdimen\!yunit                %.AWBX...EUL.P..QRS.
\newdimen\!yyE                  %........E..........
\newdimen\!yyM                  %........E..........
\newdimen\!yyS                  %........E..........
\newdimen\!yyloc                %..WB....EU.........
\newdimen\!zpt                  %.AWBX.DVEULGP.YQ.ST

\newif\if!axisvisible           %.A.................
\newif\if!gridlinestoo          %..................T
\newif\if!keepPO                %...................
\newif\if!placeaxislabel        %.A.................
\newif\if!switch                %H..................
\newif\if!xswitch               %.A................T

\newtoks\!axisLaBeL             %.A.................
\newtoks\!keywordtoks           %.A.................

\newwrite\!replotfile           %.............O.....

\newhelp\!keywordhelp{The keyword mentioned in the error message in unknown. 
Replace NEW KEYWORD in the indicated response by the keyword that 
should have been specified.}    %.A.................

% The following commands assign alternate names to some of the 
% above registers.  "\!wlet"  is defined in  Hacks.
\!wlet\!!origin=\!xM                   %.A................T
\!wlet\!!unit=\!uplength               %.A................T
\!wlet\!Lresiduallength=\!dimenG       %.........U.........
\!wlet\!Rresiduallength=\!dimenF       %.........U.........
\!wlet\!axisLength=\!distacross        %.A................T
\!wlet\!axisend=\!ydiff                %.A................T
\!wlet\!axisstart=\!xdiff              %.A................T
\!wlet\!axisxlevel=\!arclength         %.A................T
\!wlet\!axisylevel=\!downlength        %.A................T
\!wlet\!beta=\!dimenE                  %...............Q...
\!wlet\!gamma=\!dimenF                 %...............Q...
\!wlet\!shadexorigin=\!plotxorigin     %.................S.
\!wlet\!shadeyorigin=\!plotyorigin     %.................S.
\!wlet\!ticklength=\!xS                %..................T
\!wlet\!ticklocation=\!xE              %..................T
\!wlet\!ticklocationincr=\!yE          %..................T
\!wlet\!tickwidth=\!yS                 %..................T
\!wlet\!totalleaderlength=\!dimenE     %.........U.........
\!wlet\!xone=\!xprime                  %....X..............
\!wlet\!xtwo=\!dxprime                 %....X..............
\!wlet\!ySsave=\!yM                    %...................
\!wlet\!ybB=\!yB                       %.................S.
\!wlet\!ybC=\!yC                       %.................S.
\!wlet\!ybE=\!yE                       %.................S.
\!wlet\!ybM=\!yM                       %.................S.
\!wlet\!ybS=\!yS                       %.................S.
\!wlet\!ybpos=\!yyloc                  %.................S.
\!wlet\!yone=\!yprime                  %....X..............
\!wlet\!ytB=\!xB                       %.................S.
\!wlet\!ytC=\!xC                       %.................S.
\!wlet\!ytE=\!downlength               %.................S.
\!wlet\!ytM=\!arclength                %.................S.
\!wlet\!ytS=\!distacross               %.................S.
\!wlet\!ytpos=\!xxloc                  %.................S.
\!wlet\!ytwo=\!dyprime                 %....X..............


% Initial values for registers
\!zpt=0pt                              % static
\!xunit=1pt
\!yunit=1pt
\!arearloc=\!xunit
\!areatloc=\!yunit
\!dshade=5pt
\!leaderlength=24in
\!tfs=256                              % static
\!wmax=5.3pt                           % static
\!wmin=2.7pt                           % static
\!xaxislength=\!xunit
\!xpivot=\!zpt
\!yaxislength=\!yunit 
\!ypivot=\!zpt
\plotsymbolspacing=.4pt
  \!dimenA=50pt \!fiftypt=\!dimenA     % static

\!rootten=3.162278pt                   % static
\!tenAa=8.690286pt                     % static  (A5)
\!tenAc=2.773839pt                     % static  (A3)
\!tenAe=2.543275pt                     % static  (A1)

% Initial values for control sequences
\def\!cosrotationangle{1}      %................R..
\def\!sinrotationangle{0}      %................R..
\def\!xpivotcoord{0}           %................R..
\def\!xref{0}                  %............P......
\def\!xshadesave{0}            %.................S.
\def\!ypivotcoord{0}           %................R..
\def\!yref{0}                  %............P......
\def\!yshadesave{0}            %.................S.
\def\!zero{0}                  %..................T

% Reset TeX to report allocations
\let\wlog=\!!!wlog
%  *************************************
%  ***  AREAS: Deals with plot areas ***
%  *************************************
%
%  ** User commands
%  **   \setplotarea x from LEFT XCOORD to RIGTH XCOORD, y from BOTTOM YCOORD
%  **      to TOP YCOORD
%  **   \axis BOTTOM-LEFT-TOP-RIGHT  [SHIFTEDTO xy=COORD] [VISIBLE-INVISIBLE]
%  **      [LABEL {label}] [TICKS] /
%  **   \visibleaxes
%  **   \invisibleaxes
%  **   \plotheading {HEADING}
%  **   \grid {# of columns} {# of rows}
%  **   \normalgraphs 
  
%  **  \normalgraphs
%  **    Sets defaults for graph setup. See Subsection 3.4 of manual.
\def\normalgraphs{%
  \longticklength=.4\baselineskip
  \shortticklength=.25\baselineskip
  \tickstovaluesleading=.25\baselineskip
  \valuestolabelleading=.8\baselineskip
  \linethickness=.4pt
  \stackleading=.17\baselineskip
  \headingtoplotskip=1.5\baselineskip
  \visibleaxes
  \ticksout
  \nogridlines
  \unloggedticks}
%
% **  \setplotarea x from LEFT XCOORD to RIGTH XCOORD, y from BOTTOM YCOORD
% **    to TOP YCOORD
% **  Reserves space in PICBOX for a rectangular box with the indicated
% **   coordinates.  Must be specified before calls to  \axis, 
% **   \grid, \plotheading.
% **  See Subsection 3.1 of the manual.
\def\setplotarea x from #1 to #2, y from #3 to #4 {%
  \!arealloc=\!M{#1}\!xunit \advance \!arealloc -\!xorigin
  \!areabloc=\!M{#3}\!yunit \advance \!areabloc -\!yorigin
  \!arearloc=\!M{#2}\!xunit \advance \!arearloc -\!xorigin
  \!areatloc=\!M{#4}\!yunit \advance \!areatloc -\!yorigin
  \!initinboundscheck
  \!xaxislength=\!arearloc  \advance\!xaxislength -\!arealloc
  \!yaxislength=\!areatloc  \advance\!yaxislength -\!areabloc
  \!plotheadingoffset=\!zpt
  \!dimenput {{\setbox0=\hbox{}\wd0=\!xaxislength\ht0=\!yaxislength\box0}}
     [bl] (\!arealloc,\!areabloc)}
%
% ** \visibleaxes, \invisibleaxes 
% ** Switches for setting visibility of subsequent axes.
% ** See Subsection 3.2 of the manual.
\def\visibleaxes{%
  \def\!axisvisibility{\!axisvisibletrue}}
\def\invisibleaxes{%
  \def\!axisvisibility{\!axisvisiblefalse}}
%
% ** The next few macros enable the user to fix up an erroneous keyword
% **   in the \axis command.
%  \newhelp is in ALLOCATIONS
%  \newhelp\!keywordhelp{The keyword mentioned in the error message in unknown. 
%  Replace NEW KEYWORD in the indicated response by the keyword that 
%  should have been specified.}

\def\!fixkeyword#1{%
  \errhelp=\!keywordhelp
  \errmessage{Unrecognized keyword `#1': \the\!keywordtoks{NEW KEYWORD}'}}

%  \newtoks\!keywordtoks    In ALLOCATIONS.
\!keywordtoks={enter `i\fixkeyword}

\def\fixkeyword#1{%
  \!nextkeyword#1 }

% ** \axis BOTTOM-LEFT-TOP-RIGHT  [SHIFTEDTO xy=COORD] [VISIBLE-INVISIBLE]
% **   [LABEL {label}] [TICKS] /
% ** Exactly one of the keywords BOTTOM, LEFT, TOP, RIGHT must be
% ** specified. Axis is drawn along the indicated edge of the current
% ** plot area, shifted if the SHIFTEDTO option is used, visible or
% ** invisible according the selected option, with an optional LABEL,
% ** and optional TICKS (see ticks.tex for the options avialabel with
% ** TICKS). The TICKS option must be the last one specified. The \axis
% ** MUST be terminated with a / followed by a space.
% ** See Subsection 3.2 of the manual for more information.

% ** The various options of the \axis command are processed by the
% ** \!nextkeyword macro defined below. For example, 
% ** `\!nextkeyword shiftedto ' expands to `\!axisshiftedto'.
\def\axis {%
  \def\!nextkeyword##1 {%
    \expandafter\ifx\csname !axis##1\endcsname \relax
      \def\!next{\!fixkeyword{##1}}%
    \else
      \def\!next{\csname !axis##1\endcsname}%
    \fi
    \!next}%
  \!offset=\!zpt
  \!axisvisibility
  \!placeaxislabelfalse
  \!nextkeyword}

% ** This and the various macros that follow handle the keyword
% ** specifications on the \axis command
% ** See Subsection 3.2 of the manual.
\def\!axisbottom{%
  \!axisylevel=\!areabloc
  \def\!tickxsign{0}%
  \def\!tickysign{-}%
  \def\!axissetup{\!axisxsetup}%
  \def\!axislabeltbrl{t}%
  \!nextkeyword}

\def\!axistop{%
  \!axisylevel=\!areatloc
  \def\!tickxsign{0}%
  \def\!tickysign{+}%
  \def\!axissetup{\!axisxsetup}%
  \def\!axislabeltbrl{b}%
  \!nextkeyword}

\def\!axisleft{%
  \!axisxlevel=\!arealloc
  \def\!tickxsign{-}%
  \def\!tickysign{0}%
  \def\!axissetup{\!axisysetup}%
  \def\!axislabeltbrl{r}%
  \!nextkeyword}

\def\!axisright{%
  \!axisxlevel=\!arearloc
  \def\!tickxsign{+}%
  \def\!tickysign{0}%
  \def\!axissetup{\!axisysetup}%
  \def\!axislabeltbrl{l}%
  \!nextkeyword}

\def\!axisshiftedto#1=#2 {%
  \if 0\!tickxsign
    \!axisylevel=\!M{#2}\!yunit
    \advance\!axisylevel -\!yorigin
  \else
    \!axisxlevel=\!M{#2}\!xunit
    \advance\!axisxlevel -\!xorigin
  \fi
  \!nextkeyword}

\def\!axisvisible{%
  \!axisvisibletrue  
  \!nextkeyword}

\def\!axisinvisible{%
  \!axisvisiblefalse
  \!nextkeyword}

\def\!axislabel#1 {%
  \!axisLaBeL={#1}%
  \!placeaxislabeltrue
  \!nextkeyword}

\expandafter\def\csname !axis/\endcsname{%
  \!axissetup % This could done already by "ticks"; if so, now \relax
  \if!placeaxislabel
    \!placeaxislabel
  \fi
  \if +\!tickysign %                 ** (A "top" axis)
    \!dimenA=\!axisylevel
    \advance\!dimenA \!offset %      ** dimA = top of the axis structure
    \advance\!dimenA -\!areatloc %   ** dimA = excess over the plot area
    \ifdim \!dimenA>\!plotheadingoffset
      \!plotheadingoffset=\!dimenA % ** Greatest excess over the plot area
    \fi
  \fi}

% ** \grid {c} {r} 
% ** Partitions the plot area into c columns and r rows; see Subsection 3.3
% ** of the manual.
% ** (Other grid patterns can be drawn with the TICKS option of the \axis 
% ** command.
\def\grid #1 #2 {%
  \!countA=#1\advance\!countA 1
  \axis bottom invisible ticks length <\!zpt> andacross quantity {\!countA} /
  \!countA=#2\advance\!countA 1
  \axis left   invisible ticks length <\!zpt> andacross quantity {\!countA} / }

% ** \plotheading{HEADING}
% ** Places HEADING centered above the top of the plotarea (and above
% ** any top axis ticks marks, tick labels, and axis label); see
% ** Subsection 3.3 of the manual.
\def\plotheading#1 {%
  \advance\!plotheadingoffset \headingtoplotskip
  \!dimenput {#1} [B] <.5\!xaxislength,\!plotheadingoffset>
    (\!arealloc,\!areatloc)}

% ** From here on, the routines are internal.
\def\!axisxsetup{%
  \!axisxlevel=\!arealloc
  \!axisstart=\!arealloc
  \!axisend=\!arearloc
  \!axisLength=\!xaxislength
  \!!origin=\!xorigin
  \!!unit=\!xunit
  \!xswitchtrue
  \if!axisvisible 
    \!makeaxis
  \fi}

\def\!axisysetup{%
  \!axisylevel=\!areabloc
  \!axisstart=\!areabloc
  \!axisend=\!areatloc
  \!axisLength=\!yaxislength
  \!!origin=\!yorigin
  \!!unit=\!yunit
  \!xswitchfalse
  \if!axisvisible
    \!makeaxis
  \fi}

\def\!makeaxis{%
  \setbox\!boxA=\hbox{% (Make a pseudo-y[x] tick for an x[y]-axis)
    \beginpicture
      \!setdimenmode
      \setcoordinatesystem point at {\!zpt} {\!zpt}   
      \putrule from {\!zpt} {\!zpt} to
        {\!tickysign\!tickysign\!axisLength} 
        {\!tickxsign\!tickxsign\!axisLength}
    \endpicturesave <\!Xsave,\!Ysave>}%
    \wd\!boxA=\!zpt
    \!placetick\!axisstart}

\def\!placeaxislabel{%
  \advance\!offset \valuestolabelleading
  \if!xswitch
    \!dimenput {\the\!axisLaBeL} [\!axislabeltbrl]
      <.5\!axisLength,\!tickysign\!offset> (\!axisxlevel,\!axisylevel)
    \advance\!offset \!dp  % ** advance offset by the "tallness"
    \advance\!offset \!ht  % ** of the label
  \else
    \!dimenput {\the\!axisLaBeL} [\!axislabeltbrl]
      <\!tickxsign\!offset,.5\!axisLength> (\!axisxlevel,\!axisylevel)
  \fi
  \!axisLaBeL={}}


% *******************************
% *** ARROWS  (Draws arrows)  ***
% *******************************
%
% ** User commands
% **  \arrow <ARROW HEAD LENGTH> [MID FRACTION, BASE FRACTION]
% **    [<XSHIFT,YSHIFT>] from XFROM YFROM to XTO YTO
% **  \betweenarrows {TEXT} [orientation & shift] from XFROM YFROM to XTO YTO

% ** \arrow <ARROW HEAD LENGTH> [MID FRACTION, BASE FRACTION]
% **    [<XSHIFT,YSHIFT>] from XFROM YFROM to XTO YTO
% ** Draws an arrow from (XFROM,YFROM) to (XTO,YTO).  The arrow head
% ** is constructed two quadratic arcs, which extend back a distance
% ** ARROW HEAD LENGTH (a dimension) on both sides of the arrow shaft.
% ** All the way back the arcs are a distance BASE FRACTION*ARROW HEAD
% ** LENGTH apart, while half-way back they are a distance MID FRACTION*
% ** ARROW HEAD LENGTH apart. <XSHIFT,YSHIFT> is optional, and has
% ** its usual interpreation. See Subsection 5.4 of the manual.

\def\arrow <#1> [#2,#3]{%
  \!ifnextchar<{\!arrow{#1}{#2}{#3}}{\!arrow{#1}{#2}{#3}<\!zpt,\!zpt> }}

\def\!arrow#1#2#3<#4,#5> from #6 #7 to #8 #9 {%
%
% ** convert to dimensions
  \!xloc=\!M{#8}\!xunit   
  \!yloc=\!M{#9}\!yunit
  \!dxpos=\!xloc  \!dimenA=\!M{#6}\!xunit  \advance \!dxpos -\!dimenA
  \!dypos=\!yloc  \!dimenA=\!M{#7}\!yunit  \advance \!dypos -\!dimenA
  \let\!MAH=\!M%                         ** save current c/d mode
  \!setdimenmode%                        ** go into dimension mode
%
  \!xshift=#4\relax  \!yshift=#5\relax%  ** pick up shift
  \!reverserotateonly\!xshift\!yshift%   ** back rotate shift
  \advance\!xshift\!xloc  \advance\!yshift\!yloc
%
% **  draw shaft of arrow
  \!xS=-\!dxpos  \advance\!xS\!xshift
  \!yS=-\!dypos  \advance\!yS\!yshift
  \!start (\!xS,\!yS)
  \!ljoin (\!xshift,\!yshift)
%
% ** find 32*cosine and 32*sine of angle of rotation
  \!Pythag\!dxpos\!dypos\!arclength
  \!divide\!dxpos\!arclength\!dxpos  
  \!dxpos=32\!dxpos  \!removept\!dxpos\!!cos
  \!divide\!dypos\!arclength\!dypos  
  \!dypos=32\!dypos  \!removept\!dypos\!!sin
% 
% ** construct arrowhead
  \!halfhead{#1}{#2}{#3}%                ** draw half of arrow head
  \!halfhead{#1}{-#2}{-#3}%              ** draw other half
%
  \let\!M=\!MAH%                         ** restore old c/d mode
  \ignorespaces}
%
% ** draw half of arrow head
  \def\!halfhead#1#2#3{%
    \!dimenC=-#1%                
    \divide \!dimenC 2 %                 ** half way back
    \!dimenD=#2\!dimenC%                 ** half the mid width
    \!rotate(\!dimenC,\!dimenD)by(\!!cos,\!!sin)to(\!xM,\!yM)
    \!dimenC=-#1%                        ** all the way back
    \!dimenD=#3\!dimenC
    \!dimenD=.5\!dimenD%                 ** half the full width
    \!rotate(\!dimenC,\!dimenD)by(\!!cos,\!!sin)to(\!xE,\!yE)
    \!start (\!xshift,\!yshift)
    \advance\!xM\!xshift  \advance\!yM\!yshift
    \advance\!xE\!xshift  \advance\!yE\!yshift
    \!qjoin (\!xM,\!yM) (\!xE,\!yE) 
    \ignorespaces}


% ** \betweenarrows {TEXT} [orientation & shift] from XFROM YFROM to XTO YTO
% **   Makes things like <--- text --->, using arrow heads from TeX's fonts.
% **   See Subsection 5.4 of the manual.
\def\betweenarrows #1#2 from #3 #4 to #5 #6 {%
  \!xloc=\!M{#3}\!xunit  \!xxloc=\!M{#5}\!xunit%   
  \!yloc=\!M{#4}\!yunit  \!yyloc=\!M{#6}\!yunit%           
  \!dxpos=\!xxloc  \advance\!dxpos by -\!xloc
  \!dypos=\!yyloc  \advance\!dypos by -\!yloc
  \advance\!xloc .5\!dxpos
  \advance\!yloc .5\!dypos
%
  \let\!MBA=\!M%           ** save current coord\dimen mode
  \!setdimenmode%          ** express locations in dimens
  \ifdim\!dypos=\!zpt
    \ifdim\!dxpos<\!zpt \!dxpos=-\!dxpos \fi
    \put {\!lrarrows{\!dxpos}{#1}}#2{} at {\!xloc} {\!yloc}
  \else
    \ifdim\!dxpos=\!zpt
      \ifdim\!dypos<\!zpt \!dypos=-\!zpt \fi
      \put {\!udarrows{\!dypos}{#1}}#2{} at {\!xloc} {\!yloc}
    \fi
  \fi
  \let\!M=\!MBA%           ** restore previous c/d mode
  \ignorespaces}

% ** Subroutine for left-right between arrows 
\def\!lrarrows#1#2{% #1=width, #2=text
  {\setbox\!boxA=\hbox{$\mkern-2mu\mathord-\mkern-2mu$}%
   \setbox\!boxB=\hbox{$\leftarrow$}\!dimenE=\ht\!boxB
   \setbox\!boxB=\hbox{}\ht\!boxB=2\!dimenE
   \hbox to #1{$\mathord\leftarrow\mkern-6mu
     \cleaders\copy\!boxA\hfil
     \mkern-6mu\mathord-$%
     \kern.4em $\vcenter{\box\!boxB}$$\vcenter{\hbox{#2}}$\kern.4em
     $\mathord-\mkern-6mu
     \cleaders\copy\!boxA\hfil
     \mkern-6mu\mathord\rightarrow$}}}

% ** Subroutine for up-down between arrows 
\def\!udarrows#1#2{% #1=width, #2=text
  {\setbox\!boxB=\hbox{#2}%
   \setbox\!boxA=\hbox to \wd\!boxB{\hss$\vert$\hss}%
   \!dimenE=\ht\!boxA \advance\!dimenE \dp\!boxA \divide\!dimenE 2
   \vbox to #1{\offinterlineskip
      \vskip .05556\!dimenE
      \hbox to \wd\!boxB{\hss$\mkern.4mu\uparrow$\hss}\vskip-\!dimenE
      \cleaders\copy\!boxA\vfil
      \vskip-\!dimenE\copy\!boxA
      \vskip\!dimenE\copy\!boxB\vskip.4em
      \copy\!boxA\vskip-\!dimenE
      \cleaders\copy\!boxA\vfil
      \vskip-\!dimenE \hbox to \wd\!boxB{\hss$\mkern.4mu\downarrow$\hss}
      \vskip .05556\!dimenE}}}


% ***************************
% *** BARS  (Draws bars)  ***
% ***************************
%
% ** User commands:
% ** \putbar [<XSHIFT,YSHIFT>] breadth <BREADTH> from XSTART YSTART
% **   to XEND YEND
% ** \setbars [<XSHIFT,YSHIFT>] breadth <BREADTH> baseline at XY = COORD
% **   [baselabels ([B_ORIENTATION_x,B_ORIENTATION_y] <B_XSHIFT,B_YSHIFT>)]
% **   [endlabels  ([E_ORIENTATION_x,E_ORIENTATION_y] <E_XSHIFT,E_YSHIFT>)]


% ** \putbar [<XSHIFT,YSHIFT>] breadth <BREADTH> from XSTART YSTART
% **   to XEND YEND
% ** Either XSTART=XEND or YSTART=YEND. Draws a rectangle between
% **   (XSTART,YSTART) & (XEND,YEND). The "depth" of the rectangle
% **   is determined by those two plot positions; its other
% **   dimension "breadth" is specified by the dimension BREADTH.
% ** See Subsection 4.2 of the manual.
\def\putbar#1breadth <#2> from #3 #4 to #5 #6 {%
  \!xloc=\!M{#3}\!xunit  \!xxloc=\!M{#5}\!xunit%   
  \!yloc=\!M{#4}\!yunit  \!yyloc=\!M{#6}\!yunit%           
  \!dypos=\!yyloc  \advance\!dypos by -\!yloc
  \!dimenI=#2  
% 
  \ifdim \!dimenI=\!zpt %            ** If 0 breadth
    \putrule#1from {#3} {#4} to {#5} {#6} % ** Then draw line
  \else %                            ** Else, put in a rectangle
    \let\!MBar=\!M%                  ** save current c/d mode
    \!setdimenmode %                 ** go into dimension mode
    \divide\!dimenI 2
    \ifdim \!dypos=\!zpt             
      \advance \!yloc -\!dimenI %    ** Equal y coordinates
      \advance \!yyloc \!dimenI
    \else
      \advance \!xloc -\!dimenI %    ** Equal x coordinates
      \advance \!xxloc \!dimenI
    \fi
    \putrectangle#1corners at {\!xloc} {\!yloc} and {\!xxloc} {\!yyloc}
    \let\!M=\!MBar %                 ** restore c/d mode
  \fi
  \ignorespaces}


% ** \setbars [<XSHIFT,YSHIFT>] breadth <BREADTH> baseline at XY = COORD
% **   [baselabels ([B_ORIENTATION_x,B_ORIENTATION_y] <B_XSHIFT,B_YSHIFT>)]
% **   [endlabels  ([E_ORIENTATION_x,E_ORIENTATION_y] <E_XSHIFT,E_YSHIFT>)]
% ** This command puts PiCTeX into the bar graph drawing mode described
% **   in Subsection 4.4 of the manual.
\def\setbars#1breadth <#2> baseline at #3 = #4 {%
  \edef\!barshift{#1}%
  \edef\!barbreadth{#2}%
  \edef\!barorientation{#3}%
  \edef\!barbaseline{#4}%
  \def\!bardobaselabel{\!bardoendlabel}%
  \def\!bardoendlabel{\!barfinish}%
  \let\!drawcurve=\!barcurve
  \!setbars}
\def\!setbars{%
  \futurelet\!nextchar\!!setbars}
\def\!!setbars{%
  \if b\!nextchar
    \def\!!!setbars{\!setbarsbget}%
  \else 
    \if e\!nextchar
      \def\!!!setbars{\!setbarseget}%
    \else
      \def\!!!setbars{\relax}%
    \fi
  \fi
  \!!!setbars}
\def\!setbarsbget baselabels (#1) {%
  \def\!barbaselabelorientation{#1}%
  \def\!bardobaselabel{\!!bardobaselabel}%
  \!setbars}
\def\!setbarseget endlabels (#1) {%
  \edef\!barendlabelorientation{#1}%
  \def\!bardoendlabel{\!!bardoendlabel}%
  \!setbars}

% ** \!barcurve
% ** Draws a bargraph with preset values of barshift, barbreadth,
% ** barorientation (x or y) and barbaseline (coordinate)
\def\!barcurve #1 #2 {%
  \if y\!barorientation
    \def\!basexarg{#1}%
    \def\!baseyarg{\!barbaseline}%
  \else
    \def\!basexarg{\!barbaseline}%
    \def\!baseyarg{#2}%
  \fi
  \expandafter\putbar\!barshift breadth <\!barbreadth> from {\!basexarg}
    {\!baseyarg} to {#1} {#2}
  \def\!endxarg{#1}%
  \def\!endyarg{#2}%
  \!bardobaselabel}

\def\!!bardobaselabel "#1" {%
  \put {#1}\!barbaselabelorientation{} at {\!basexarg} {\!baseyarg}
  \!bardoendlabel}
 
\def\!!bardoendlabel "#1" {%
  \put {#1}\!barendlabelorientation{} at {\!endxarg} {\!endyarg}
  \!barfinish}

\def\!barfinish{%
  \!ifnextchar/{\!finish}{\!barcurve}}
 

% ********************************
% *** BOXES (Draws rectangles) ***
% ********************************
%
% ** User commands:
% **   \putrectangle [<XSHIFT,YSHIFT>] corners at  XCOORD1 YCOORD1
% **     and  XCOORD2 YCOORD2 
% **   \shaderectangleson
% **   \shaderectanglesoff
% **   \frame [<SEPARATION>] {TEXT}
% **   \rectangle <WIDTH> <HEIGHT>
%
%
% **  \putrectangle [<XSHIFT,YSHIFT>] corners at XCOORD1 YCOORD1 
% **    and  XCOORD2 YCOORD2 
% **  Draws a rectangle with corners at (X1,Y1), (X2,Y1), (X1,Y2), (X2,Y2)
% **  Lines have thickness \linethickness, and overlap at the corners.
% **  The optional field  <XSHIFT,YSHIFT>  functions as with a \put command.
% **  See Subsection 4.2 of the manual.
\def\putrectangle{%
  \!ifnextchar<{\!putrectangle}{\!putrectangle<\!zpt,\!zpt> }}
\def\!putrectangle<#1,#2> corners at #3 #4 and #5 #6 {%
%
% ** get locations
  \!xone=\!M{#3}\!xunit  \!xtwo=\!M{#5}\!xunit%   
  \!yone=\!M{#4}\!yunit  \!ytwo=\!M{#6}\!yunit%           
  \ifdim \!xtwo<\!xone
    \!dimenI=\!xone  \!xone=\!xtwo  \!xtwo=\!dimenI
  \fi
  \ifdim \!ytwo<\!yone
    \!dimenI=\!yone  \!yone=\!ytwo  \!ytwo=\!dimenI
  \fi
  \!dimenI=#1\relax  \advance\!xone\!dimenI  \advance\!xtwo\!dimenI
  \!dimenI=#2\relax  \advance\!yone\!dimenI  \advance\!ytwo\!dimenI
  \let\!MRect=\!M%                  ** save current coord/dimen mode
  \!setdimenmode
%
% ** shade rectangle if appropriate
  \!shaderectangle
%
% ** draw horizontal edges
  \!dimenI=.5\linethickness
  \advance \!xone  -\!dimenI%       ** adjust x-location to overlap corners
  \advance \!xtwo   \!dimenI%       ** ditto
  \putrule from {\!xone} {\!yone} to {\!xtwo} {\!yone} 
  \putrule from {\!xone} {\!ytwo} to {\!xtwo} {\!ytwo} 
%
% ** draw vertical edges
  \advance \!xone   \!dimenI%       ** restore original x-values
  \advance \!xtwo  -\!dimenI% 
  \advance \!yone  -\!dimenI%       ** adjust y-location to overlap corners
  \advance \!ytwo   \!dimenI%       ** ditto
  \putrule from {\!xone} {\!yone} to {\!xone} {\!ytwo} 
  \putrule from {\!xtwo} {\!yone} to {\!xtwo} {\!ytwo} 
%
  \let\!M=\!MRect%                  ** restore coord/dimen mode
  \ignorespaces}
 
% ** \shaderectangleson 
% **   Subsequent rectangles will be shaded according to 
% **   the current shading pattern.  Affects \putrectangle, \putbar,
% **   \frame, \sethistograms, and \setbars. See Subsection 7.5 of the manual.
\def\shaderectangleson{%     
  \def\!shaderectangle{\!!shaderectangle}%
  \ignorespaces}
% ** \shaderectanglesoff 
% **    Suppresses  \shaderectangleson.  The default.
\def\shaderectanglesoff{%
  \def\!shaderectangle{}%
  \ignorespaces}

\shaderectanglesoff
 
% ** The following internal routine shades the current rectangle, when
% **   \!shaderectangle = \!!shaderectangle . 
\def\!!shaderectangle{%
  \!dimenA=\!xtwo  \advance \!dimenA -\!xone
  \!dimenB=\!ytwo  \advance \!dimenB -\!yone
  \ifdim \!dimenA<\!dimenB
    \!startvshade (\!xone,\!yone,\!ytwo)
    \!lshade      (\!xtwo,\!yone,\!ytwo)
  \else
    \!starthshade (\!yone,\!xone,\!xtwo)
    \!lshade      (\!ytwo,\!xone,\!xtwo)
  \fi
  \ignorespaces}
  
% ** \frame [<SEPARATION>] {TEXT}
% ** Draws a frame of thickness linethickness about the box enclosing
% **   TEXT; the frame is separated from the box by a distance of
% **   SEPARATION.  The result is an hbox with the same baseline as TEXT.
% **   If <SEPARATION> is omitted, you get the effect of <0pt>.
% ** See Subsection 4.2 of the manual.
\def\frame{%
  \!ifnextchar<{\!frame}{\!frame<\!zpt> }}
\long\def\!frame<#1> #2{%
  \beginpicture
    \setcoordinatesystem units <1pt,1pt> point at 0 0 
    \put {#2} [Bl] at 0 0 
    \!dimenA=#1\relax
    \!dimenB=\!wd \advance \!dimenB \!dimenA
    \!dimenC=\!ht \advance \!dimenC \!dimenA
    \!dimenD=\!dp \advance \!dimenD \!dimenA
    \let\!MFr=\!M
    \!setdimenmode
    \putrectangle corners at {-\!dimenA} {-\!dimenD} and {\!dimenB} {\!dimenC}
    \!setcoordmode
    \let\!M=\!MFr
  \endpicture
  \ignorespaces}
 
% ** \rectangle <WIDTH> <HEIGHT>
% ** Constructs a rectangle of width WIDTH and heigth HEIGHT. 
% ** See Subsection 4.2 of the manual.
\def\rectangle <#1> <#2> {%
  \setbox0=\hbox{}\wd0=#1\ht0=#2\frame {\box0}}


% *********************************************
% ***  CURVES  (Upper level \plot commands) ***
% *********************************************
%
% ** User commands
% **   \plot  DATA  /
% **   \plot  "FILE NAME"
% **   \setquadratic
% **   \setlinear
% **   \sethistograms
% **   \vshade  ...
% **   \hshade  ...

% \plot: multi-purpose command. Draws histograms, bar graphs, piecewise-linear
% or piecewise quadratic curves, depending on the setting of \!drawcurve.
% See Subsections 4.3-4.5, 5.1, 5.2 of the manual.
\def\plot{%
  \!ifnextchar"{\!plotfromfile}{\!drawcurve}}
\def\!plotfromfile"#1"{%
  \expandafter\!drawcurve \input #1 /}

% Command to set piecewise quadratic mode
% See Subsections 5.1, 7.3, and 7.4 of the manual.
\def\setquadratic{%
  \let\!drawcurve=\!qcurve
  \let\!!Shade=\!!qShade
  \let\!!!Shade=\!!!qShade}

% Command to set piecewise linear mode
% See Subsections 5.1, 7.3, and 7.4 of the manual.
\def\setlinear{%
  \let\!drawcurve=\!lcurve
  \let\!!Shade=\!!lShade
  \let\!!!Shade=\!!!lShade}

% Command to set histogram mode
% See Subsection 4.3 of the manual.
\def\sethistograms{%
  \let\!drawcurve=\!hcurve}

% Commands to cycle through list of coordinates in piecewise quadratic 
% interpolation mode
\def\!qcurve #1 #2 {%
  \!start (#1,#2)
  \!Qjoin}
\def\!Qjoin#1 #2 #3 #4 {%
  \!qjoin (#1,#2) (#3,#4)             % \!qjoin  is defined in QUADRATIC
  \!ifnextchar/{\!finish}{\!Qjoin}}

% Commands to cycle through list of coordinates in piecewise linear 
% interpolation mode
\def\!lcurve #1 #2 {%
  \!start (#1,#2)
  \!Ljoin}
\def\!Ljoin#1 #2 {%
  \!ljoin (#1,#2)                    % \!ljoin  is defined in LINEAR
  \!ifnextchar/{\!finish}{\!Ljoin}}

\def\!finish/{\ignorespaces}

% Command to cycle through list of coordinates in histogram mode
\def\!hcurve #1 #2 {%
  \edef\!hxS{#1}%
  \edef\!hyS{#2}%
  \!hjoin}
\def\!hjoin#1 #2 {%
  \putrectangle corners at {\!hxS} {\!hyS} and {#1} {#2}
  \edef\!hxS{#1}%
  \!ifnextchar/{\!finish}{\!hjoin}}


% \vshade: See Subsection 7.3 of the manual.
\def\vshade #1 #2 #3 {%
  \!startvshade (#1,#2,#3)
  \!Shadewhat}

% \hshade: See Subsection 7.4 of the manual.
\def\hshade #1 #2 #3 {%
  \!starthshade (#1,#2,#3)
  \!Shadewhat}

% Commands to cycle through coordinates and optional "edge effect"
% fields while shading.
\def\!Shadewhat{%
  \futurelet\!nextchar\!Shade}
\def\!Shade{%
  \if <\!nextchar
    \def\!nextShade{\!!Shade}%
  \else
    \if /\!nextchar
      \def\!nextShade{\!finish}%
    \else
      \def\!nextShade{\!!!Shade}%
    \fi
  \fi
  \!nextShade}
\def\!!lShade<#1> #2 #3 #4 {%
  \!lshade <#1> (#2,#3,#4)                 % \!lshade is defined in SHADING
  \!Shadewhat}
\def\!!!lShade#1 #2 #3 {%
  \!lshade (#1,#2,#3)
  \!Shadewhat} 
\def\!!qShade<#1> #2 #3 #4 #5 #6 #7 {%
  \!qshade <#1> (#2,#3,#4) (#5,#6,#7)      % \!qshade is defined in SHADING
  \!Shadewhat}
\def\!!!qShade#1 #2 #3 #4 #5 #6 {%
  \!qshade (#1,#2,#3) (#4,#5,#6)
  \!Shadewhat} 

% ** Set default interpolation mode
\setlinear


%  ********************************************
%  *** DASHPATTERNS (Sets up dash patterns) ***
%  ********************************************

%  **  User commands:
%  **    \setdashpattern <DIMEN1,DIMEN2,DIMEN3,...>
%  **    \setdots <INTRADOT_DISTANCE>
%  **    \setdotsnear <INTRADOT_DISTANCE> for <ARC LENGTH>
%  **    \setdashes <DASH/SKIP_DISTANCE>
%  **    \setdashesnear <DASH/SKIP_DISTANCE> for <ARC LENGTH>
%  **    \setsolid
%  **    \findlength {CURVE CMDS}
 
%  **  Internal commands:
%  **    \!dashingon
%  **    \!dashingoff
 
%  **  Dash patterns are specified by a balanced token list whose complete
%  **    expansion has the form: DIMEN1,DIMEN2,DIMEN3,DIMEN4,... ; this produces
%  **    an arc of length DIMEN1, a skip of length DIMEN2, an arc of length
%  **    DIMEN3, a skip of length DIMEN4, ... .  Any number of DIMEN values may
%  **    be given. The pattern is repeated as many times (perhaps fractional)
%  **    as necessary to draw the curve. 
%  **  A dash pattern remains in effect until it is overridden by a call to
%  **    \setdashpattern, or to \setdots, \setdotsnear ... , \setdashes, 
%  **    \setdashesnear ... , or \setsolid.
%  **  Solid lines are the default.
 
 
%  **  \def\setdashpattern <DIMEN1,DIMEN2,DIMEN3,...>
%  **  The following routine converts a balanced list of tokens whose
%  **  complete expansion has the form  DIMEN1,DIMEN2, ... , DIMENk  into 
%  **  three list macros that are used in drawing dashed rules and curves:
%  **    !Flist:   \!Rule{DIMEN1}\!Skip{DIMEN2}\!Rule{DIMEN3}\!Skip{DIMEN4} ...
%  **    !Blist:   ...\!Skip{DIMEN4}\!Rule{DIMEN3}\!Skip{DIMEN2}\!Rule{DIMEN1}
%  **    !UDlist:  \\{DIMEN1}\\{DIMEN2}\\{DIMEN3}\\{DIMEN4} ...;
%  **  calculates \!leaderlength := DIMEN1 + ... + DIMENk; and
%  **  sets the curve drawing routines to dash mode.
%  **  Those lists are used by the curve drawing routines.
%  **  Dimenj ... may be given as an explicit dimension (e.g., 5pt), or
%  **  as an expression involving a dimension register (e.g., -2.5\dimen0).
%  **  See Subsection 6.2 of the manual
\def\setdashpattern <#1>{%
  \def\!Flist{}\def\!Blist{}\def\!UDlist{}%
  \!countA=0
  \!ecfor\!item:=#1\do{%
    \!dimenA=\!item\relax
    \expandafter\!rightappend\the\!dimenA\withCS{\\}\to\!UDlist%
    \advance\!countA  1
    \ifodd\!countA
      \expandafter\!rightappend\the\!dimenA\withCS{\!Rule}\to\!Flist%
      \expandafter\!leftappend\the\!dimenA\withCS{\!Rule}\to\!Blist%
    \else 
      \expandafter\!rightappend\the\!dimenA\withCS{\!Skip}\to\!Flist%
      \expandafter\!leftappend\the\!dimenA\withCS{\!Skip}\to\!Blist%
    \fi}%
  \!leaderlength=\!zpt
  \def\!Rule##1{\advance\!leaderlength  ##1}%
  \def\!Skip##1{\advance\!leaderlength  ##1}%
  \!Flist%
  \ifdim\!leaderlength>\!zpt 
  \else
    \def\!Flist{\!Skip{24in}}\def\!Blist{\!Skip{24in}}\ignorespaces
    \def\!UDlist{\\{\!zpt}\\{24in}}\ignorespaces
    \!leaderlength=24in
  \fi
  \!dashingon}   
 
 
%  **  \!dashingon  -- puts the curve drawing routines into dash mode
%  **  \!dashingoff -- puts the curve drawing routines into solid mode
%  **  These are internal commands, invoked by \setdashpattern and \setsolid
\def\!dashingon{%
  \def\!advancedashing{\!!advancedashing}%
  \def\!drawlinearsegment{\!lineardashed}%
  \def\!puthline{\!putdashedhline}%
  \def\!putvline{\!putdashedvline}%
%  \def\!putsline{\!putdashedsline}%
  \ignorespaces}% 
\def\!dashingoff{%
  \def\!advancedashing{\relax}%
  \def\!drawlinearsegment{\!linearsolid}%
  \def\!puthline{\!putsolidhline}%
  \def\!putvline{\!putsolidvline}%
%  \def\!putsline{\!putsolidsline}%
  \ignorespaces}
 
 
%  **  \setdots <LENGTH>  --  sets up a dot/skip pattern where dot (actually
%  **    the current plotsymbol) is plunked down once for every LENGTH 
%  **    traveled along the curve.  LENGTH defaults to 5pt.
%  **    See Subsection 6.1 of the manual.
\def\setdots{%
  \!ifnextchar<{\!setdots}{\!setdots<5pt>}}
\def\!setdots<#1>{%
  \!dimenB=#1\advance\!dimenB -\plotsymbolspacing
  \ifdim\!dimenB<\!zpt
    \!dimenB=\!zpt
  \fi
\setdashpattern <\plotsymbolspacing,\!dimenB>}
 
% ** \setdotsnear <LENGTH> for <ARC LENGTH>
% ** sets up a dot pattern where the dots are approximately LENGTH apart,
% ** the total length of the pattern is ARC LENGTH, and the pattern
% ** begins and ends with a dot. See Subsection 6.3 of the manual.
\def\setdotsnear <#1> for <#2>{%
  \!dimenB=#2\relax  \advance\!dimenB -.05pt  
  \!dimenC=#1\relax  \!countA=\!dimenC 
  \!dimenD=\!dimenB  \advance\!dimenD .5\!dimenC  \!countB=\!dimenD
  \divide \!countB  \!countA
  \ifnum 1>\!countB 
    \!countB=1
  \fi
  \divide\!dimenB  \!countB
  \setdots <\!dimenB>}
 
%  **  \setdashes <LENGTH>  --  sets up a dash/skip pattern where the dash
%  **    and the skip are each of length LENGTH (the dash is formed by
%  **    plunking down the current plotsymbol over an arc of length LENGTH
%  **    and so may actually be longer than LENGTH.  LENGTH defaults to 5pt.
%  **    See Subsection 6.1 of the manual.
\def\setdashes{%
  \!ifnextchar<{\!setdashes}{\!setdashes<5pt>}}
\def\!setdashes<#1>{\setdashpattern <#1,#1>}
 
% ** \setdashesnear ...
% ** Like \setdotsnear; the pattern begins and ends with a dash.
% ** See Subsection 6.3 of the manual.
\def\setdashesnear <#1> for <#2>{%
  \!dimenB=#2\relax  
  \!dimenC=#1\relax  \!countA=\!dimenC 
  \!dimenD=\!dimenB  \advance\!dimenD .5\!dimenC  \!countB=\!dimenD
  \divide \!countB  \!countA
  \ifodd \!countB 
  \else 
    \advance \!countB  1
  \fi
  \divide\!dimenB  \!countB
  \setdashes <\!dimenB>}
 
%  **  \setsolid  --  puts the curve drawing routines in "solid line" mode,
%  **    the default mode.  See Subsection 6.1 of the manual.
\def\setsolid{%
  \def\!Flist{\!Rule{24in}}\def\!Blist{\!Rule{24in}}%  
  \def\!UDlist{\\{24in}\\{\!zpt}}%
  \!dashingoff}  
\setsolid

%  **  \findlength {CURVE CMDS}
%  **  PiCTeX executes the \start, \ljoin, and \qjoin cmds comprising
%  **  CURVE CMDS without plotting anything, but stashes the length
%  **  of the phantom curve away in \totalarclength.
%  **  See Subsection 6.3 of the manual.
\def\findlength#1{%
  \begingroup
    \setdashpattern <0pt, \maxdimen>
    \setplotsymbol ({})  
    \dontsavelinesandcurves
    #1%
  \endgroup
  \ignorespaces}


% *************************************************************
% *** DIVISION  (Does long division of dimension registers) ***
% *************************************************************
 
% ** User command:
% **   \Divide {DIVIDEND} by {DIVISOR} forming {RESULT}
  
% ** Internal command
% **   \!divide{DIVIDEND}{DIVISOR}{RESULT}
 
% **  \!divide DIVIDEND [by] DIVISOR [to get] ANSWER
% **  Divides the dimension DIVIDEND by the dimension DIVISOR, placing the 
% **  quotient in the dimension register ANSWER.  Values are understood to 
% **  be in points.  E.g.  12.5pt/1.4pt=8.92857pt.
% **  Quotient is accurate to 1/65536pt=2**[-16]pt
% **  |DIVISOR| should be < 2048pt (about 28 inches).
\def\!divide#1#2#3{%
  \!dimenB=#1%                      **  dimB  holds current remainder (r)
  \!dimenC=#2%                      **  dimC  holds divisor (d)
  \!dimenD=\!dimenB%                **  dimD  holds quotient q=r/d for this 
  \divide \!dimenD \!dimenC%        **    step, in units of scaled pts
  \!dimenA=\!dimenD%                **  dimA  eventually holds answer (a)
  \multiply\!dimenD \!dimenC%       **  r <-- r - dq
  \advance\!dimenB -\!dimenD%       **  First step complete. Have integer part
%                                   **  of a, and corresponding remainder.
  \!dimenD=\!dimenC%                **  Temporarily use dimD to hold |d|
    \ifdim\!dimenD<\!zpt \!dimenD=-\!dimenD 
  \fi
  \ifdim\!dimenD<64pt%              **  Branch on the magnitude of |d|
    \!divstep[\!tfs]\!divstep[\!tfs]%
  \else 
    \!!divide
  \fi
  #3=\!dimenA\ignorespaces}

% **  The following code handles divisors  d  with 
% **    (1)  .88in =  64pt <= d <  256pt =  3.54in
% **    (2) 3.54in = 256pt <= d < 2048pt = 28.34in
% **  Anything bigger than that may result in an overflow condition.
% **  For our purposes, we should never even see case (2).
\def\!!divide{%
  \ifdim\!dimenD<256pt
    \!divstep[64]\!divstep[32]\!divstep[32]%
  \else 
    \!divstep[8]\!divstep[8]\!divstep[8]\!divstep[8]\!divstep[8]%
    \!dimenA=2\!dimenA
  \fi}
 
 
% **  The following macro does the real long division work.
\def\!divstep[#1]{%                 **  #1 = "B"
  \!dimenB=#1\!dimenB%              **  r <-- B*r
  \!dimenD=\!dimenB%                **  dimD  holds quotient q=r/d for this 
    \divide \!dimenD by \!dimenC%   **    step, in units of scaled pts
  \!dimenA=#1\!dimenA%              **  a <-- B*a + q
    \advance\!dimenA by \!dimenD%
  \multiply\!dimenD by \!dimenC%    **  r <-- r - dq
    \advance\!dimenB by -\!dimenD}
 
% **  \Divide:  See Subsection 9.3 of the manual.
\def\Divide <#1> by <#2> forming <#3> {%
  \!divide{#1}{#2}{#3}}


% *********************************************
% *** ELLIPSES (Draws ellipses and circles) ***
% *********************************************
 
% ** User commands
% **   \ellipticalarc  axes ratio A:B  DEGREES degrees from XSTART YSTART 
% **      center at XCENTER YCENTER 
% **   \circulararc DEGREES degrees from XSTART YSTART 
% **      center at XCENTER YCENTER 
 
% ** Internal command
% **   \!sinandcos{32*ANGLE in radians}{32*SIN}{32*COS}
 
 
% **   \ellipticalarc  axes ratio A:B  DEGREES degrees from XSTART YSTART 
% **      center at XCENTER YCENTER 
% **    Draws a elliptical arc starting at the coordinate point (XSTART,YSTART).
% **    The center of the ellipse of which the arc is a segment is at 
% **      (XCENTER,YCENTER).
% **    The arc extends through an angle of DEGREES degrees (may be + or -).
% **    A:B is the ratio of the length of the xaxis to the length of
% **      the yaxis of the ellipse
% **    Sqrt{[(XSTART-XCENTER)/A]**2 + [(YSTART-YCENTER)/B]**2}
% **      must be < 512pt (about 7in).
% **    Doesn't modify the dimensions (ht, dp, wd) of the PiCture under
% **      construction.
 
% ** \circulararc  --  See Subsection 5.3 of the manual.
\def\circulararc{%
  \ellipticalarc axes ratio 1:1 }

% ** \ellipticalarc  --  See Subsection 5.3 of the manual.
\def\ellipticalarc axes ratio #1:#2 #3 degrees from #4 #5 center at #6 #7 {%
  \!angle=#3pt\relax%                    ** get angle
  \ifdim\!angle>\!zpt 
    \def\!sign{}%                        ** counterclockwise
  \else 
    \def\!sign{-}\!angle=-\!angle%       ** clockwise
  \fi
  \!xxloc=\!M{#6}\!xunit%                ** convert CENTER to dimension
  \!yyloc=\!M{#7}\!yunit     
  \!xxS=\!M{#4}\!xunit%                  ** get STARTing point on rim of ellipse
  \!yyS=\!M{#5}\!yunit
  \advance\!xxS -\!xxloc%                ** make center of ellipse (0,0)
  \advance\!yyS -\!yyloc
  \!divide\!xxS{#1pt}\!xxS %             ** scale point on ellipse to point on 
  \!divide\!yyS{#2pt}\!yyS %                 corresponding circle
%
  \let\!MC=\!M%                          ** save current c/d mode
  \!setdimenmode%                        ** go into dimension mode
%
  \!xS=#1\!xxS  \advance\!xS\!xxloc
  \!yS=#2\!yyS  \advance\!yS\!yyloc
  \!start (\!xS,\!yS)%
  \!loop\ifdim\!angle>14.9999pt%         ** draw in major portion of ellipse 
    \!rotate(\!xxS,\!yyS)by(\!cos,\!sign\!sin)to(\!xxM,\!yyM) 
    \!rotate(\!xxM,\!yyM)by(\!cos,\!sign\!sin)to(\!xxE,\!yyE)
    \!xM=#1\!xxM  \advance\!xM\!xxloc  \!yM=#2\!yyM  \advance\!yM\!yyloc
    \!xE=#1\!xxE  \advance\!xE\!xxloc  \!yE=#2\!yyE  \advance\!yE\!yyloc
    \!qjoin (\!xM,\!yM) (\!xE,\!yE)
    \!xxS=\!xxE  \!yyS=\!yyE 
    \advance \!angle -15pt
  \repeat
  \ifdim\!angle>\!zpt%                   ** complete remaining arc, if any
    \!angle=100.53096\!angle%            ** convert angle to radians, divide
    \divide \!angle 360 %                **   by 2, and multiply by 32
    \!sinandcos\!angle\!!sin\!!cos%      ** get 32*sin & 32*cos
    \!rotate(\!xxS,\!yyS)by(\!!cos,\!sign\!!sin)to(\!xxM,\!yyM) 
    \!rotate(\!xxM,\!yyM)by(\!!cos,\!sign\!!sin)to(\!xxE,\!yyE)
    \!xM=#1\!xxM  \advance\!xM\!xxloc  \!yM=#2\!yyM  \advance\!yM\!yyloc
    \!xE=#1\!xxE  \advance\!xE\!xxloc  \!yE=#2\!yyE  \advance\!yE\!yyloc
    \!qjoin (\!xM,\!yM) (\!xE,\!yE)
  \fi
%
  \let\!M=\!MC%                          ** restore c/d mode
  \ignorespaces}%                        **   if appropriate
 
 
%  ** \!rotate(XREG,YREG)by(32cos,32sin)to(XXREG,YYREG)
%  ** rotates (XREG,YREG) by angle with specfied scaled cos & sin to
%  ** (XXREG,YYREG).  Uses \!dimenA & \!dimenB as scratch registers.
\def\!rotate(#1,#2)by(#3,#4)to(#5,#6){% 
  \!dimenA=#3#1\advance \!dimenA -#4#2%   ** Rcos(x+t)=Rcosx*cost - Rsinx*sint
  \!dimenB=#3#2\advance \!dimenB  #4#1%   ** Rsin(x+t)=Rsinx*cost + Rcosx*sint
  \divide \!dimenA 32  \divide \!dimenB 32 
  #5=\!dimenA  #6=\!dimenB
  \ignorespaces}
\def\!sin{4.17684}%                       ** 32*sin(pi/24) (pi/24=7.5deg)
\def\!cos{31.72624}%                      ** 32*cos(pi/24)
 
 
%  ** \!sinandcos{32*ANGLE in radians}{\SINCS}{\COSCS}
%  **   Computes the 32*sine and 32*cosine of a small ANGLE expressed in 
%  **   radians/32 and puts these values in the replacement texts of 
%  **   \SINCS and \COSCS
\def\!sinandcos#1#2#3{%
 \!dimenD=#1%                **  angle is expressed in radians/32: 1pt = 1/32rad
 \!dimenA=\!dimenD%          **  dimA will eventually contain 32sin(angle)in pts
 \!dimenB=32pt%              **  dimB will eventually contain 32cos(angle)in pts
 \!removept\!dimenD\!value%  **  get value of 32*angle, without "pt"
 \!dimenC=\!dimenD%          **  holds 32*angle**i/i! in pts
 \!dimenC=\!value\!dimenC \divide\!dimenC by 64 %   ** now 32*angle**2/2
 \advance\!dimenB by -\!dimenC%                     ** 32-32*angle**2/2
 \!dimenC=\!value\!dimenC \divide\!dimenC by 96 %   ** now 32*angle**3/3!
 \advance\!dimenA by -\!dimenC%                     ** now 32*(angle-angle**3/6)
 \!dimenC=\!value\!dimenC \divide\!dimenC by 128 %  ** now 32*angle**4/4!
 \advance\!dimenB by \!dimenC%
 \!removept\!dimenA#2%                              ** set 32*sin(angle)
 \!removept\!dimenB#3%                              ** set 32*cos(angle)
 \ignorespaces}


% *****************************************************************
% ***  RULES  (Draws rules, i.e., horizontal & vertical lines)  ***
% *****************************************************************

% **  User command:
% **    \putrule [<XDIMEN,YDIMEN>] from  XCOORD1 YCOORD1 
% **      to  XCOORD2 YCOORD2 

% **  Internal commands:
% **    \!puthline [<XDIMEN,YDIMEN>]    (h = horizontal)
% **      Set by dashpat to either: \!putsolidhline  or \!putdashedhline
% **    \!putvline [<XDIMEN,YDIMEN>]    (v = vertical)
% **      Either:  \!putsolidvline  or  \!putdashedvline


% **  \putrule [<XDIMEN,YDIMEN>] from XCOORD1 YCOORD1
% **    to XCOORD2 YCOORD2
% **  Draws a rule -- dashed or solid depending on the current dash pattern --
% **    from (X1,Y1) to (X2,Y2).  Uses TEK's  \hrule & \vrule & \leaders  
% **    constructions to handle horizontal & vertical lines efficiently both
% **    in terms of execution time and space in the DVI file.  
% **  See Subsection 4.1 of the manual.
\def\putrule#1from #2 #3 to #4 #5 {%
  \!xloc=\!M{#2}\!xunit  \!xxloc=\!M{#4}\!xunit%   
  \!yloc=\!M{#3}\!yunit  \!yyloc=\!M{#5}\!yunit%           
  \!dxpos=\!xxloc  \advance\!dxpos by -\!xloc
  \!dypos=\!yyloc  \advance\!dypos by -\!yloc
%
  \ifdim\!dypos=\!zpt
    \def\!!Line{\!puthline{#1}}\ignorespaces
  \else
    \ifdim\!dxpos=\!zpt
      \def\!!Line{\!putvline{#1}}\ignorespaces
    \else 
       \def\!!Line{}
    \fi
  \fi
  \let\!ML=\!M%           ** save current coord\dimen mode
  \!setdimenmode%         ** express locations in dimens
  \!!Line%
  \let\!M=\!ML%           ** restore previous c/d mode
  \ignorespaces}
 
 
% **  \!putsolidhline [<XDIMEN,YDIMEN>]
% **  Place horizontal solid line
\def\!putsolidhline#1{%
  \ifdim\!dxpos>\!zpt 
    \put{\!hline\!dxpos}#1[l] at {\!xloc} {\!yloc}
  \else 
    \put{\!hline{-\!dxpos}}#1[l] at {\!xxloc} {\!yyloc}
  \fi
  \ignorespaces}
 
% **  \!putsolidvline [shifted <XDIMEN,YDIMEN>]
% **  Place vertical solid line
\def\!putsolidvline#1{%
  \ifdim\!dypos>\!zpt 
    \put{\!vline\!dypos}#1[b] at {\!xloc} {\!yloc}
  \else 
    \put{\!vline{-\!dypos}}#1[b] at {\!xxloc} {\!yyloc}
  \fi
  \ignorespaces}
 
\def\!hline#1{\hbox to #1{\leaders \hrule height\linethickness\hfill}}
\def\!vline#1{\vbox to #1{\leaders \vrule width\linethickness\vfill}}
 
 
% **  \!putdashedhline [<XDIMEN,YDIMEN>]
% **  Place dashed horizontal line
\def\!putdashedhline#1{%
  \ifdim\!dxpos>\!zpt 
    \!DLsetup\!Flist\!dxpos
    \put{\hbox to \!totalleaderlength{\!hleaders}\!hpartialpattern\!Rtrunc}
      #1[l] at {\!xloc} {\!yloc} 
  \else 
    \!DLsetup\!Blist{-\!dxpos}
    \put{\!hpartialpattern\!Ltrunc\hbox to \!totalleaderlength{\!hleaders}}
      #1[r] at {\!xloc} {\!yloc} 
  \fi
  \ignorespaces}
 
% **  \!putdashedhline [<XDIMEN,YDIMEN>]
% **  Place dashed vertical line
\def\!putdashedvline#1{%
  \!dypos=-\!dypos%            ** vertical leaders go from top to bottom
  \ifdim\!dypos>\!zpt 
    \!DLsetup\!Flist\!dypos 
    \put{\vbox{\vbox to \!totalleaderlength{\!vleaders}
      \!vpartialpattern\!Rtrunc}}#1[t] at {\!xloc} {\!yloc} 
  \else 
    \!DLsetup\!Blist{-\!dypos}
    \put{\vbox{\!vpartialpattern\!Ltrunc
      \vbox to \!totalleaderlength{\!vleaders}}}#1[b] at {\!xloc} {\!yloc} 
  \fi
  \ignorespaces}
 

% **  The rest of the macros in this section are subroutines used by 
% **  \!putdashedhline and \!putdashedvline.
\def\!DLsetup#1#2{%            ** Dashed-Line set up
  \let\!RSlist=#1%             ** set !Rule-Skip list
  \!countB=#2%                 ** convert rule length to integer (number of sps)
  \!countA=\!leaderlength%     ** ditto, leaderlength
  \divide\!countB by \!countA% ** number of complete leader units
  \!totalleaderlength=\!countB\!leaderlength
  \!Rresiduallength=#2%
  \advance \!Rresiduallength by -\!totalleaderlength%  \** excess length
  \!Lresiduallength=\!leaderlength
  \advance \!Lresiduallength by -\!Rresiduallength
  \ignorespaces}
 
\def\!hleaders{%
  \def\!Rule##1{\vrule height\linethickness width##1}%
  \def\!Skip##1{\hskip##1}%
  \leaders\hbox{\!RSlist}\hfill}
 
\def\!hpartialpattern#1{%
  \!dimenA=\!zpt \!dimenB=\!zpt 
  \def\!Rule##1{#1{##1}\vrule height\linethickness width\!dimenD}%
  \def\!Skip##1{#1{##1}\hskip\!dimenD}%
  \!RSlist}
 
\def\!vleaders{%
  \def\!Rule##1{\hrule width\linethickness height##1}%
  \def\!Skip##1{\vskip##1}%
  \leaders\vbox{\!RSlist}\vfill}
 
\def\!vpartialpattern#1{%
  \!dimenA=\!zpt \!dimenB=\!zpt 
  \def\!Rule##1{#1{##1}\hrule width\linethickness height\!dimenD}%
  \def\!Skip##1{#1{##1}\vskip\!dimenD}%
  \!RSlist}
 
\def\!Rtrunc#1{\!trunc{#1}>\!Rresiduallength}
\def\!Ltrunc#1{\!trunc{#1}<\!Lresiduallength}
 
\def\!trunc#1#2#3{%          
  \!dimenA=\!dimenB         
  \advance\!dimenB by #1%
  \!dimenD=\!dimenB  \ifdim\!dimenD#2#3\!dimenD=#3\fi
  \!dimenC=\!dimenA  \ifdim\!dimenC#2#3\!dimenC=#3\fi
  \advance \!dimenD by -\!dimenC}
 

%  ****************************************************************
%  ***  LINEAR ARC  (Draws straight lines -- solid and dashed)  ***
%  ****************************************************************
 
%  **  User commands
%  **    \inboundscheckoff
%  **    \inboundscheckon
   
%  **  Internal commands 
%  **    \!start (XCOORD,YCOORD)
%  **    \!ljoin (XCOORD,YCOORD)
%  **    \!drawlinearsegment  --  set by \dashpat to either
%  **      \!linearsolid  or  \!lineardashed
%  **    \!advancedashing     --  set by \dashpat to either
%  **       \relax  or  \!!advancedashing
%  **    \!plotifinbounds     --  set by \inboundscheck off/on to either
%  **       \!plot  or  \!!plotifinbounds
%  **    \!initinboundscheck  --  set by \inboundscheck off/on to either
%  **       \relax  or  \!!initinboundscheck
 
 
%  \plotsymbolspacing  ** distance between consecutive plot positions
%  \!xS                ** starting x
%  \!yS                ** starting y
%  \!xE                ** ending   x
%  \!yE                ** ending   y
%  \!xdiff             ** x_end - x_start
%  \!ydiff             ** y_end - y_start
%  \!distacross        ** how far along curve next point to be plotted is
%  \!arclength         ** approximate length of arc for current interval
%  \!downlength        ** remaining length for "pen" to be down    
%  \!uplength          ** length for "pen" to be down    
%  \!intervalno        ** counts segments to curve
%  \totalarclength     ** cumulative distance along curve
%  \!npoints           ** approximately  (arc length / plotsymbolspacing)
 
%  **  Calls -- \!Pythag, \!divide, \!plot
 
 
%  **  \!start (XCOORD,YCOORD)
%  **  Sets initial point for linearly (or quadratically) interpolated curve
\def\!start (#1,#2){%
  \!plotxorigin=\!xorigin  \advance \!plotxorigin by \!plotsymbolxshift
  \!plotyorigin=\!yorigin  \advance \!plotyorigin by \!plotsymbolyshift
  \!xS=\!M{#1}\!xunit \!yS=\!M{#2}\!yunit
  \!rotateaboutpivot\!xS\!yS
  \!copylist\!UDlist\to\!!UDlist% **\!UDlist has the form \\{dimen1}\\{dimen2}..
%                                 ** Routine will draw dashed line with pen
%                                 ** down for dimen1, up for dimen2, ...
  \!getnextvalueof\!downlength\from\!!UDlist
  \!distacross=\!zpt%             ** 1st point goes at start of curve
  \!intervalno=0 %                ** initialize interval counter
  \global\totalarclength=\!zpt%   ** initialize distance traveled along curve
  \ignorespaces}
 

%  **  \!ljoin (XCOORD,YCOORD) 
%  **  Draws a straight line starting at the last point specified
%  **    by the most recent \!start, \!ljoin, or \!qjoin, and
%  **    ending at (XCOORD,YCOORD).
\def\!ljoin (#1,#2){%
  \advance\!intervalno by 1
  \!xE=\!M{#1}\!xunit \!yE=\!M{#2}\!yunit
  \!rotateaboutpivot\!xE\!yE
  \!xdiff=\!xE \advance \!xdiff by -\!xS%**  xdiff = xE - xS
  \!ydiff=\!yE \advance \!ydiff by -\!yS%**  ydiff = yE - yS
  \!Pythag\!xdiff\!ydiff\!arclength%     **  arclength = sqrt(xdiff**2+ydiff**2) 
  \global\advance \totalarclength by \!arclength%
  \!drawlinearsegment%   ** set by dashpat to \!linearsolid or \!lineardashed
  \!xS=\!xE \!yS=\!yE%   ** shift ending points to starting points
  \ignorespaces}
 
 
% **  The following routine is used to draw a "solid" line between (xS,yS)
% **  and (xE,yE).  Points are spaced nearly every  \plotsymbolspacing length
% **  along the line.  
\def\!linearsolid{%
  \!npoints=\!arclength
  \!countA=\plotsymbolspacing
  \divide\!npoints by \!countA%      ** now #pts =. arclength/plotsymbolspacing
  \ifnum \!npoints<1 
    \!npoints=1 
  \fi
  \divide\!xdiff by \!npoints
  \divide\!ydiff by \!npoints
  \!xpos=\!xS \!ypos=\!yS
%
  \loop\ifnum\!npoints>-1
    \!plotifinbounds
    \advance \!xpos by \!xdiff
    \advance \!ypos by \!ydiff
    \advance \!npoints by -1
  \repeat
  \ignorespaces}
 
 
% ** The following routine is used to draw a dashed line between (xS,yS)
% ** and (xE,yE). The dash pattern continues from the previous segment.
\def\!lineardashed{%
% **
  \ifdim\!distacross>\!arclength
    \advance \!distacross by -\!arclength  %nothing to plot in this interval
%
  \else
%
    \loop\ifdim\!distacross<\!arclength
%     ** plot point, interpolating linearly in x and y
      \!divide\!distacross\!arclength\!dimenA%  ** dimA = across/arclength
      \!removept\!dimenA\!t%  ** \!t holds value in dimA, without the "pt"
      \!xpos=\!t\!xdiff \advance \!xpos by \!xS
      \!ypos=\!t\!ydiff \advance \!ypos by \!yS
      \!plotifinbounds
      \advance\!distacross by \plotsymbolspacing
      \!advancedashing
    \repeat  
%
    \advance \!distacross by -\!arclength%    ** prepare for next interval 
  \fi
  \ignorespaces}
 
 
\def\!!advancedashing{%
  \advance\!downlength by -\plotsymbolspacing
  \ifdim \!downlength>\!zpt
  \else
    \advance\!distacross by \!downlength
    \!getnextvalueof\!uplength\from\!!UDlist
    \advance\!distacross by \!uplength
    \!getnextvalueof\!downlength\from\!!UDlist
  \fi}
 
 
% ** \inboundscheckoff & \inboundscheckon: See Subsection 5.5 of the manual.
\def\inboundscheckoff{%
  \def\!plotifinbounds{\!plot(\!xpos,\!ypos)}%
  \def\!initinboundscheck{\relax}\ignorespaces}
\def\inboundscheckon{%
  \def\!plotifinbounds{\!!plotifinbounds}%
  \def\!initinboundscheck{\!!initinboundscheck}%
  \!initinboundscheck\ignorespaces} 
\inboundscheckoff
 
% ** The following code plots the current point only if it falls in the
% ** current plotarea.  It doesn't matter if the coordinate system has
% ** changed since the plotarea was set up.  However, shifts of the plot
% ** are ignored (how the plotsymbol stands relative to its plot position is
% ** unknown anyway).
\def\!!plotifinbounds{%
  \ifdim \!xpos<\!checkleft
  \else
    \ifdim \!xpos>\!checkright
    \else
      \ifdim \!ypos<\!checkbot
      \else
         \ifdim \!ypos>\!checktop
         \else
           \!plot(\!xpos,\!ypos)
         \fi 
      \fi
    \fi
  \fi}
 
 
\def\!!initinboundscheck{%
  \!checkleft=\!arealloc     \advance\!checkleft by \!xorigin
  \!checkright=\!arearloc    \advance\!checkright by \!xorigin
  \!checkbot=\!areabloc      \advance\!checkbot by \!yorigin
  \!checktop=\!areatloc      \advance\!checktop by \!yorigin}
 

% *********************************
% *** LOGTEN  (Log_10 function) ***
% *********************************
%
% ** \!logten{X}
% ** Calculates log_10 of X.  X and LOG10(X) are in fixed point notation.
% **  X must be positive; it may have an optional `+' sign; any number
% **  of digits may be specified for X.  The absolute error in LOG10(X) is
% **  less than .0001 (probably < .00006).  That's about as good as you
% **  hope for, since TEX only operates to 5 figures after the decimal
% **  point anyway.

%  \!rootten=3.162278pt       **** These are values are set in ALLOCATIONS
%  \!tenAe=2.543275pt  (=A5)
%  \!tenAc=2.773839pt  (=A3)
%  \!tenAa=8.690286pt  (=A1)

\def\!logten#1#2{%
  \expandafter\!!logten#1\!nil
  \!removept\!dimenF#2%
  \ignorespaces}

\def\!!logten#1#2\!nil{%
  \if -#1%
    \!dimenF=\!zpt
    \def\!next{\ignorespaces}%
  \else
    \if +#1%
      \def\!next{\!!logten#2\!nil}%
    \else
      \if .#1%
        \def\!next{\!!logten0.#2\!nil}%
      \else
        \def\!next{\!!!logten#1#2..\!nil}%
      \fi
    \fi
  \fi
  \!next}

\def\!!!logten#1#2.#3.#4\!nil{%
  \!dimenF=1pt %                 ** DimF holds log10 original argument
  \if 0#1%                      
    \!!logshift#3pt %            ** Argument < 1
  \else %                        ** Argument >= 1
    \!logshift#2/%               ** Shift decimal pt as many places
    \!dimenE=#1.#2#3pt %         **   as there are figures in #2
  \fi %                          ** Now dimE holds revised X want log10 of
  \ifdim \!dimenE<\!rootten%          ** Transform X to XX between sqrt(10) 
    \multiply \!dimenE 10 %           **   and 10*sqrt(10)
    \advance  \!dimenF -1pt
  \fi
  \!dimenG=\!dimenE%                  ** dimG <- (XX + 10)
    \advance\!dimenG 10pt
  \advance\!dimenE -10pt %            ** dimE <- (XX - 10)
  \multiply\!dimenE 10 %              ** dimE = 10*(XX-10)
  \!divide\!dimenE\!dimenG\!dimenE%   ** Now dimE=10t==10*(XX-10)/(XX+10)
  \!removept\!dimenE\!t%              ** !t=10t, with "pt" removed
  \!dimenG=\!t\!dimenE%               ** dimG=100t**2
  \!removept\!dimenG\!tt%             ** !tt=100t**2, with "pt" removed
  \!dimenH=\!tt\!tenAe%               ** dimH=10*a5*(10t)**2 /100
    \divide\!dimenH 100
  \advance\!dimenH \!tenAc%           ** ditto + 10*a3
  \!dimenH=\!tt\!dimenH%              ** ditto * (10t)**2 /100
    \divide\!dimenH 100   
  \advance\!dimenH \!tenAa%           ** ditto + 10*a1
  \!dimenH=\!t\!dimenH%               ** ditto * 10t / 100
    \divide\!dimenH 100 %             ** Now dimH = log10(XX) - 1
  \advance\!dimenF \!dimenH}%         ** dimF = log10(X)

\def\!logshift#1{%
  \if #1/%
    \def\!next{\ignorespaces}%
  \else
    \advance\!dimenF 1pt 
    \def\!next{\!logshift}%
  \fi 
  \!next}
 
 \def\!!logshift#1{%
   \advance\!dimenF -1pt
   \if 0#1%
     \def\!next{\!!logshift}%
   \else
     \if p#1%
       \!dimenF=1pt
       \def\!next{\!dimenE=1p}%
     \else
       \def\!next{\!dimenE=#1.}%
     \fi
   \fi
   \!next}


% ***********************************************************
% *** PICTURES (Basic setups for PiCtures; \put commands) ***
% ***********************************************************
 
% **  User Commands:
% **    \beginpicture
% **    \endpicture    
% **    \endpicturesave <XREG,YREG>
% **    \setcoordinatesystem units <XUNIT,YUNIT> point at XREF YREF
% **    \put {OBJECT} [ORIENTATION] <XSHIFT,YSHIFT> at XCOORD YCOORD
% **    \multiput {OJBECT} [ORIENTATION] <XSHIFT,YSHIFT>) at
% **      XCOORD YCOORD
% **      *NUMBER_OF_TIMES DXCOORD DYCOORD  /
% **    \accountingon
% **    \accountingoff
% **    \stack [ORIENTATION] <LEADING> {LIST OF ITEMS}
% **    \lines [ORIENTATION] {LINES}
% **    \Lines [ORIENTATION] {LINES}
% **    \setdimensionmode
% **    \setcoordinatemode
% **    \Xdistance
% **    \Ydistance
  
% **  Internal commands:
% **    \!setputobject{OBJECT}{[ORIENTATION]<XSHIFT,YSHIFT>}
% **    \!dimenput{OBJECT}[ORIENTATION]<XSHIFT,YSHIFT>(XDIMEN,YDIMEN)
% **    \!setdimenmode
% **    \!setcoordmode
% **    \!ifdimenmode
% **    \!ifcoordmode
  
 
% **  \beginpicture
% **  \endpicture
% **  \endpicturesave <XREG,YREG>
% **    \beginpicture ... \endpicture  creates an hbox.  Objects are
% **    placed in this box using the \put command and the like (see below).
% **    The location of an object is specified in terms of coordinate system(s)
% **    established by \setcoordinatesystem.  Each coordinate system (there
% **    might be just one) specifies the length of 1 horizontal unit, the length
% **    of 1 vertical unit, and the coordinates of a "reference point".  The
% **    reference points of various coordinate systems will be in the same
% **    physical location.  The macros keep track of the size of the objects
% **    and their locations. The resulting hbox is the smallest hbox which
% **    encloses all the objects, and whose TEK reference point is the point
% **    on the left edge of the box closest vertically to the PICTEX reference
% **    point. Using \endpicturesave, you can (globally) save the distance TEK's
% **    reference point is to the right (respectively, up from) PICTEX's 
% **    reference point in the dimension register \XREG (respectively \YREG). 
% **    You can then \put the picture OBJECT into a larger picture so that its
% **    reference point is at (XCOORD,YCOORD) with the command
% **      \put {picture OBJECT} [Bl] <\XREG, \YREG> at  XCOORD YCOORD 

% **  \beginpicture : See Subsection 1.1 of the manual.
\def\beginpicture{%
  \setbox\!picbox=\hbox\bgroup%
  \!xleft=\maxdimen  
  \!xright=-\maxdimen
  \!ybot=\maxdimen
  \!ytop=-\maxdimen}
 
% **  \endpicture : See Subsection 1.1 of the manual.
\def\endpicture{%
  \ifdim\!xleft=\maxdimen%  ** check if nothing was put in picbox
    \!xleft=\!zpt \!xright=\!zpt \!ybot=\!zpt \!ytop=\!zpt 
  \fi
  \global\!Xleft=\!xleft \global\!Xright=\!xright
  \global\!Ybot=\!ybot \global\!Ytop=\!ytop
  \egroup%
  \ht\!picbox=\!Ytop  \dp\!picbox=-\!Ybot
  \ifdim\!Ybot>\!zpt
  \else 
    \ifdim\!Ytop<\!zpt
      \!Ybot=\!Ytop
    \else
      \!Ybot=\!zpt
    \fi
  \fi
  \hbox{\kern-\!Xleft\lower\!Ybot\box\!picbox\kern\!Xright}}
 
% **  \endpicturesave : See Subsection 8.4 of the manual.
\def\endpicturesave <#1,#2>{%
  \endpicture \global #1=\!Xleft \global #2=\!Ybot \ignorespaces}
 
 
% **   \setcoordinatesystem units <XUNIT,YUNIT> 
% **     point at XREF YREF  
% **   Each of `units <XUNIT,YUNIT>' and `point at XREF YREF' 
% **     are optional.
% **   Unit lengths must be given in dimensions (e.g., <10pt,1in>).
% **     Default unit lengths are 1pt, 1pt, or previous unit lengths.
% **   Reference point is specified in current units (e.g., 3 5 ). 
% **     Default reference point is 0 0 , or previous reference point.
% **   Unit lengths and reference points obey TEX's scoping rules.
% **   See Subsection 1.2 of the manual.
\def\setcoordinatesystem{%
  \!ifnextchar{u}{\!getlengths }
    {\!getlengths units <\!xunit,\!yunit>}}
\def\!getlengths units <#1,#2>{%
  \!xunit=#1\relax
  \!yunit=#2\relax
  \!ifcoordmode 
    \let\!SCnext=\!SCccheckforRP
  \else
    \let\!SCnext=\!SCdcheckforRP
  \fi
  \!SCnext}
\def\!SCccheckforRP{%
  \!ifnextchar{p}{\!cgetreference }
    {\!cgetreference point at {\!xref} {\!yref} }}
\def\!cgetreference point at #1 #2 {%
  \edef\!xref{#1}\edef\!yref{#2}%
  \!xorigin=\!xref\!xunit  \!yorigin=\!yref\!yunit  
  \!initinboundscheck % ** See linear.tex
  \ignorespaces}
\def\!SCdcheckforRP{%
  \!ifnextchar{p}{\!dgetreference}%
    {\ignorespaces}}
\def\!dgetreference point at #1 #2 {%
  \!xorigin=#1\relax  \!yorigin=#2\relax
  \ignorespaces}

 
%  ** \put {OBJECT} [XY] <XDIMEN,YDIMEN> at (XCOORD,YCOORD)
%  **   `[XY]' and `<XDIMEN,YDIMEN>' are optional.
%  **   First OBJECT is placed in an hbox (the "objectbox") and then a
%  **     "reference point" is assigned to the objectbox as follows:
%  **     [1] first, the reference point is taken to be the center of the box;
%  **     [2] next, centering is overridden by the specifications
%  **           X=l -- reference point along the left edge of the objectbox
%  **           X=r -- reference point along the right edge of the objectbox
%  **           Y=b -- reference point along the bottom edge of the objectbox
%  **           Y=B -- reference point along the Baseline of the objectbox
%  **           Y=t -- reference point along the top edge of the objectbox;
%  **     [3] finally the reference point is shifted left by XDIMEN, down
%  **           by YDIMEN  (both default to 0pt).
%  **   The objectbox is placed within PICBOX with its reference point at  
%  **     (XCOORD,YCOORD). 
%  **   If OBJECT is a saved box, say  box0, you have to write
%  **     \put{\box0}...   or  \put{\copy0}...
%  **   The objectbox is void after the put.
%  **   See Subsection 2.1 of the manual.
\long\def\put#1#2 at #3 #4 {%
  \!setputobject{#1}{#2}%
  \!xpos=\!M{#3}\!xunit  \!ypos=\!M{#4}\!yunit  
  \!rotateaboutpivot\!xpos\!ypos%
  \advance\!xpos -\!xorigin  \advance\!xpos -\!xshift
  \advance\!ypos -\!yorigin  \advance\!ypos -\!yshift
  \kern\!xpos\raise\!ypos\box\!putobject\kern-\!xpos%
  \!doaccounting\ignorespaces}
 
%  **   \multiput etc.  Like  \put.  The objectbox is not voided until the
%  **     termininating /, and is placed repeatedly with:
%  **     XCOORD YCOORD -- the objectbox is put down with its reference point
%  **       at (XCOORD,YCOORD);
%  **     *N DXCOORD DYCOORD -- each of N times the current
%  **       (xcoord,ycoord) is incremented by (DXCOORD,DYCOORD), and the
%  **       objectbox is put down with its reference point at (xcoord,ycoord)
%  **       (This specification has to follow an XCOORD YCOORD pair)
%  **     See Subsection 2.2 of the manual.
\long\def\multiput #1#2 at {%
  \!setputobject{#1}{#2}%
  \!ifnextchar"{\!putfromfile}{\!multiput}}
\def\!putfromfile"#1"{%
  \expandafter\!multiput \input #1 /}
\def\!multiput{%
  \futurelet\!nextchar\!!multiput}
\def\!!multiput{%
  \if *\!nextchar
    \def\!nextput{\!alsoby}%
  \else
    \if /\!nextchar
      \def\!nextput{\!finishmultiput}%
    \else
      \def\!nextput{\!alsoat}%
    \fi
  \fi
  \!nextput}
\def\!finishmultiput/{%
  \setbox\!putobject=\hbox{}%
  \ignorespaces}
 
%  **   \!alsoat XCOORD YCOORD 
%  **     The objectbox is put down with reference point at XCOORD,YCOORD
\def\!alsoat#1 #2 {%
  \!xpos=\!M{#1}\!xunit  \!ypos=\!M{#2}\!yunit  
  \!rotateaboutpivot\!xpos\!ypos%
  \advance\!xpos -\!xorigin  \advance\!xpos -\!xshift
  \advance\!ypos -\!yorigin  \advance\!ypos -\!yshift
  \kern\!xpos\raise\!ypos\copy\!putobject\kern-\!xpos%
  \!doaccounting
  \!multiput}
 
% **   \!alsoby*N DXCOORD DYCOORD
% **     N times, the current (XCOORD,YCOORD) is advanced by (DXCOORD,DYCOORD),
% **     and the current (shifted, oriented) OBJECT is put down.
\def\!alsoby*#1 #2 #3 {%
  \!dxpos=\!M{#2}\!xunit \!dypos=\!M{#3}\!yunit 
  \!rotateonly\!dxpos\!dypos
  \!ntemp=#1%
  \!!loop\ifnum\!ntemp>0
    \advance\!xpos by \!dxpos  \advance\!ypos by \!dypos
    \kern\!xpos\raise\!ypos\copy\!putobject\kern-\!xpos%
    \advance\!ntemp by -1
  \repeat
  \!doaccounting 
  \!multiput}
 
% **  \accountingoff : Suspends PiCTeX's accounting of the aggregate
% **    size of the picture box.
% **  \accounting on : Reinstates accounting.
% **  See Subsection 8.2 of the manual.
\def\accountingon{\def\!doaccounting{\!!doaccounting}\ignorespaces}
\def\accountingoff{\def\!doaccounting{}\ignorespaces}
\accountingon
\def\!!doaccounting{%
  \!xtemp=\!xpos  
  \!ytemp=\!ypos
  \ifdim\!xtemp<\!xleft 
     \!xleft=\!xtemp 
  \fi
  \advance\!xtemp by  \!wd 
  \ifdim\!xright<\!xtemp 
    \!xright=\!xtemp
  \fi
  \advance\!ytemp by -\!dp
  \ifdim\!ytemp<\!ybot  
    \!ybot=\!ytemp
  \fi
  \advance\!ytemp by  \!dp
  \advance\!ytemp by  \!ht 
  \ifdim\!ytemp>\!ytop  
    \!ytop=\!ytemp  
  \fi}
 
\long\def\!setputobject#1#2{%
  \setbox\!putobject=\hbox{#1}%
  \!ht=\ht\!putobject  \!dp=\dp\!putobject  \!wd=\wd\!putobject
  \wd\!putobject=\!zpt
  \!xshift=.5\!wd   \!yshift=.5\!ht   \advance\!yshift by -.5\!dp
  \edef\!putorientation{#2}%
  \expandafter\!SPOreadA\!putorientation[]\!nil%
  \expandafter\!SPOreadB\!putorientation<\!zpt,\!zpt>\!nil\ignorespaces}
 
\def\!SPOreadA#1[#2]#3\!nil{\!etfor\!orientation:=#2\do\!SPOreviseshift}
 
\def\!SPOreadB#1<#2,#3>#4\!nil{\advance\!xshift by -#2\advance\!yshift by -#3}
 
\def\!SPOreviseshift{%
  \if l\!orientation 
    \!xshift=\!zpt
  \else 
    \if r\!orientation 
      \!xshift=\!wd
    \else 
      \if b\!orientation
        \!yshift=-\!dp
      \else 
        \if B\!orientation 
          \!yshift=\!zpt
        \else 
          \if t\!orientation 
            \!yshift=\!ht
          \fi 
        \fi
      \fi
    \fi
  \fi}
 
 
%  **  \!dimenput{OBJECT} <XDIMEN,YDIMEN> [XY] (XLOC,YLOC)
%  **    This is an internal put routine, similar to \put, except that
%  **    XLOC=distance right from reference point, YLOC=distance up from
%  **    reference point. XLOC and YLOC are dimensions, so this routine
%  **    is completely independent of the current coordinate system. 
%  **    This routine does NOT do ROTATIONS.
\long\def\!dimenput#1#2(#3,#4){%
  \!setputobject{#1}{#2}%
  \!xpos=#3\advance\!xpos by -\!xshift
  \!ypos=#4\advance\!ypos by -\!yshift
  \kern\!xpos\raise\!ypos\box\!putobject\kern-\!xpos%
  \!doaccounting\ignorespaces}
 
 
%  ** The following macros permit the picture drawing routines to be used 
%  ** either in the default "coordinate mode", or in "dimension mode".
%  **   In coordinate mode  \!M(1.5,\!xunit)    expands to  1.5\!xunit
%  **   In dimension  mode  \!M(1.5pt,\!xunit)  expands to  1.5pt
%  ** Dimension mode is useful in coding macros.
%  ** Any special purpose picture macro that sets dimension mode should 
%  ** reset coordinate mode before completion.
%  ** See Subsection 9.2 of the manual.
\def\!setdimenmode{%
  \let\!M=\!M!!\ignorespaces}
\def\!setcoordmode{%
  \let\!M=\!M!\ignorespaces}
\def\!ifcoordmode{%
  \ifx \!M \!M!}
\def\!ifdimenmode{%
  \ifx \!M \!M!!}
\def\!M!#1#2{#1#2} 
\def\!M!!#1#2{#1}
\!setcoordmode
\let\setdimensionmode=\!setdimenmode
\let\setcoordinatemode=\!setcoordmode

%  ** \Xdistance{XCOORD}, \Ydistance{YCOORD}  are the horizontal and
%  **   vertical distances from the origin (0,0) to the point
%  **   (XCOORD,YCOORD)  in the current coordinate system.
%  ** See Subsection 9.2 of the manual.
\def\Xdistance#1{%
  \!M{#1}\!xunit
  \ignorespaces}
\def\Ydistance#1{%
  \!M{#1}\!yunit
  \ignorespaces}

% ** The following macros -- \stack, \line, and \Lines -- are useful for
% **   annotating PiCtures. They can be used outside the \beginpicture ...
% **   \endpicture environment.

% ** \stack [POSITIONING] <LEADING> {VALUESLIST}
% ** Builds a vertical stack of the values in VALUESLIST. Values in
% ** VALUESLIST are separated by commas.  In the resulting stack, values are
% ** centered by default, and positioned flush left (right) if 
% ** POSITIONING = l (r).  Values are separated vertically by LEADING,
% ** which defaults to \stackleading.
% ** See Subsection 2.3 of the manual.
\def\stack{%
  \!ifnextchar[{\!stack}{\!stack[c]}}
\def\!stack[#1]{%
  \let\!lglue=\hfill \let\!rglue=\hfill
  \expandafter\let\csname !#1glue\endcsname=\relax
  \!ifnextchar<{\!!stack}{\!!stack<\stackleading>}}
\def\!!stack<#1>#2{%
  \vbox{\def\!valueslist{}\!ecfor\!value:=#2\do{%
    \expandafter\!rightappend\!value\withCS{\\}\to\!valueslist}%
    \!lop\!valueslist\to\!value
    \let\\=\cr\lineskiplimit=\maxdimen\lineskip=#1%
    \baselineskip=-1000pt\halign{\!lglue##\!rglue\cr \!value\!valueslist\cr}}%
  \ignorespaces}

% ** \lines [POSITIONING] {LINES}
% ** Builds a vertical array of the lines in LINES. Each line in LINES
% ** is terminated by a \cr.  In the resulting array, lines are
% ** centered by default, and positioned flush left (right) if 
% ** POSITIONING = l (r).  The lines in the array are subject to TeX's
% ** usual spacing rules: in particular the baselines are ordinarily an equal
% ** distance apart. The baseline of the array is the baseline of the
% ** the bottom line.
% ** See Subsection 2.3 of the manual.
\def\lines{%
  \!ifnextchar[{\!lines}{\!lines[c]}}
\def\!lines[#1]#2{%
  \let\!lglue=\hfill \let\!rglue=\hfill
  \expandafter\let\csname !#1glue\endcsname=\relax
  \vbox{\halign{\!lglue##\!rglue\cr #2\crcr}}%
  \ignorespaces}

% ** \Lines [POSITIONING] {LINES}
% ** Like \lines, but the baseline of the array is the baseline of the
% ** top line.  See Subsection 2.3 of the manual.
\def\Lines{%
  \!ifnextchar[{\!Lines}{\!Lines[c]}}
\def\!Lines[#1]#2{%
  \let\!lglue=\hfill \let\!rglue=\hfill
  \expandafter\let\csname !#1glue\endcsname=\relax
  \vtop{\halign{\!lglue##\!rglue\cr #2\crcr}}%
  \ignorespaces}


% *********************************************
% *** PLOTTING (Things to do with plotting) ***
% *********************************************
 
% **  User commands
% **    \setplotsymbol ({PLOTSYMBOL} [ORIENTATION] <XSHIFT,YSHIFT>)
% **    \savelinesandcurves on "FILE_NAME"
% **    \dontsavelinesandcurves
% **    \writesavefile {MESSAGE}
% **    \replot {FILE_NAME}
 
% **  Internal command
% **    \!plot(XDIMEN,YDIMEN)
 
% **  \setplotsymbol ({PLOTSYMBOL} [ ] < , >)
% **  Save PLOTSYMBOL away in an hbox for use with curve plotting routines
% **  See Subsection 5.2 of the manual.
\def\setplotsymbol(#1#2){%
  \!setputobject{#1}{#2}
  \setbox\!plotsymbol=\box\!putobject%
  \!plotsymbolxshift=\!xshift 
  \!plotsymbolyshift=\!yshift 
  \ignorespaces}
 
\setplotsymbol({\fiverm .})%       ** initialize plotsymbol
 
 
% **  \!plot is either \!!plot (when no lines and curves are being saved) or
% **                   \!!!plot (when   lines and curves are being saved)
 
% **  \!!plot(XDIMEN,YDIMEN)
% **  Places the current plotsymbol a horizontal distance=XDIMEN-xorigin 
% **    and a vertical distance=YDIMEN-yorigin from the current
% **    reference point.  
\def\!!plot(#1,#2){%
  \!dimenA=-\!plotxorigin \advance \!dimenA by #1%    ** over
  \!dimenB=-\!plotyorigin \advance \!dimenB by #2%    ** up
  \kern\!dimenA\raise\!dimenB\copy\!plotsymbol\kern-\!dimenA%
  \ignorespaces}
 
% **  \!!!plot(XDIMEN,YDIMEN)
% **  Like \!!plot, but also saves the plot location in units of 
% **    scaled point, on file `replotfile'
\def\!!!plot(#1,#2){%
  \!dimenA=-\!plotxorigin \advance \!dimenA by #1%    ** over
  \!dimenB=-\!plotyorigin \advance \!dimenB by #2%    ** up
  \kern\!dimenA\raise\!dimenB\copy\!plotsymbol\kern-\!dimenA%
  \!countE=\!dimenA
  \!countF=\!dimenB
  \immediate\write\!replotfile{\the\!countE,\the\!countF.}%
  \ignorespaces}


% ** \savelinesandcurves on "FILE_NAME"
% **   Switch to save locations used for plotting lines and curves
% **   (No advantage in saving locations for solid lines; however
% **   replotting curve locations speeds things up by a factor of about 4. 
% ** \dontsavelinesandcurves
% **   Terminates \savelinesandcurves. The default.
% ** See Subsection 5.6 of the manual.
\def\savelinesandcurves on "#1" {%
  \immediate\closeout\!replotfile
  \immediate\openout\!replotfile=#1%
  \let\!plot=\!!!plot}

\def\dontsavelinesandcurves {%
  \let\!plot=\!!plot}
\dontsavelinesandcurves

% ** \writesavefile {MESSAGE}
% ** The message is preceded by a "%", so that it won't interfere
% ** with replotting.
% ** See Subsection 5.6 of the manual.
{\catcode`\%=11\xdef\!Commentsignal{%}}
\def\writesavefile#1 {%
  \immediate\write\!replotfile{\!Commentsignal #1}%
  \ignorespaces}

% ** \replot "FILE_NAME"
% **   Replots the locations saved earlier under \savelinesandcurves
% **   on "FILE_NAME"
% ** See Subsection 5.6 of the manual.
\def\replot"#1" {%
  \expandafter\!replot\input #1 /}
\def\!replot#1,#2. {%
  \!dimenA=#1sp
  \kern\!dimenA\raise#2sp\copy\!plotsymbol\kern-\!dimenA
  \futurelet\!nextchar\!!replot}
\def\!!replot{%
  \if /\!nextchar 
    \def\!next{\!finish}%
  \else
    \def\!next{\!replot}%
  \fi
  \!next}
% **************************************************
% ***  PYTHAGORAS  (Euclidean distance function) ***
% **************************************************

% ** User command:
% **   \placehypotenuse for <dimension1> and <dimension2> in <register> 

% ** Internal command:
% **   \!Pythag{X}{Y}{Z}
% **     Input X,Y are dimensions, or dimension registers.
% **     Output Z == sqrt(X**2+Y**2) must be a dimension register.
% **     Assumes that |X|+|Y| < 2048pt (about 28in).
 
% ** Without loss of generality, suppose  x>0, y>0.  Put s = x+y,
% **   z = sqrt(x**2+y**2). Then  z = s*f,  where  f = sqrt(t**2 + (1-t)**2)
% **   = sqrt((1+tau**2)/2), where  t = x/s  and  tau = 2(t-1/2) .
 
% ** Uses the \!divide macro (which uses registers \!dimenA--\!dimenD.
% ** Uses the \!removept macro   (e.g., 123.45pt --> 123.45)
% ** Uses registers \!dimenE--\!dimenI.
\def\!Pythag#1#2#3{%
  \!dimenE=#1\relax                                     
  \ifdim\!dimenE<\!zpt 
    \!dimenE=-\!dimenE 
  \fi%                                            ** dimE = |x|
  \!dimenF=#2\relax
  \ifdim\!dimenF<\!zpt 
    \!dimenF=-\!dimenF 
  \fi%                                            ** dimF = |y|
  \advance \!dimenF by \!dimenE%                  ** dimF = s = |x|+|y|
  \ifdim\!dimenF=\!zpt 
    \!dimenG=\!zpt%                               ** dimG = z = sqrt(x**2+y**2)
  \else 
    \!divide{8\!dimenE}\!dimenF\!dimenE%          ** now dimE = 8t = (8|x|)/s
    \advance\!dimenE by -4pt%                     ** 8tau = (8t-4)*2
      \!dimenE=2\!dimenE%                         **   (tau = 2*t - 1)
    \!removept\!dimenE\!!t%                       ** 8tau, without "pt"
    \!dimenE=\!!t\!dimenE%                        ** (8tau)**2, in pts
    \advance\!dimenE by 64pt%                     ** u = [64 + (8tau)**2]/2
    \divide \!dimenE by 2%                        **   [u = (8f)**2]
    \!dimenH=7pt%                                 ** initial guess g at sqrt(u)
    \!!Pythag\!!Pythag\!!Pythag%                  ** 3 iterations give sqrt(u)
    \!removept\!dimenH\!!t%                       ** 8f=sqrt(u), without "pt"
    \!dimenG=\!!t\!dimenF%                        ** z = (8f)*s/8
    \divide\!dimenG by 8
  \fi
  #3=\!dimenG
  \ignorespaces}

\def\!!Pythag{%                                   ** Newton-Raphson for sqrt
  \!divide\!dimenE\!dimenH\!dimenI%               ** v = u/g
  \advance\!dimenH by \!dimenI%                   ** g <-- (g + u/g)/2
    \divide\!dimenH by 2}

% **  \placehypotenuse for <XI> and <ETA> in <ZETA>
% **  See Subsection 9.3 of the manual.
\def\placehypotenuse for <#1> and <#2> in <#3> {%
  \!Pythag{#1}{#2}{#3}}


% **********************************************
% *** QUADRATIC ARC  (Draws a quadratic arc) ***
% **********************************************
 
% **  Internal command
% **    \!qjoin (XCOORD1,YCOORD1) (XCOORD2,YCOORD2)
 
% **  \!qjoin (XCOORD1,YCOORD1) (XCOORD2,YCOORD2)
% **  Draws an arc starting at the (last) point specified by the most recent
% **  \!qjoin, or \!ljoin, or \!start  and passing through (X_1,Y_1), (X_2,Y_2).
% **  Uses quadratic interpolation in both  x  and  y:  
% **    x(t), 0 <= t <= 1, interpolates  x_0, x_1, x_2  at  t=0, .5, 1
% **    y(t), 0 <= t <= 1, interpolates  y_0, y_1, y_2  at  t=0, .5, 1
 
\def\!qjoin (#1,#2) (#3,#4){%
  \advance\!intervalno by 1
  \!ifcoordmode
    \edef\!xmidpt{#1}\edef\!ymidpt{#2}%
  \else
    \!dimenA=#1\relax \edef\!xmidpt{\the\!dimenA}%
    \!dimenA=#2\relax \edef\!xmidpt{\the\!dimenA}%
  \fi
  \!xM=\!M{#1}\!xunit  \!yM=\!M{#2}\!yunit   \!rotateaboutpivot\!xM\!yM
  \!xE=\!M{#3}\!xunit  \!yE=\!M{#4}\!yunit   \!rotateaboutpivot\!xE\!yE
%
% ** Find coefficients for x(t)=a_x + b_x*t + c_x*t**2
  \!dimenA=\!xM  \advance \!dimenA by -\!xS%   ** dimA = I = xM - xS
  \!dimenB=\!xE  \advance \!dimenB by -\!xM%   ** dimB = II = xE-xM
  \!xB=3\!dimenA \advance \!xB by -\!dimenB%   ** b=3I-II
  \!xC=2\!dimenB \advance \!xC by -2\!dimenA%  ** c=2(II-I)
%
% ** Find coefficients for y(t)=y_x + b_y*t + c_y*t**2
  \!dimenA=\!yM  \advance \!dimenA by -\!yS%   
  \!dimenB=\!yE  \advance \!dimenB by -\!yM%  
  \!yB=3\!dimenA \advance \!yB by -\!dimenB%  
  \!yC=2\!dimenB \advance \!yC by -2\!dimenA% 
%
% ** Use Simpson's rule to calculate arc length over [0,1/2]:
% **   arc length = 1/2[1/6 f(0) + 4/6 f(1/4) + 1/6 f(1/2)]
% ** with f(t) = sqrt(x'(t)**2 + y'(t)**2).
  \!xprime=\!xB  \!yprime=\!yB%          ** x'(t) = b + 2ct
  \!dxprime=.5\!xC  \!dyprime=.5\!yC%    ** dt=1/4 ==> dx'(t) = c/2
  \!getf \!midarclength=\!dimenA
  \!getf \advance \!midarclength by 4\!dimenA
  \!getf \advance \!midarclength by \!dimenA
  \divide \!midarclength by 12
%
% ** Get arc length over [0,1].
  \!arclength=\!dimenA
  \!getf \advance \!arclength by 4\!dimenA
  \!getf \advance \!arclength by \!dimenA
  \divide \!arclength by 12%             ** Now have arc length over [1/2,1]
  \advance \!arclength by \!midarclength
  \global\advance \totalarclength by \!arclength
%
%
% ** Check to see if there's anything to plot in this interval
  \ifdim\!distacross>\!arclength 
    \advance \!distacross by -\!arclength%   ** nothing 
%
  \else
    \!initinverseinterp%  ** initialize for inverse interpolation on arc length
    \loop\ifdim\!distacross<\!arclength%     ** loop over points on arc 
      \!inverseinterp%    ** find  t  such that arc length[0,t] = distacross,
%                         **   using inverse quadratic interpolation
%                         ** now evaluate x(t)=(c*t + b)*t + a
      \!xpos=\!t\!xC \advance\!xpos by \!xB
        \!xpos=\!t\!xpos \advance \!xpos by \!xS
%                                             ** evaluate y(t)
      \!ypos=\!t\!yC \advance\!ypos by \!yB
        \!ypos=\!t\!ypos \advance \!ypos by \!yS
      \!plotifinbounds%                       ** plot point if in bounds
      \advance\!distacross \plotsymbolspacing%** advance arc length for next pt
      \!advancedashing%                       ** see "linear"
    \repeat  
%
    \advance \!distacross by -\!arclength%    ** prepare for next interval 
  \fi
%
  \!xS=\!xE%              ** shift ending points to starting points
  \!yS=\!yE
  \ignorespaces}
 
 
% ** \!getf -- Calculates sqrt(x'(t)**2 + y'(t)**2) and advances
% **   x'(t) and y'(t)
\def\!getf{\!Pythag\!xprime\!yprime\!dimenA%
  \advance\!xprime by \!dxprime
  \advance\!yprime by \!dyprime}
 
 
% ** \!initinverseinterp -- initializes for inverse quadratic interpolation
% ** of arc length provided  1/3 < midarclength/arclength < 2/3; otherwise
% ** initializes for inverse linear interpolation.
\def\!initinverseinterp{%
  \ifdim\!arclength>\!zpt
    \!divide{8\!midarclength}\!arclength\!dimenE% ** dimE=8w=8r/s, where  r 
%                                               **  = midarclength, s=arclength
% **  Test for  w  out of range:  w<1/3  or w>2/3
    \ifdim\!dimenE<\!wmin \!setinverselinear
    \else 
      \ifdim\!dimenE>\!wmax \!setinverselinear
      \else%                                    ** w  in range: initialize
        \def\!inverseinterp{\!inversequad}\ignorespaces
%
% **     Calculate the coefficients  \!beta  and  \!gamma  of the quadratic
% **                    t = \!beta*v + \!gamma*v**2
% **     taking the values  t=0, 1/2, 1  at  v=0, w==r/s, 1  respectively:
% **        \!beta = (1/2 - w**2)/[w(1-w)] 
% **        \!gamma = 1 - beta.
%
         \!removept\!dimenE\!Ew%           **  8w, without "pt"
         \!dimenF=-\!Ew\!dimenE%           **  -(8w)**2
         \advance\!dimenF by 32pt%         **  32 - (8w)**2
         \!dimenG=8pt 
         \advance\!dimenG by -\!dimenE%    **  8 - 8w
         \!dimenG=\!Ew\!dimenG%            **  (8w)*(8-8w)
         \!divide\!dimenF\!dimenG\!beta%   **  beta = (32-(8w)**2)/(8w(8-8w))
%                                          **       = (1/2 - w**2)/(w(1-w))
         \!gamma=1pt
         \advance \!gamma by -\!beta%      **  gamma = 1-beta
      \fi%       ** end of the \ifdim\!dimenE>\!wmax
    \fi%         ** end of the \ifdim\!dimenE<\!wmin
  \fi%           ** end of the \ifdim\!arclength>\!zpt
  \ignorespaces}
 
 
% ** For 0 <= t <= 1, let AL(t) = arclength[0,t]/arclength[0,1]; note
% ** AL(0)=0, AL(1/2)=midarclength/arclength, AL(1)=1.  This routine
% ** calculates an approximation to AL^{-1}(distance across/arclength),
% ** using the assumption that AL^{-1} is quadratic.  Specifically, 
% ** it finds  t  such that
% **    AL^{-1}(v) =. t = v*(\!beta + \!gamma*v)
% ** where  \!beta  and  \!gamma  are set by \!initinv, and where
% ** v=distance across/arclength
\def\!inversequad{%
  \!divide\!distacross\!arclength\!dimenG%   ** dimG = v = distacross/arclength
  \!removept\!dimenG\!v%                     ** v, without "pt"
  \!dimenG=\!v\!gamma%                       ** gamma*v
  \advance\!dimenG by \!beta%                ** beta + gamma*v
  \!dimenG=\!v\!dimenG%                      ** t = v*(beta + gamma*v)
  \!removept\!dimenG\!t}%                    ** t, without "pt"
 
 
% ** When  w <= 1/3  or  w >= 2/3, the following routine writes (using
% ** plain TEK's \wlog command) a warning message on the user's log file,
% ** and initializes for inverse linear interpolation on arc length.
\def\!setinverselinear{%
  \def\!inverseinterp{\!inverselinear}%
  \divide\!dimenE by 8 \!removept\!dimenE\!t
  \!countC=\!intervalno \multiply \!countC 2
  \!countB=\!countC     \advance \!countB -1
  \!countA=\!countB     \advance \!countA -1
  \wlog{\the\!countB th point (\!xmidpt,\!ymidpt) being plotted 
    doesn't lie in the}%
  \wlog{ middle third of the arc between the \the\!countA th 
    and \the\!countC th points:}%
  \wlog{ [arc length \the\!countA\space to \the\!countB]/[arc length 
    \the \!countA\space to \the\!countC]=\!t.}%
  \ignorespaces}
 
% **  Inverse linear interpolation
\def\!inverselinear{% 
  \!divide\!distacross\!arclength\!dimenG
  \!removept\!dimenG\!t}


% **************************************
% **  ROTATIONS  (Handles rotations) ***
% **************************************
 
% ** User commands
% **   \startrotation [by COS_OF_ANGLE SIN_OF_ANGLE] [about XPIVOT YPIVOT]
% **   \stoprotation

% **   \startrotation [by COS_OF_ANGLE SIN_OF_ANGLE] [about XPIVOT YPIVOT]
% ** Future (XCOORD,YCOORD)'s will be rotated about (XPIVOT,YPIVOT) 
% ** by the angle with the give COS and SIN. Both fields are optional.
% ** [COS,SIN] defaults to previous value, or (1,0).
% ** (XPIVOT,YPIVOT) defaults to previous value, or (0,0)
% ** You can't change the coordinate system in the scope of a rotation.
% ** See Subsection 9.1 of the manual.
\def\startrotation{%
  \let\!rotateaboutpivot=\!!rotateaboutpivot
  \let\!rotateonly=\!!rotateonly
  \!ifnextchar{b}{\!getsincos }%
    {\!getsincos by {\!cosrotationangle} {\!sinrotationangle} }}
\def\!getsincos by #1 #2 {%
  \edef\!cosrotationangle{#1}%
  \edef\!sinrotationangle{#2}%
  \!ifcoordmode 
    \let\!ROnext=\!ccheckforpivot
  \else
    \let\!ROnext=\!dcheckforpivot
  \fi
  \!ROnext}
\def\!ccheckforpivot{%
  \!ifnextchar{a}{\!cgetpivot}%
    {\!cgetpivot about {\!xpivotcoord} {\!ypivotcoord} }}
\def\!cgetpivot about #1 #2 {%
  \edef\!xpivotcoord{#1}%
  \edef\!ypivotcoord{#2}%
  \!xpivot=#1\!xunit  \!ypivot=#2\!yunit
  \ignorespaces}
\def\!dcheckforpivot{%
  \!ifnextchar{a}{\!dgetpivot}{\ignorespaces}}
\def\!dgetpivot about #1 #2 {%
  \!xpivot=#1\relax  \!ypivot=#2\relax
  \ignorespaces}
  

% ** Following terminates rotation.
% ** See Subsection 9.1 of the manual.
\def\stoprotation{%
  \let\!rotateaboutpivot=\!!!rotateaboutpivot
  \let\!rotateonly=\!!!rotateonly
  \ignorespaces}
 
% ** !!rotateaboutpivot{XREG}{YREG}
% ** XREG <-- xpvt + cos(angle)*(XREG-xpvt) - sin(angle)*(YREG-ypvt)
% ** YREG <-- ypvt + cos(angle)*(YREG-ypvt) + sin(angle)*(XREG-xpvt)
% ** XREG,YREG are dimension registers. Can't be \!dimenA to \!dimenD
\def\!!rotateaboutpivot#1#2{%
  \!dimenA=#1\relax  \advance\!dimenA -\!xpivot
  \!dimenB=#2\relax  \advance\!dimenB -\!ypivot
  \!dimenC=\!cosrotationangle\!dimenA
    \advance \!dimenC -\!sinrotationangle\!dimenB
  \!dimenD=\!cosrotationangle\!dimenB
    \advance \!dimenD  \!sinrotationangle\!dimenA
  \advance\!dimenC \!xpivot  \advance\!dimenD \!ypivot
  #1=\!dimenC  #2=\!dimenD
  \ignorespaces}

% ** \!!rotateonly{XREG}{YREG}
% ** Like \!!rotateaboutpivot, but with a pivot of  (0,0)
\def\!!rotateonly#1#2{%
  \!dimenA=#1\relax  \!dimenB=#2\relax 
  \!dimenC=\!cosrotationangle\!dimenA
    \advance \!dimenC -\!rotsign\!sinrotationangle\!dimenB
  \!dimenD=\!cosrotationangle\!dimenB
    \advance \!dimenD  \!rotsign\!sinrotationangle\!dimenA
  #1=\!dimenC  #2=\!dimenD
  \ignorespaces}
\def\!rotsign{}
\def\!!!rotateaboutpivot#1#2{\relax}
\def\!!!rotateonly#1#2{\relax}
\stoprotation

\def\!reverserotateonly#1#2{%
  \def\!rotsign{-}%
  \!rotateonly{#1}{#2}%
  \def\!rotsign{}%
  \ignorespaces}


% **********************************
% *** SHADING  (Handles shading) ***
% **********************************

% **  User commands
% **    \setshadegrid [span <SPAN>] [point at XSHADE YSHADE] 
% **    \setshadesymbol [<LS, RS, BS, TS>] ({SHADESYMBOL}
% **      <XDIMEN,YDIMEN> [ORIENTATION])

% **  Internal commands:
% **    \!startvshade  (xS,ybS,ytS)
% **    \!starthshade  (yS,xlS,xrS)
% **    \!lshade [<LS,RS,BS,TS>]
% **       ** when shading vertically:
% **       [the region from (xS,ybS,ytS) to] (xE,ybE,ytE)
% **       ** when shading horizontally:
% **       [the region from (yS,xlS,xrS) to] (yE,xlE,xrE)
% **    \!qshade [<LS,RS,BS,TS>]
% **       ** when shading vertically:
% **       [the region from (xS,ybS,ytS) to] (xM,ybM,ytM)  (xE,ybE,ytE)
% **       ** when shading horizontally:
% **       [the region from (yS,xlS,xrS) to] (yM,xlM,xrM)  (yE,xlE,xrE)
% **    \!lattice{ANCHOR}{SPAN}{LOCATION}{INDEX}{LATTICE LOCATION}
% **    \!override{NOMINAL DIMEN}{REPLACEMENT DIMEN}{DIMEN}


% **  The shading routine can operate either in a "vertical mode" or a
% **  "horizontal mode".  In vertical mode, the region to be shaded is specified
% **  in the form
% **                 {(x,y): xl <= x <= xr  &  yb(x) <= y <= yt(x)}
% **  where  yb  and  yt  are functions of  x.  In horizontal mode, the region
% **  is specified in the form
% **                 {(x,y): yb <= y <= yt  &  xl(y) <= x <= xr(y)}.
% **  The functions  yb  and  yt  may be either both linear or both quadratic;
% **  similarly for  xl  and  xr.  A region with say, piecewise quadratic bottom
% **  and top boundaries, can be shaded by consecutive (vertical) \!qshades,
% **  proceeding from left to right.  Similarly, a region with piecewise     
% **  quadratic left and right boundaries can be shaded by consecutive
% **  (horizontal) \!qshades, proceeding from bottom to top.  More complex
% **  regions can be shaded by partitioning them into appropriate subregions,
% **  and shading those.
    
% **  Shading is accomplished by placing a user-selected shading symbol at
% **  those points of a regular grid which fall within the region to be
% **  shaded.  This region can be "shrunk" so that a largish shading symbol
% **  will not extend outside it.  Shrinking is accomplished by specifying
% **  shrinkages for the left, right, bottom, and top boundaries, in a manner
% **  discussed further below.

% **  \shades and \!joins MUST NOT be intermingled.  Finish drawing a curve
% **  before starting to shade a region, and finish shading a region before
% **  starting to draw a curve.


% **  \setshadegrid [span <SPAN>] [point at XSHADE YSHADE] 
% **  The shading symbol is placed down on the points of a grid centered
% **  at the coordinate point (XSHADE,YSHADE).  The grid points are of the
% **  form (j*SPAN,k*SPAN), with  j+k  even.  SPAN is specified
% **  as a dimension.
% **  (XSHADE,YSHADE) defaults to previous (XSHADE,YSHADE) (or (0,0) if none)
% **  SPAN defaults to previous span (or 5pt if none)
% **  See Subsection 7.2 of the manual.
\def\setshadegrid{%
  \!ifnextchar{s}{\!getspan }
    {\!getspan span <\!dshade>}}
\def\!getspan span <#1>{%
  \!dshade=#1\relax
  \!ifcoordmode 
    \let\!GRnext=\!GRccheckforAP
  \else
    \let\!GRnext=\!GRdcheckforAP
  \fi
  \!GRnext}
\def\!GRccheckforAP{%
  \!ifnextchar{p}{\!cgetanchor }
    {\!cgetanchor point at {\!xshadesave} {\!yshadesave} }}
\def\!cgetanchor point at #1 #2 {%
  \edef\!xshadesave{#1}\edef\!yshadesave{#2}%
  \!xshade=\!xshadesave\!xunit  \!yshade=\!yshadesave\!yunit
  \ignorespaces}
\def\!GRdcheckforAP{%
  \!ifnextchar{p}{\!dgetanchor}%
    {\ignorespaces}}
\def\!dgetanchor point at #1 #2 {%
  \!xshade=#1\relax  \!yshade=#2\relax
  \ignorespaces}

% **  \setshadesymbol  [<LS, RS, BS, TS>] ({SHADESYMBOL}
% **    <XDIMEN,YDIMEN> [ORIENTATION])
% **  Saves SHADESYMBOL away in an hbox for use with shading routines.
% **  A shade symbol will not be plotted if its plot position comes within
% **    distance LS of the left boundary,  RS of the right boundary,  TS of the
% **    top boundary,  BS of the bottom boundary.  These parameters have 
% **    default values that should work in most cases (see below).
% **    To override a default value, specify the replacement value
% **    in the appropriate subfield of the shrinkages field.
% **    0pt may be coded as  "z" (without the quotes).  To accept a
% **    default value, leave the field empty.  Thus
% **      [,z,,5pt]  sets  LS=default, RS=0pt, BS=default, TS=5pt .
% **    Skipping the shrinkages field accepts all the defaults.
% **  See Subsection 7.1 of the manual.
\def\setshadesymbol{%
  \!ifnextchar<{\!setshadesymbol}{\!setshadesymbol<,,,> }}

\def\!setshadesymbol <#1,#2,#3,#4> (#5#6){%
% **  set the shadesymbol
  \!setputobject{#5}{#6}%                        
  \setbox\!shadesymbol=\box\!putobject%
  \!shadesymbolxshift=\!xshift \!shadesymbolyshift=\!yshift
%
% **  set the shrinkages
  \!dimenA=\!xshift \advance\!dimenA \!smidge% ** default LS = xshift - smidge
  \!override\!dimenA{#1}\!lshrinkage%         
  \!dimenA=\!wd \advance \!dimenA -\!xshift%   ** default RS = width - xshift
    \advance\!dimenA \!smidge%                                  - smidge
    \!override\!dimenA{#2}\!rshrinkage
  \!dimenA=\!dp \advance \!dimenA \!yshift%    ** default BS = depth + yshift
    \advance\!dimenA \!smidge%                                  - smidge
    \!override\!dimenA{#3}\!bshrinkage
  \!dimenA=\!ht \advance \!dimenA -\!yshift%   ** default TS = height - yshift
    \advance\!dimenA \!smidge%                                  - smidge
    \!override\!dimenA{#4}\!tshrinkage
  \ignorespaces}
\def\!smidge{-.2pt}%

% ** \!override{NOMINAL DIMEN}{REPLACEMENT DIMEN}{DIMEN}
% ** Overrides the NOMINAL DIMEN by the REPLACEMENT DIMEN to produce DIMEN,
% ** according to the following rules:
% **   REPLACEMENT DIMEN empty: DIMEN <-- NOMINAL DIMEN
% **   REPLACEMENT DIMEN z:     DIMEN <-- 0pt
% **   otherwise:               DIMEN <-- REPLACEMENT DIMEN
% ** DIMEN must be a dimension register
\def\!override#1#2#3{%
  \edef\!!override{#2}% 
  \ifx \!!override\empty
    #3=#1\relax
  \else
    \if z\!!override
      #3=\!zpt
    \else
      \ifx \!!override\!blankz
        #3=\!zpt
      \else
        #3=#2\relax
      \fi
    \fi
  \fi
  \ignorespaces}
\def\!blankz{ z}

\setshadesymbol ({\fiverm .})%       ** initialize plotsymbol
%                                    ** \fivesy ^^B  is a small cross


% ** \!startvshade [at] (xS,ybS,ytS)
% ** Initiates vertical shading mode
\def\!startvshade#1(#2,#3,#4){%
  \let\!!xunit=\!xunit%
  \let\!!yunit=\!yunit%
  \let\!!xshade=\!xshade%
  \let\!!yshade=\!yshade%
  \def\!getshrinkages{\!vgetshrinkages}%
  \let\!setshadelocation=\!vsetshadelocation%
  \!xS=\!M{#2}\!!xunit
  \!ybS=\!M{#3}\!!yunit
  \!ytS=\!M{#4}\!!yunit
  \!shadexorigin=\!xorigin  \advance \!shadexorigin \!shadesymbolxshift
  \!shadeyorigin=\!yorigin  \advance \!shadeyorigin \!shadesymbolyshift
  \ignorespaces}
 
% ** \!starthshade [at] (yS,xlS,xrS)
% ** Initiates horizontal shading mode
\def\!starthshade#1(#2,#3,#4){%
  \let\!!xunit=\!yunit%
  \let\!!yunit=\!xunit%
  \let\!!xshade=\!yshade%
  \let\!!yshade=\!xshade%
  \def\!getshrinkages{\!hgetshrinkages}%
  \let\!setshadelocation=\!hsetshadelocation%
  \!xS=\!M{#2}\!!xunit
  \!ybS=\!M{#3}\!!yunit
  \!ytS=\!M{#4}\!!yunit
  \!shadexorigin=\!xorigin  \advance \!shadexorigin \!shadesymbolxshift
  \!shadeyorigin=\!yorigin  \advance \!shadeyorigin \!shadesymbolyshift
  \ignorespaces}


% **  \!lattice{ANCHOR}{SPAN}{LOCATION}{INDEX}{LATTICE LOCATION}
% **  Consider the lattice with points  ANCHOR + j*SPAN. This routine determines
% **  the index  k  of the smallest lattice point >= LOCATION, and sets
% **  LATTICE LOCATION = ANCHOR + k*SPAN.
% **  INDEX is assumed to be a count register, LATTICE LOCATION a dimen reg.
\def\!lattice#1#2#3#4#5{%
  \!dimenA=#1%                        ** dimA = ANCHOR
  \!dimenB=#2%                        ** dimB = SPAN  (assumed > 0pt)
  \!countB=\!dimenB%                  ** ctB  = SPAN, as a count
%
% ** Determine index of smallest lattice point >= LOCATION
  \!dimenC=#3%                        ** dimC = LOCATION
  \advance\!dimenC -\!dimenA%         ** now dimC = LOCATION-ANCHOR
  \!countA=\!dimenC%                  ** ctA = above, as a count
  \divide\!countA \!countB%           ** now ctA = desired index, if dimC <= 0
  \ifdim\!dimenC>\!zpt
    \!dimenD=\!countA\!dimenB%        ** (tentative k)*span
    \ifdim\!dimenD<\!dimenC%          ** if this is false, ctA = desired index
      \advance\!countA 1 %            ** if true, have to add 1
    \fi
  \fi
%
  \!dimenC=\!countA\!dimenB%          ** lattice location = anchor + ctA*span
    \advance\!dimenC \!dimenA
  #4=\!countA%                        ** the desired index
  #5=\!dimenC%                        ** corresponding lattice location
  \ignorespaces}


% ** \!qshade [with shrinkages] [[LS,RS,BS,TS]]
% ***** during vertical shading:
% **    [the region from (xS,ybS,ytS) to] (xM,ybM,ytM) [and] (xE,ybE,ytE)
% ** Shades the region {(x,y): xS <= x <= xE, yb(x) <= y <= yt(x)}, where 
% **   yb is the quadratic thru (xS,ybS) & (xM,ybM) & (xE,ybE)
% **   yt is the quadratic thru (xS,ytS) & (xM,ybM) & (xE,ytE)
% ** xS,ybS,ytS are either given by \!startvshade or carried over
% **   as the ending values of the immediately preceding \!qshade.
% ** For the interpretation of LS, RS, BS, & TS, see \setshadesymbol. The
% **   values set there can be overridden, for the course of this \!qshade
% **   only, in the same manner as overrides are specified for
% **   \setshadesymbol.
% ***** during horizontal shading:
% **    [the region from (yS,xlS,xrS) to] (yM,xlM,xrM) [and] (yE,xlE,xrE)
\def\!qshade#1(#2,#3,#4)#5(#6,#7,#8){%
  \!xM=\!M{#2}\!!xunit
  \!ybM=\!M{#3}\!!yunit
  \!ytM=\!M{#4}\!!yunit
  \!xE=\!M{#6}\!!xunit
  \!ybE=\!M{#7}\!!yunit
  \!ytE=\!M{#8}\!!yunit
  \!getcoeffs\!xS\!ybS\!xM\!ybM\!xE\!ybE\!ybB\!ybC%**Get coefficients B & C for
  \!getcoeffs\!xS\!ytS\!xM\!ytM\!xE\!ytE\!ytB\!ytC%**y=y0 + B(x-X0) + C(x-X0)**2
  \def\!getylimits{\!qgetylimits}%
  \!shade{#1}\ignorespaces}
 
% ** \!lshade ... (xE,ybE,ytE)
% ** This is like \!qshade, but the top and bottom boundaries are linear,
% ** rather than quadratic.
\def\!lshade#1(#2,#3,#4){%
  \!xE=\!M{#2}\!!xunit
  \!ybE=\!M{#3}\!!yunit
  \!ytE=\!M{#4}\!!yunit
  \!dimenE=\!xE  \advance \!dimenE -\!xS%   ** xE-xS
  \!dimenC=\!ytE \advance \!dimenC -\!ytS%  ** ytE-ytS
  \!divide\!dimenC\!dimenE\!ytB%            ** ytB = (ytE-ytS)/(xE-xS)
  \!dimenC=\!ybE \advance \!dimenC -\!ybS%  ** ybE-ybS
  \!divide\!dimenC\!dimenE\!ybB%            ** ybB = (ybE-ybS)/(xE-xS)
  \def\!getylimits{\!lgetylimits}%
  \!shade{#1}\ignorespaces}
 
% **  \!getcoeffs{X0}{Y0}{X1}{Y1}{X2}{Y2}{B}{C}
% **  Finds  B  and  C  such that the quadratic  y = Y0 + B(x-X0) + C(x-X0)**2
% **  passes through (X1,Y1) and (X2,Y2):  when X0=0=Y0, the formulas are:
% **                   B = S1 - X1*C,   C = (S2-S1)/X2
% **  with
% **                 S1 = Y1/X1,   S2 = (Y2-Y1)/(X2-X1).
\def\!getcoeffs#1#2#3#4#5#6#7#8{% 
  \!dimenC=#4\advance \!dimenC -#2%            ** dimC=Y1-Y0
  \!dimenE=#3\advance \!dimenE -#1%            ** dimE=X1-X0
  \!divide\!dimenC\!dimenE\!dimenF%            ** dimF=S1
  \!dimenC=#6\advance \!dimenC -#4%            ** dimC=Y2-Y1
  \!dimenH=#5\advance \!dimenH -#3%            ** dimH=X2-X1
  \!divide\!dimenC\!dimenH\!dimenG%            ** dimG=S2
  \advance\!dimenG -\!dimenF%                  ** dimG=S2-S1
  \advance \!dimenH \!dimenE%                  ** dimH=X2-X0
  \!divide\!dimenG\!dimenH#8%                  ** C=(S2-S1)/(X2-X0)
  \!removept#8\!t%                             ** C, without "pt"
  #7=-\!t\!dimenE%                             ** -C*(X1-X0)
  \advance #7\!dimenF%                         ** B=S1-C*(X1-X0)
  \ignorespaces}
 
 
\def\!shade#1{%
% ** Get LS,RS,BS,TS for this panel
  \!getshrinkages#1<,,,>\!nil% %       ** now effective LS=dimE, RS=dimF,
%                                      **   BS=dimG, TS=dimH
  \advance \!dimenE \!xS%              ** now dimE=xS+LS
  \!lattice\!!xshade\!dshade\!dimenE%  ** set parity=index of left-mst x-lattice
    \!parity\!xpos%                    **   point >= xS+LS, xpos=its location
  \!dimenF=-\!dimenF%                  ** set dimF=xE-RS
    \advance\!dimenF \!xE
%               
  \!loop\!not{\ifdim\!xpos>\!dimenF}%  ** loop over x-lattice points <= xE-RS
    \!shadecolumn%                 
    \advance\!xpos \!dshade%           ** move over to next column
    \advance\!parity 1%                ** increase index of x-point
  \repeat
%
  \!xS=\!xE%                           ** shift ending values to starting values
  \!ybS=\!ybE
  \!ytS=\!ytE
  \ignorespaces}
 
 
\def\!vgetshrinkages#1<#2,#3,#4,#5>#6\!nil{%
  \!override\!lshrinkage{#2}\!dimenE
  \!override\!rshrinkage{#3}\!dimenF
  \!override\!bshrinkage{#4}\!dimenG
  \!override\!tshrinkage{#5}\!dimenH
  \ignorespaces}
\def\!hgetshrinkages#1<#2,#3,#4,#5>#6\!nil{%
  \!override\!lshrinkage{#2}\!dimenG
  \!override\!rshrinkage{#3}\!dimenH
  \!override\!bshrinkage{#4}\!dimenE
  \!override\!tshrinkage{#5}\!dimenF
  \ignorespaces}
 
 
\def\!shadecolumn{%
  \!dxpos=\!xpos
  \advance\!dxpos -\!xS%            ** dx = x - xS
  \!removept\!dxpos\!dx%            ** ditto, without "pt"
  \!getylimits%                     ** get top and bottom y-values
  \advance\!ytpos -\!dimenH%        ** less TS
  \advance\!ybpos \!dimenG%         ** plus BS
  \!yloc=\!!yshade%                 ** get anchor point for this column
  \ifodd\!parity 
     \advance\!yloc \!dshade
  \fi
  \!lattice\!yloc{2\!dshade}\!ybpos%
    \!countA\!ypos%                 ** ypos=smallest y point for this column
  \!dimenA=-\!shadexorigin \advance \!dimenA \!xpos%      ** over
  \loop\!not{\ifdim\!ypos>\!ytpos}% ** loop over ypos <= yt(t)
    \!setshadelocation%             ** vmode: xloc=xpos, yloc=ypos 
%                                   ** hmode: xloc=ypos, yloc=xpos 
    \!rotateaboutpivot\!xloc\!yloc%
    \!dimenA=-\!shadexorigin \advance \!dimenA \!xloc%    ** over
    \!dimenB=-\!shadeyorigin \advance \!dimenB \!yloc%    ** up
    \kern\!dimenA \raise\!dimenB\copy\!shadesymbol \kern-\!dimenA
    \advance\!ypos 2\!dshade
  \repeat
  \ignorespaces}
 
\def\!qgetylimits{%
  \!dimenA=\!dx\!ytC              
  \advance\!dimenA \!ytB%         ** yt(t)=ytS + dx*(Bt + dx*Ct)
  \!ytpos=\!dx\!dimenA
  \advance\!ytpos \!ytS
  \!dimenA=\!dx\!ybC              
  \advance\!dimenA \!ybB%         ** yb(t)=ybS + dx*(Bb + dx*Cb)
  \!ybpos=\!dx\!dimenA
  \advance\!ybpos \!ybS}
 
\def\!lgetylimits{%
  \!ytpos=\!dx\!ytB%              ** yt(t)=ytS + dx*Bt
  \advance\!ytpos \!ytS
  \!ybpos=\!dx\!ybB%              ** yb(t)=ybS + dx*Bb
  \advance\!ybpos \!ybS}
 
\def\!vsetshadelocation{%         ** vmode: xloc=xpos, yloc=ypos 
  \!xloc=\!xpos
  \!yloc=\!ypos}
\def\!hsetshadelocation{%         ** hmode: xloc=ypos, yloc=xpos 
  \!xloc=\!ypos
  \!yloc=\!xpos}


% **************************************
% *** TICKS  (Draws ticks on graphs) ***
% **************************************

% ** User commands
% **   \ticksout
% **   \ticksin
% **   \gridlines
% **   \nogridlines
% **   \loggedticks
% **   \unloggesticks
% ** See Subsection 3.4 of the manual

% ** The following is an option of the \axis command
% **   ticks 
% **     [in] [out] 
% **     [long] [short] [length <LENGTH>] 
% **     [width <WIDTH>]
% **     [andacross] [butnotacross] 
% **     [logged] [unlogged] 
% **     [unlabeled] [numbered] [withvalues VALUE1 VALUE2 ... VALUEk / ]
% **     [quantity Q] [at LOC1 LOC2 ... LOCk / ] [from LOC1 to LOC2 by
% **       LOC_INCREMENT]
% ** See Subsection 3.2 of the manual for the rules.

% ** The various options of the  tick  field are processed by the
% ** \!nextkeyword  command defined below.
% ** For example, `\!nextkeyword short '  expands to  `\!ticksshort',
% ** while `\!nextkeyword withvalues' expands to `\!tickswithvalues'.

\def\!axisticks {%
  \def\!nextkeyword##1 {%
    \expandafter\ifx\csname !ticks##1\endcsname \relax
      \def\!next{\!fixkeyword{##1}}%
    \else
      \def\!next{\csname !ticks##1\endcsname}%
    \fi
    \!next}%
  \!axissetup
    \def\!axissetup{\relax}%
  \edef\!ticksinoutsign{\!ticksinoutSign}%
  \!ticklength=\longticklength
  \!tickwidth=\linethickness
  \!gridlinestatus
  \!setticktransform
  \!maketick
  \!tickcase=0
  \def\!LTlist{}%
  \!nextkeyword}

\def\ticksout{%
  \def\!ticksinoutSign{+}}
\def\ticksin{%
  \def\!ticksinoutSign{-}}
\ticksout

\def\gridlines{%
  \def\!gridlinestatus{\!gridlinestootrue}}
\def\nogridlines{%
  \def\!gridlinestatus{\!gridlinestoofalse}}
\nogridlines

\def\loggedticks{%
  \def\!setticktransform{\let\!ticktransform=\!logten}}
\def\unloggedticks{%
  \def\!setticktransform{\let\!ticktransform=\!donothing}}
\def\!donothing#1#2{\def#2{#1}}
\unloggedticks

% ** \!ticks/ : terminates read of tick options
\expandafter\def\csname !ticks/\endcsname{%
  \!not {\ifx \!LTlist\empty}
    \!placetickvalues
  \fi
  \def\!tickvalueslist{}%
  \def\!LTlist{}%
  \expandafter\csname !axis/\endcsname}

\def\!maketick{%
  \setbox\!boxA=\hbox{%
    \beginpicture
      \!setdimenmode
      \setcoordinatesystem point at {\!zpt} {\!zpt}   
      \linethickness=\!tickwidth
      \ifdim\!ticklength>\!zpt
        \putrule from {\!zpt} {\!zpt} to
          {\!ticksinoutsign\!tickxsign\!ticklength}
          {\!ticksinoutsign\!tickysign\!ticklength}
      \fi
      \if!gridlinestoo
        \putrule from {\!zpt} {\!zpt} to
          {-\!tickxsign\!xaxislength} {-\!tickysign\!yaxislength}
      \fi
    \endpicturesave <\!Xsave,\!Ysave>}%
    \wd\!boxA=\!zpt}
  
\def\!ticksin{%
  \def\!ticksinoutsign{-}%
  \!maketick
  \!nextkeyword}

\def\!ticksout{%
  \def\!ticksinoutsign{+}%
  \!maketick
  \!nextkeyword}

\def\!tickslength<#1> {%
  \!ticklength=#1\relax
  \!maketick
  \!nextkeyword}

\def\!tickslong{%
  \!tickslength<\longticklength> }

\def\!ticksshort{%
  \!tickslength<\shortticklength> }

\def\!tickswidth<#1> {%
  \!tickwidth=#1\relax
  \!maketick
  \!nextkeyword}

\def\!ticksandacross{%
  \!gridlinestootrue
  \!maketick
  \!nextkeyword}

\def\!ticksbutnotacross{%
  \!gridlinestoofalse
  \!maketick
  \!nextkeyword}

\def\!tickslogged{%
  \let\!ticktransform=\!logten
  \!nextkeyword}

\def\!ticksunlogged{%
  \let\!ticktransform=\!donothing
  \!nextkeyword}

\def\!ticksunlabeled{%
  \!tickcase=0
  \!nextkeyword}

\def\!ticksnumbered{%
  \!tickcase=1
  \!nextkeyword}

\def\!tickswithvalues#1/ {%
  \edef\!tickvalueslist{#1! /}%
  \!tickcase=2
  \!nextkeyword}

\def\!ticksquantity#1 {%
  \ifnum #1>1
    \!updatetickoffset
    \!countA=#1\relax
    \advance \!countA -1
    \!ticklocationincr=\!axisLength
      \divide \!ticklocationincr \!countA
    \!ticklocation=\!axisstart
    \loop \!not{\ifdim \!ticklocation>\!axisend}
      \!placetick\!ticklocation
      \ifcase\!tickcase
          \relax %  Case 0: no labels
        \or
          \relax %  Case 1: numbered -- not available here
        \or
          \expandafter\!gettickvaluefrom\!tickvalueslist
          \edef\!tickfield{{\the\!ticklocation}{\!value}}%
          \expandafter\!listaddon\expandafter{\!tickfield}\!LTlist%
      \fi
      \advance \!ticklocation \!ticklocationincr
    \repeat
  \fi
  \!nextkeyword}

\def\!ticksat#1 {%
  \!updatetickoffset
  \edef\!Loc{#1}%
  \if /\!Loc
    \def\next{\!nextkeyword}%
  \else
    \!ticksincommon
    \def\next{\!ticksat}%
  \fi
  \next}    
      
\def\!ticksfrom#1 to #2 by #3 {%
  \!updatetickoffset
  \edef\!arg{#3}%
  \expandafter\!separate\!arg\!nil
  \!scalefactor=1
  \expandafter\!countfigures\!arg/
  \edef\!arg{#1}%
  \!scaleup\!arg by\!scalefactor to\!countE
  \edef\!arg{#2}%
  \!scaleup\!arg by\!scalefactor to\!countF
  \edef\!arg{#3}%
  \!scaleup\!arg by\!scalefactor to\!countG
  \loop \!not{\ifnum\!countE>\!countF}
    \ifnum\!scalefactor=1
      \edef\!Loc{\the\!countE}%
    \else
      \!scaledown\!countE by\!scalefactor to\!Loc
    \fi
    \!ticksincommon
    \advance \!countE \!countG
  \repeat
  \!nextkeyword}

\def\!updatetickoffset{%
  \!dimenA=\!ticksinoutsign\!ticklength
  \ifdim \!dimenA>\!offset
    \!offset=\!dimenA
  \fi}

\def\!placetick#1{%
  \if!xswitch
    \!xpos=#1\relax
    \!ypos=\!axisylevel
  \else
    \!xpos=\!axisxlevel
    \!ypos=#1\relax
  \fi
  \advance\!xpos \!Xsave
  \advance\!ypos \!Ysave
  \kern\!xpos\raise\!ypos\copy\!boxA\kern-\!xpos
  \ignorespaces}

\def\!gettickvaluefrom#1 #2 /{%
  \edef\!value{#1}%
  \edef\!tickvalueslist{#2 /}%
  \ifx \!tickvalueslist\!endtickvaluelist
    \!tickcase=0
  \fi}
\def\!endtickvaluelist{! /}

\def\!ticksincommon{%
  \!ticktransform\!Loc\!t
  \!ticklocation=\!t\!!unit
  \advance\!ticklocation -\!!origin
  \!placetick\!ticklocation
  \ifcase\!tickcase
    \relax % Case 0: no labels
  \or %      Case 1: numbered
    \ifdim\!ticklocation<-\!!origin
      \edef\!Loc{$\!Loc$}%
    \fi
    \edef\!tickfield{{\the\!ticklocation}{\!Loc}}%
    \expandafter\!listaddon\expandafter{\!tickfield}\!LTlist%
  \or %      Case 2: labeled
    \expandafter\!gettickvaluefrom\!tickvalueslist
    \edef\!tickfield{{\the\!ticklocation}{\!value}}%
    \expandafter\!listaddon\expandafter{\!tickfield}\!LTlist%
  \fi}

\def\!separate#1\!nil{%
  \!ifnextchar{-}{\!!separate}{\!!!separate}#1\!nil}
\def\!!separate-#1\!nil{%
  \def\!sign{-}%
  \!!!!separate#1..\!nil}
\def\!!!separate#1\!nil{%
  \def\!sign{+}%
  \!!!!separate#1..\!nil}
\def\!!!!separate#1.#2.#3\!nil{%
  \def\!arg{#1}%
  \ifx\!arg\!empty
    \!countA=0
  \else
    \!countA=\!arg
  \fi
  \def\!arg{#2}%
  \ifx\!arg\!empty
    \!countB=0
  \else
    \!countB=\!arg
  \fi}
 
\def\!countfigures#1{%
  \if #1/%
    \def\!next{\ignorespaces}%
  \else
    \multiply\!scalefactor 10
    \def\!next{\!countfigures}%
  \fi
  \!next}

\def\!scaleup#1by#2to#3{%
  \expandafter\!separate#1\!nil
  \multiply\!countA #2\relax
  \advance\!countA \!countB
  \if -\!sign
    \!countA=-\!countA
  \fi
  #3=\!countA
  \ignorespaces}

\def\!scaledown#1by#2to#3{%
  \!countA=#1\relax%                          ** get original #
  \ifnum \!countA<0 %                         ** take abs value,
    \def\!sign{-}%                            **   remember sign
    \!countA=-\!countA
  \else
    \def\!sign{}%
  \fi
  \!countB=\!countA%                          ** copy |#|
  \divide\!countB #2\relax%                   ** integer part (|#|/sf)
  \!countC=\!countB%                          ** get sf * (|#|/sf)
    \multiply\!countC #2\relax
  \advance \!countA -\!countC%                ** ctA is now remainder
  \edef#3{\!sign\the\!countB.}%               ** +- integerpart.
  \!countC=\!countA %                         ** Tack on proper number
  \ifnum\!countC=0 %                          **   of zeros after .
    \!countC=1
  \fi
  \multiply\!countC 10
  \!loop \ifnum #2>\!countC
    \edef#3{#3\!zero}%
    \multiply\!countC 10
  \repeat
  \edef#3{#3\the\!countA}%                    ** Add on rest of remainder
  \ignorespaces}

\def\!placetickvalues{%
  \advance\!offset \tickstovaluesleading
  \if!xswitch
    \setbox\!boxA=\hbox{%
      \def\\##1##2{%
        \!dimenput {##2} [B] (##1,\!axisylevel)}%
      \beginpicture 
        \!LTlist
      \endpicturesave <\!Xsave,\!Ysave>}%
    \!dimenA=\!axisylevel
      \advance\!dimenA -\!Ysave
      \advance\!dimenA \!tickysign\!offset
      \if -\!tickysign
        \advance\!dimenA -\ht\!boxA
      \else
        \advance\!dimenA  \dp\!boxA
      \fi
    \advance\!offset \ht\!boxA 
      \advance\!offset \dp\!boxA
    \!dimenput {\box\!boxA} [Bl] <\!Xsave,\!Ysave> (\!zpt,\!dimenA)
  \else
    \setbox\!boxA=\hbox{%
      \def\\##1##2{%
        \!dimenput {##2} [r] (\!axisxlevel,##1)}%
      \beginpicture 
        \!LTlist
      \endpicturesave <\!Xsave,\!Ysave>}%
    \!dimenA=\!axisxlevel
      \advance\!dimenA -\!Xsave
      \advance\!dimenA \!tickxsign\!offset
      \if -\!tickxsign
        \advance\!dimenA -\wd\!boxA
      \fi
    \advance\!offset \wd\!boxA
    \!dimenput {\box\!boxA} [Bl] <\!Xsave,\!Ysave> (\!dimenA,\!zpt)
  \fi}


\normalgraphs
\catcode`!=12 %  *****  THIS MUST NEVER BE OMITTED
% This is postpictex.tex  Version 1.1  9/10/87

% To use the PiCTeX macros under LaTeX, you first need to \input the
% file prepictex.tex, then the main corpus of PiCTeX macros (pictex.tex), 
% and finally this file.  Do not \input the file latexpicobjs.tex.
 
\catcode`@=11 \catcode`!=11
  
% Save meanings of PiCTeX keywords that duplicate LaTeX keywords
\let\!pictexendpicture=\endpicture 
\let\!pictexframe=\frame
\let\!pictexlinethickness=\linethickness
\let\!pictexmultiput=\multiput
\let\!pictexput=\put

% Redefine the PiCTeX \beginpicture macro
\def\beginpicture{%
  \setbox\!picbox=\hbox\bgroup%
  \let\endpicture=\!pictexendpicture
  \let\frame=\!pictexframe
  \let\linethickness=\!pictexlinethickness
  \let\multiput=\!pictexmultiput
  \let\put=\!pictexput
  \let\input=\@@input   % \@@input is LaTeX's saved version of TeX's primitive
  \!xleft=\maxdimen  
  \!xright=-\maxdimen
  \!ybot=\maxdimen
  \!ytop=-\maxdimen}

% Reestablish LaTeX's meaning of \frame. This makes
% PiCTeX's meaning of \frame available only inside a PiCture.
\let\frame=\!latexframe

% Make PiCTeX's meaning of \frame available everywhere in the
% guise of \pictexframe
\let\pictexframe=\!pictexframe

% Now do the same for \linethickness
\let\linethickness=\!latexlinethickness
\let\pictexlinethickness=\!pictexlinethickness

% Reset LaTeX's default meaning of \\
\let\\=\@normalcr
\catcode`@=12 \catcode`!=12
% This is prepictex.tex  Version 1.1  9/10/87

% To use the PiCTeX macros under LaTeX, you first need to \input this
% file, then the main corpus of PiCTeX macros (pictex.tex), and then
% the file postpictex.tex. Do not \input the file latexpicobjs.tex.

\catcode`@=11 \catcode`!=11

% First of all, see if  \fiverm  is defined. If so do nothing;
% if not, let  \fiverm  take on meaning of LaTeX's  \fivrm.
\expandafter\ifx\csname fiverm\endcsname\relax
  \let\fiverm\fivrm
\fi
  
% Save meanings of LaTeX keywords that duplicate PiCTeX keywords
\let\!latexendpicture=\endpicture 
\let\!latexframe=\frame
\let\!latexlinethickness=\linethickness
\let\!latexmultiput=\multiput
\let\!latexput=\put
 
% Redefine the LaTeX \@picture macro
\def\@picture(#1,#2)(#3,#4){%
  \@picht #2\unitlength
  \setbox\@picbox\hbox to #1\unitlength\bgroup 
  \let\endpicture=\!latexendpicture
  \let\frame=\!latexframe
  \let\linethickness=\!latexlinethickness
  \let\multiput=\!latexmultiput
  \let\put=\!latexput
  \hskip -#3\unitlength \lower #4\unitlength \hbox\bgroup}

\catcode`@=12 \catcode`!=12

