CVE-2019-18604: Insufficient Information (NVD-CWE-noinfo)
value: In axohelp.c before 1.3 in axohelp in axodraw2 before 2.1.1b, as distributed in TeXLive and other collections, sprintf is mishandled.
CWE description: There is insufficient information about the issue to classify it; details are unkown or unspecified.
CVSS v3 base score: 9.8
Published: 2019-10-29T19:15Z
Repository: https://github.com/TeX-Live/texlive-source
Language: Other
Files changed: utils/axodraw2/ChangeLog, utils/axodraw2/TLpatches/TL-Changes, utils/axodraw2/axodraw2-src/ChangeLog, utils/axodraw2/axodraw2-src/README, utils/axodraw2/axodraw2-src/axodraw2-man.tex, utils/axodraw2/axodraw2-src/axodraw2.sty, utils/axodraw2/axodraw2-src/axohelp-big.test, utils/axodraw2/axodraw2-src/axohelp.c, utils/axodraw2/axodraw2-src/axohelp.test, utils/axodraw2/axodraw2-src/test-big.ax2-std, utils/axodraw2/configure, utils/axodraw2/configure.ac
Commit date: 2019-09-06 22:26:30 +0000
Commit message: axohelp 1.3

git-svn-id: svn://tug.org/texlive/trunk/Build/source@52042 c570f23f-e606-0410-a88d-b1316a301751

Diff: diff --git a/utils/axodraw2/ChangeLog b/utils/axodraw2/ChangeLog
index ec41232488..7a3000318c 100644
--- a/utils/axodraw2/ChangeLog
+++ b/utils/axodraw2/ChangeLog
@@ -1,5 +1,10 @@
+2019-09-07  Akira Kakuto  <kakuto@w32tex.org>
+
+	Import v1.3 from ctan.org/pkg/axodraw2.
+	* configure.ac: update version.
+
 2018-02-21  Karl Berry  <karl@tug.org>
 
 	Import v1.1 from ctan.org/pkg/axodraw2.
 	* configure.ac (AM_INIT): update version.
 
diff --git a/utils/axodraw2/TLpatches/TL-Changes b/utils/axodraw2/TLpatches/TL-Changes
index f97cb6e20e..56e33d64ad 100644
--- a/utils/axodraw2/TLpatches/TL-Changes
+++ b/utils/axodraw2/TLpatches/TL-Changes
@@ -1,5 +1,4 @@
 Changes applied to the axodraw tree as obtained from
 	https://ctan.org/pkg/axodraw2
 
-Remove:
-	axohelp.exe
+No changes.
diff --git a/utils/axodraw2/axodraw2-src/ChangeLog b/utils/axodraw2/axodraw2-src/ChangeLog
index b5367825b9..6d8c09b545 100644
--- a/utils/axodraw2/axodraw2-src/ChangeLog
+++ b/utils/axodraw2/axodraw2-src/ChangeLog
@@ -28,5 +28,10 @@
 	Update documentation.
 	This version for release on CTAN.
 	axodraw2 package [v. 2.1.1 2018/02/20]
 	axodraw2.sty [v. 2.1.1 2018/02/15]
 	axohelp [v. 1.2 2018/02/20]
+2019/07/30
+	axohelp: Exit code on error is 1, not -1 (unsigned is more OS-independent)
+	axohelp: Clean up CleanupOutput subroutine
+	axohelp: Fix bug in use of identification line
+	axohelp: Fix stack overflow bugs in subroutine DoOneObject
diff --git a/utils/axodraw2/axodraw2-src/README b/utils/axodraw2/axodraw2-src/README
index e55be0cb76..a0ab3d5333 100644
--- a/utils/axodraw2/axodraw2-src/README
+++ b/utils/axodraw2/axodraw2-src/README
@@ -1,10 +1,10 @@
-Axodraw2 2.1.1 2018/02/15
-=========================
+Axodraw2 2.1.1b 2019/09/02
+==========================
 
 axodraw2.sty version is v2.1.1 2018/02/15
-axohelp.c version is 1.2 2018/02/14
+axohelp.c version is 1.3 2019/08/30
 
 Axodraw2 is a package that defines macros for drawing Feynman graphs
 in LaTeX documents.
 
 It is an important development from the axodraw package, but since it
@@ -28,11 +28,10 @@ The files in the distribution are:
      axodraw2.sty      The main style file
      axodraw2-man.pdf  Documentation
      axodraw2-man.tex  Source for documentation
      example.tex       Example latex file for use of axodraw2
      axohelp.c         Source code of axohelp
-     axohelp.exe       MS-Windows executable for axohelp
      axohelp.1         Man page for axohelp       
      axohelp.test      Script for testing axohelp
      test.ax1          Input file for test
      test.ax2-std      Comparison output file for test
      axohelp-big.test  Script for comprehensive test of axohelp
@@ -47,11 +46,11 @@ The files in the distribution are:
 
 
 Authors, copyright, license
 ---------------------------
 
-(C) 1994-2018 John Collins (jcc8 at psu dot edu) and Jos Vermaseren
+(C) 1994-2019 John Collins (jcc8 at psu dot edu) and Jos Vermaseren
 (t68 at nikhef dot nl) 
 
 Axodraw2 is free software: you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation, either version 3 of the License, or (at your
diff --git a/utils/axodraw2/axodraw2-src/axodraw2-man.pdf b/utils/axodraw2/axodraw2-src/axodraw2-man.pdf
index 43c451eb7e..aacb77d69d 100644
Binary files a/utils/axodraw2/axodraw2-src/axodraw2-man.pdf and b/utils/axodraw2/axodraw2-src/axodraw2-man.pdf differ
diff --git a/utils/axodraw2/axodraw2-src/axodraw2-man.tex b/utils/axodraw2/axodraw2-src/axodraw2-man.tex
index 37c38ad97d..ff7bdb8073 100644
--- a/utils/axodraw2/axodraw2-src/axodraw2-man.tex
+++ b/utils/axodraw2/axodraw2-src/axodraw2-man.tex
@@ -74,11 +74,11 @@ University Park, Pennsylvania 16802, USA} \\
 {\it $^b$Nikhef Theory Group \\
 \vspace{0.1cm}
 Science Park 105, 1098 XG Amsterdam, The Netherlands} \\
 \texttt{t68 at nikhef dot nl} \\
 \vspace{1.0cm}
-(15 February 2018)
+(2 September 2019)
 \end{center}
 \vspace{5mm}
 
 \begin{abstract}
 This is the reference manual for version two of the \LaTeX{} graphical
@@ -395,26 +395,22 @@ more.
 \subsection{Installation from standard \TeX{} distribution}
 
 At the moment that this document was updated (January 2018), axodraw2
 was part of both the main \TeX{} distributions, TeXLive and MiKTeX.
 The easiest way to install axodraw2 is therefore from the package
-manager of your \TeX{} distribution.  (There is one complication
-concerning the \program{axohelp} program --- see below.)
+manager of your \TeX{} distribution.
 
 You can also obtain axodraw2 from CTAN at
 \url{http://ctan.org/pkg/axodraw2}, and install it manually, following
 the instructions in Sec.\ \ref{sec:manual.install} below.
 
 \paragraph{\program{axohelp} in TeXLive}
-In TeXLive 2017, a binary executable for the \program{axohelp} was not
-provided, even though the rest of the axodraw2 package was provided.
-Thus you could use axodraw2 with the \program{latex} but not with
-\program{pdflatex} unless you compiled and installed the program
-\program{axohelp} yourself following the instructions below.  This is
-planned to be changed in TeXLive 2018, when \program{axohelp} should
-be provided as part of the distribution when the package axodraw2 is
-installed from the package manager.
+In TeXLive 2018 and later, a binary executable for the
+\program{axohelp} is provided, as part of the \program{axodraw2}
+package.  So \program{axohelp} is available provided that the
+\program{axodraw2} package is installed..
+
 
 \paragraph{\program{axohelp} in MiKTeX}
 The axodraw2 package including an executable \program{axohelp.exe} was
 provided by MiKTeX when this was checked in January 2018.
 
@@ -452,48 +448,53 @@ need to run the \program{texhash} program in this last case.  For such
 a system-wide installation, you may have to do these
 operations as an administrative user (e.g., root), possibly
 supplemented by running the relevant commands with the \program{sudo}
 program.
 
-But note that if you later install the axodraw2 package from the
-package manager of you \TeX{} distribution, it's a good idea to delete
-the files you installed manually.  Otherwise when you use axodraw2 in
-a document, then the wrong version of \file{axodraw2.sty} may get
-used.  This is a particularly important issue after possible future
-updates to axodraw2 get installed by the package manager.
+If you later install the axodraw2 package from the package manager of
+your \TeX{} distribution, it's a good idea to delete the files you
+installed manually.  Otherwise when you use axodraw2 in a document,
+then the wrong version of \file{axodraw2.sty} may get used.  This is a
+particularly important issue after possible future updates to axodraw2
+get installed by the package manager.
 
 %--
 \subsubsection{Helper program \program{axohelp}}
 \label{sec:axohelp}
 
-If you wish to use axodraw2 with \program{pdflatex}, \program{lualatex},
-or \program{xelatex}., then you need to install the \program{axohelp}
-program.
-
-On a Unix-like system (e.g., linux or OS-X), you first need to compile
-the program by a C compiler.  An appropriate shell command to do this
-is
+If you wish to use axodraw2 with \program{pdflatex},
+\program{lualatex}, or \program{xelatex}, then you need to install the
+\program{axohelp} program.  \emph{(It is useful to reiterate here that
+  the standard distributions of \TeX{} currently supply the
+  \program{axohelp} program.  So the steps described here are only
+  necessary if for some reason you wish to do a manual installation.
+  One possible reason is to use a recent update of \program{axohelp},
+  since TeXLive normally only supplies updated versions of binary
+  executable files with the initial release of one of TeXLive's yearly
+  versions.)}
+
+To install \program{axohelp} manually, you will first need to compile
+the program by a C compiler.  Under a Unix-like operating system
+(linux or macOS) an appropriate shell command is
 \begin{verbatim}
    cc -o axohelp -O3 axohelp.c -lm
 \end{verbatim}
 (Note that this is a C compiler, \emph{not} a C++ compiler.)  Most linux
 systems have the program \program{cc} already installed.  This also applies to
-OS-X at versions below 10.7.  But on OS-X version 10.7 and higher, you
+macOS(OS-X) at versions below 10.7.  But on macOS version 10.7 and higher, you
 will need to install a compiler, which can be done by installing XCode
 and the associated command-line utilities.  If you have the GNU
 compilers installed, you might need to use the command \program{gcc}
 instead of \program{cc}.
 
-For Microsoft Windows, if you do not have a C compiler available, you
-can use the Windows binary \file{axohelp.exe} we have provided.  It
-was compiled on Windows 10, and should work with at least that version
-of Windows.
+For Microsoft Windows, you will need to have installed a C compiler,
+and use it to compile \file{axohelp.c}.
 
-In any case once you have the executable (named \program{axohelp} on
-unix-like systems, or \program{axohelp.exe} on a Microsoft system), put
-it in a directory where it will be found when you run programs from
-the command line.
+Once you have the executable (named \program{axohelp} on Unix-like
+systems, or \program{axohelp.exe} on a Microsoft system), put it in a
+directory where it will be found when you run programs from the
+command line.
 
 
 %--
 \subsubsection{Testing}
 
diff --git a/utils/axodraw2/axodraw2-src/axodraw2.sty b/utils/axodraw2/axodraw2-src/axodraw2.sty
index 9adc261bdc..dc676008c8 100644
--- a/utils/axodraw2/axodraw2-src/axodraw2.sty
+++ b/utils/axodraw2/axodraw2-src/axodraw2.sty
@@ -67,11 +67,11 @@
 %   Some people have managed to emulate these folds in editors like emacs
 %   and vim.
 %
 %		#] About folds : 
 %
-\ProvidesPackage{axodraw2}[2018/02/15 v2.1.1]
+\ProvidesPackage{axodraw2}[2018/10/10 v2.1.2]
 %
 %   axodraw.sty file, both for .tex -> .dvi -> .ps and for .tex -> .pdf
 %
 % 	#[ Common LaTeX code :
 %		#[ Variables :
@@ -3125,11 +3125,16 @@
         % Usage: x1 y1 x2 y2 normalizeline
         % Adjusts coordinate system for line from origin in x direction
         % Left on stack: dr = length of line
         3 index 3 index translate
         2 index sub exch 3 index sub
-        2 copy atan rotate
+%        2 copy atan rotate
+        2 copy
+        2 copy 0 ne exch 0 ne or
+        {atan rotate}
+        {pop pop}
+        ifelse
         dup mul exch dup mul add sqrt
         3 1 roll pop pop
     } def
     %
     /abox{
diff --git a/utils/axodraw2/axodraw2-src/axohelp-big.test b/utils/axodraw2/axodraw2-src/axohelp-big.test
index 00b0e12bd4..e44438022d 100755
--- a/utils/axodraw2/axodraw2-src/axohelp-big.test
+++ b/utils/axodraw2/axodraw2-src/axohelp-big.test
@@ -1,10 +1,11 @@
 #!/bin/sh -vx
 
 # Copyright (C) 2018 John Collins (jcc8 at psu dot edu)
 # You may freely use, modify and/or distribute this file.
 
+# Prevent errors from sed if it encounters non-UTF-8 strings in utf-8 locale
 LC_ALL=C; export LC_ALL;  LANGUAGE=C; export LANGUAGE
 
 # Notes about interpretation of tests:
 # The test file was generated in the compilation of axodraw2's manual,
 # and this test script therefore verifies much functionality of
diff --git a/utils/axodraw2/axodraw2-src/axohelp.c b/utils/axodraw2/axodraw2-src/axohelp.c
index 9846ea642c..6f818d7eff 100644
--- a/utils/axodraw2/axodraw2-src/axohelp.c
+++ b/utils/axodraw2/axodraw2-src/axohelp.c
@@ -1,9 +1,14 @@
 /*
+
+   Need to do:
+   1. Fix reporting of number of object to in-file number
+   2. Or Don't require object 0 for ID line
+
   	#[ License :
 
-    (C) 2016-2018 by authors:
+    (C) 2016-2019 by authors:
             John Collins (jcc8 at psu dot edu)
             Jos Vermaseren (t68 at nikhef dot nl) 
 
     axohelp is free software: you can redistribute it and/or modify it under 
     the terms of the GNU General Public License as published by the Free 
@@ -58,20 +63,21 @@
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
 #include <string.h>
+#include <ctype.h>
 
 /*
   	#] Includes : 
   	#[ Defines :
 */
 
 #define NAME "axohelp"
-#define VERSIONDATE "2018 Feb 20"
+#define VERSIONDATE "2019 Aug 28"
 #define VERSION 1
-#define SUBVERSION 2
+#define SUBVERSION 3
 
 #define COMMENTCHAR '%'
 #define TERMCHAR ';'
  
 #define STROKING 0
@@ -108,11 +114,14 @@ static struct aRRow {
 } arrow;
 double linesep = 0;
 int flip = 0;
 int clockwise = 0;
  
-void OutputString(char *);
+void CleanupOutput(char *str);
+void send( char* str );
+void sendClean( char* str );
+
 void ArrowHead();
 void GetArrow(double *);
 void BezierArrow(double *);
 void ArcSegment(double,double,double);
 double *ReadArray(char *,int *,int *);
@@ -327,115 +336,125 @@ double mod( double x, int n ) {
 /*
   	#] mod : 
   	#[ PDF utilities :
 
     These routines are included to make the program more readable and easier
-    to write. It also allows the easy use of the OutputString routine that
+    to write. It also allows the easy use of the OutputString?? OLD name routine that
     compactifies the output.
 */
 
-#define Stroke outpos += sprintf(outpos," S")
-#define CloseAndStroke outpos += sprintf(outpos," h S")
-#define Fill outpos += sprintf(outpos," f")
-#define CloseAndFill outpos += sprintf(outpos," h f")
-#define SaveGraphicsState outpos += sprintf(outpos," q")
-#define RestoreGraphicsState outpos += sprintf(outpos," Q")
+#define Stroke send(" S")
+#define CloseAndStroke send(" h S")
+#define Fill send(" f")
+#define CloseAndFill send(" h f")
+#define SaveGraphicsState send(" q")
+#define RestoreGraphicsState send(" Q")
 
 void Bezier(double x1,double y1,double x2,double y2,double x3,double y3) {
-    outpos +=
-    sprintf(outpos,"\n %12.3f %12.3f %12.3f %12.3f %12.3f %12.3f c",x1,y1,x2,y2,x3,y3);
+    sprintf(outputbuffer,"\n %12.3f %12.3f %12.3f %12.3f %12.3f %12.3f c",x1,y1,x2,y2,x3,y3);
+    sendClean(outputbuffer);
 }
 
 void LineTo(double x1,double y1) {
-    outpos +=
-    sprintf(outpos,"\n %12.3f %12.3f l",x1,y1);
+    sprintf(outputbuffer,"\n %12.3f %12.3f l",x1,y1);
+    sendClean(outputbuffer);
 }
 
 void MoveTo(double x1,double y1) {
-    outpos +=
-    sprintf(outpos,"\n %12.3f %12.3f m",x1,y1);
+    sprintf(outputbuffer,"\n %12.3f %12.3f m",x1,y1);
+    sendClean(outputbuffer);
 }
 
 void SetLineWidth(double w) {
-    outpos +=
-    sprintf(outpos," %12.3f w",w);
+    sprintf(outputbuffer," %12.3f w",w);
+    sendClean(outputbuffer);
 }
 
 void SetDashSize(double dashsize,double phase) {
-    if ( dashsize ) outpos += sprintf(outpos," [%12.3f] %12.3f d",dashsize,phase);
-    else outpos += sprintf(outpos," [] 0 d");
+    if ( dashsize ) {
+        sprintf(outputbuffer," [%12.3f] %12.3f d",dashsize,phase);
+        sendClean(outputbuffer);
+    }
+    else send(" [] 0 d");
 }
 
 void SetTransferMatrix(double x11,double x12,double x21,double x22,double x,double y)
 {
     if ( ( fabs(x11-1.) > 0.001 ) || ( fabs(x22-1.) > 0.001 )
          || ( fabs(x12) > 0.001 ) || ( fabs(x21) > 0.001 )
          || ( fabs(x) > 0.001 ) || ( fabs(y) > 0.001 ) ) {
-        outpos +=
-        sprintf(outpos,"%12.3f %12.3f %12.3f %12.3f %12.3f %12.3f cm\n",x11,x12,x21,x22,x,y);
+        sprintf(outputbuffer,"%12.3f %12.3f %12.3f %12.3f %12.3f %12.3f cm\n",x11,x12,x21,x22,x,y);
+        sendClean(outputbuffer);
     }
 }
 
 static double BzK;
 
 void BezierCircle(double r,char *action)
 {
+    char *outpos = outputbuffer;
     outpos +=
     sprintf(outpos," %12.3f 0 m %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",-r,-r,r*BzK,-r*BzK,r,r);
     outpos +=
     sprintf(outpos," %12.3f %12.3f %12.3f %12.3f %12.3f 0 c\n",r*BzK,r,r,r*BzK,r);
     outpos +=
     sprintf(outpos," %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",r,-r*BzK,r*BzK,-r,-r);
     outpos +=
     sprintf(outpos," %12.3f %12.3f %12.3f %12.3f %12.3f 0 c %s\n",-r*BzK,-r,-r,-r*BzK,-r,action);
+    sendClean(outputbuffer);
 }
 
 void BezierOval(double w, double h, char *action)
 {
+    char *outpos = outputbuffer;
     outpos +=
     sprintf(outpos," %12.3f 0 m %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",-w,-w,h*BzK,-w*BzK,h,h);
     outpos +=
     sprintf(outpos," %12.3f %12.3f %12.3f %12.3f %12.3f 0 c\n",w*BzK,h,w,h*BzK,w);
     outpos +=
     sprintf(outpos," %12.3f %12.3f %12.3f %12.3f 0 %12.3f c\n",w,-h*BzK,w*BzK,-h,-h);
     outpos +=
     sprintf(outpos," %12.3f %12.3f %12.3f %12.3f %12.3f 0 c %s\n",-w*BzK,-h,-w,-h*BzK,-w,action);
+    sendClean(outputbuffer);
 }
 
 void SetGray(double grayscale,int par)
 {
     if ( par == STROKING ) {
-        outpos += sprintf(outpos," %12.3f G",grayscale);
+        sprintf(outputbuffer," %12.3f G",grayscale);
     }
     else {
-        outpos += sprintf(outpos," %12.3f g",grayscale);
+        sprintf(outputbuffer," %12.3f g",grayscale);
     }
+    sendClean(outputbuffer);
 }
 
 void SetColor(double c, double m, double y, double k,int par)
 {
     if ( par == STROKING ) {
-        outpos += sprintf(outpos," %12.3f %12.3f %12.3f %12.3f K",c,m,y,k);
+        sprintf(outputbuffer," %12.3f %12.3f %12.3f %12.3f K",c,m,y,k);
     }
     else {
-        outpos += sprintf(outpos," %12.3f %12.3f %12.3f %12.3f k",c,m,y,k);
+        sprintf(outputbuffer," %12.3f %12.3f %12.3f %12.3f k",c,m,y,k);
     }
+    sendClean(outputbuffer);
 }
 
 void SetBackgroundColor(int par)
 {
-    if ( par == STROKING ) { outpos += sprintf(outpos," 0 0 0 0 K"); }
-    else                   { outpos += sprintf(outpos," 0 0 0 0 k"); }
+    if ( par == STROKING ) { send(" 0 0 0 0 K"); }
+    else                   { send(" 0 0 0 0 k"); }
 }
 
 void Rectangle(double x,double y,double w,double h) {
-    outpos += sprintf(outpos,"\n %12.3f %12.3f %12.3f %12.3f re",x,y,w,h);
+    sprintf(outputbuffer,"\n %12.3f %12.3f %12.3f %12.3f re",x,y,w,h);
+    sendClean(outputbuffer);
 }
 
 void Triangle(double x1,double y1,double x2,double y2,double x3,double y3) {
-    outpos +=
-    sprintf(outpos,"\n %12.3f %12.3f m %12.3f %12.3f l %12.3f %12.3f l h",x1,y1,x2,y2,x3,y3);
+    sprintf(outputbuffer,"\n %12.3f %12.3f m %12.3f %12.3f l %12.3f %12.3f l h",x1,y1,x2,y2,x3,y3);
+    sendClean(outputbuffer);
 }
 
 /*
   	#] PDF utilities : 
   	#[ Service routines :
@@ -501,24 +520,24 @@ void ArrowHead()
             LineTo(-length*0.5,arrow.width);
             LineTo(-length*0.5+length*arrow.inset,0);
             LineTo(-length*0.5,-arrow.width);
             if (k == 1) {
                 SetBackgroundColor(NONSTROKING);
-                outpos += sprintf(outpos," h f");
+                send(" h f");
             }
             else {
-                outpos += sprintf(outpos," s");
+                send(" s");
             }
             RestoreGraphicsState;
         }
     }
     else {
         MoveTo(length*0.5,0);
         LineTo(-length*0.5,arrow.width);
         LineTo(-length*0.5+length*arrow.inset,0);
         LineTo(-length*0.5,-arrow.width);
-        outpos += sprintf(outpos," h f");
+        send(" h f");
     }
     RestoreGraphicsState;
 }
 
 /*
@@ -926,30 +945,30 @@ char *ReadInput(char *filename)
     FILE *finput;
     long filesize, num;
     char *buffer;
     if ( ( finput = fopen(filename,"r") ) == 0 ) {
         fprintf(stderr,"%s: Cannot open file %s\n",axohelp,filename);
-        exit(-1);
+        exit(1);
     }
     if ( ( fseek(finput,0,SEEK_END) != 0 )
       || ( ( filesize = ftell(finput) ) < 0 )
       || ( fseek(finput,0,SEEK_SET) != 0 ) ) {
         fprintf(stderr,"%s: File error in file %s\n",axohelp,filename);
-        exit(-1);
+        exit(1);
     }
     if ( ( buffer = malloc((filesize+1)*sizeof(char)) ) == 0 ) {
         fprintf(stderr,"%s: Error allocating %ld bytes of memory",axohelp,filesize+1);
-        exit(-1);
+        exit(1);
     }
 /*
         Assume character in file is 1 byte, which is true for all cases
         we currently encounter.
 */
     num = fread( buffer, 1, filesize, finput );
     if ( ferror(finput) ) {
         fprintf(stderr,"%s: Error reading file %s\n",axohelp,filename);
-        exit(-1);
+        exit(1);
     }
 /*
         By definition, fread reads ALL the items specified, or it gets to
         end-of-file, or there is an error.
         It returns the actual number of items successfully read, which
@@ -972,103 +991,131 @@ char *ReadInput(char *filename)
 void CleanupOutput(char *str)
 {
     char *s, *t;
     int period = 0;
     s = t = str;
-    while ( *s && *s != '}' ) {
-        if ( *s == '\n' ) *s = ' ';
-        if ( ( *s == ' ' || *s == '\n' ) && ( s[1] == ' ' || s[1] == '\n' ) ) s++;
-        else *t++ = *s++;
+    // Collapse multiple white space (' ' and '\n') to one.  Remove trailing space.
+    while ( *s ) {
+        if ( *s == '\n' ) {*s = ' '; }
+        if ( (*s == ' ') && ( s[1] == ' ' || s[1] == '\n' || s[1] == 0 ) ) { s++;}
+        else { *t++ = *s++; }
     }
-    while ( *s ) *t++ = *s++;
     *t = 0;
+
+    // Optimize format of numbers:
     s = t = str;
     while ( *s ) {
         if ( *s == '.' ) { period = 1; *t++ = *s++; }
-        else if ( *s == '-' && s[1] == '0' && s[2] == ' ' ) { s++; }
-        else if ( *s <= '9' && *s >= '0' ) { *t++ = *s++; }
-        else if ( *s == '\n' && ( t > str && t[-1] == '\n' ) ) { s++; }
+        else if ( isdigit(*s) ) { *t++ = *s++; }
         else if ( period ) {
-            while ( t > str && t[-1] == '0' ) t--;
-            if ( t > str && t[-1] == '.' ) t--;
-            while ( *s == ' ' && s[1] == ' ' ) s++;
+          while ( t > str && t[-1] == '0' ) { t--; }
+            if ( t > str && t[-1] == '.' ) {
+                t--;
+                // Handle case that number is .000, not e.g. 9.000
+                if (t > str && ! isdigit(t[-1]) ) {
+                  *t++ = '0';
+                }
+            }
             period = 0; *t++ = *s++;
         }
-        else if ( *s == ' ' && s[1] == ' ' ) s++;
         else {
             period = 0; *t++ = *s++;
         }
     }
     *t = 0;
+
+    // Collapse '-0' to '0'
     s = t = str;
     while ( *s ) {
         if ( *s == '-' && s[1] == '0' && s[2] == ' ' ) { s++; }
         else *t++ = *s++;
     }
     *t = 0;
 }
 
 /*
-  	#] CleanupOutput : 
+  	#] CleanupOutput :
+  	#[ send :
+*/
+
+void send( char* str ) {
+    fprintf(outfile, "%s",str);
+}
+
+/*
+  	#] CleanupOutput :
+  	#[ sendClean :
+*/
+
+void sendClean( char* str ) {
+    CleanupOutput(str);
+    send(str);
+}
+
+/*
+  	#] sendClean :
   	#[ DoOneObject :
 */
 
 int DoOneObject(char *cinput)
 {
-    int num, i, num1, num2;
-    char *s, *t, *StartClean;
+    // Single point for exit, to ensure proper clean up.
+    int num, i, num1, num2, retcode;
+    char *s, *t;
     double *argbuf = 0;
+    retcode = -1;
     SetDefaults();
+
+    // Locate number of object:
     s = cinput; while ( *s != '[' ) s++;
     s++; t = s; while ( *t != ']' ) t++;
     *t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
+
+    fprintf(outfile,"\\axo@setObject{%s}%%\n{%s%c}%%\n{",s,t,TERMCHAR);
     outpos = outputbuffer;
-    outpos += sprintf(outpos,"\\axo@setObject{%s}%%\n{%s%c}%%\n{",s,t,TERMCHAR);
-    if ( *s == '0' && s[1] == ']' ) {
+
+    nameobject = t; while ( *t != ' ' && *t != '\t' && *t != '\n' && *t ) t++;
+    *t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
+/*
+        Now nameobject is the name of the command and t points at the first parameter.
+*/
+
+    if ( *s == '0' && s[1] == 0 ) {
 /*
         The identification line.
         In due time we might add more options here.
 */
         if ( strcmp(nameobject,"AxodrawWantsPDF") == 0 ) {
             identification = 1;
-            outpos += sprintf(outpos,"Axohelp version %d.%d. PDF output.}",VERSION,SUBVERSION);
-            fprintf(outfile,"%s",outputbuffer);
-            return(0);
+            fprintf(outfile,"Axohelp version %d.%d. PDF output.",VERSION,SUBVERSION);
+            goto SUCCESS;
         }
         else {
             fprintf(stderr,"%s: Illegal request in identification string [0]: %s\n"
                         ,axohelp,nameobject);
-            if ( argbuf ) free(argbuf);
-            return(-1); 
+            goto EXIT; 
         }
     }
 /*
     if ( identification == 0 ) {
         fprintf(stderr,"%s: No identification string. Check versions.\n",axohelp);
-        if ( argbuf ) free(argbuf);
-        return(-1); 
+        goto EXIT; 
     }
 */
-    StartClean = outpos;
 
-    nameobject = t; while ( *t != ' ' && *t != '\t' && *t != '\n' && *t ) t++;
-    *t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
-/*
-        Now nameobject is the name of the command and t points at the first parameter.
-*/
     if ( ( strcmp(nameobject,"Curve") == 0 )
       || ( strcmp(nameobject,"Polygon") == 0 )
       || ( strcmp(nameobject,"FilledPolygon") == 0 ) ) {
 /*
  		#[ Curve,Polygons :
 */
-        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 ) return(-1);
+        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 )
+             goto EXIT;
         if ( num2-1 != 0 ) {
             fprintf(stderr,"%s: Command %s should have no extra numbers in %s.\n",
                     axohelp,nameobject,inname);
-            free(argbuf);
-            return(-1);
+            goto EXIT;
         }
         else {
 /*
             First some 'fixed' operations to set the state right
             1: scale      2: linewidth      3: color
@@ -1085,25 +1132,26 @@ int DoOneObject(char *cinput)
             }
             else if ( strcmp(nameobject,"FilledPolygon") == 0 ) {
                 Polygon(argbuf,num1,1);
             }
             free(argbuf);
+            argbuf = 0;
         }
 /*
  		#] Curve,Polygons : 
 */
     }
     else if ( strcmp(nameobject,"DashCurve") == 0 ) {
 /*
  		#[ DashCurve :
 */
-        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 ) return(-1);
+        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 )
+          goto EXIT;
         if ( num2 != 2 ) {
             fprintf(stderr,"%s: Command %s does not have two numbers after the coordinates\n  in file %s.\n",
                     axohelp,nameobject,inname);
-            free(argbuf);
-            return(-1);
+            goto EXIT;
         }
         else {
 /*
             First some 'fixed' operations to set the state right
             1: scale      2: linewidth      3: color
@@ -1112,20 +1160,22 @@ int DoOneObject(char *cinput)
 */
             axolinewidth = argbuf[2*num1+num2-1];
             SetLineWidth(axolinewidth);
             DashCurve(argbuf,num1);
             free(argbuf);
+            argbuf = 0;
         }
 /*
  		#] DashCurve : 
 */
     }
     else {
 /*
  		#[ Regular command :
 */
-        if ( ( argbuf = ReadTail(t,&num) ) == 0 ) return(-1);
+        if ( ( argbuf = ReadTail(t,&num) ) == 0 )
+          goto EXIT;
         for ( i = 0; i < sizeof(commands)/sizeof(KEYWORD); i++ ) {
             if ( strcmp(nameobject,commands[i].name) == 0 ) {
                 if ( num == commands[i].numargs+1 ) {
 /*
                     First some 'fixed' operations to set the state right
@@ -1135,34 +1185,35 @@ int DoOneObject(char *cinput)
 */
                     axolinewidth = argbuf[num-1];
                     SetLineWidth(axolinewidth);
                     (*(commands[i].func))(argbuf);
                     free(argbuf);
+                    argbuf = 0;
                     break;
                 }
                 else {
                     fprintf(stderr,"%s: Command %s should have %d(+1) arguments in %s.\n"
                         ,axohelp,nameobject,commands[i].numargs,inname);
-                    free(argbuf);
-                    return(-1); 
+                    goto EXIT; 
                 }
             }
         }
 /*
  		#] Regular command : 
 */
         if ( i >= sizeof(commands)/sizeof(KEYWORD) ) {
             fprintf(stderr,"%s: Command %s not recognized in file %s.\n",
                     axohelp,nameobject,inname);
-            free(argbuf);
-            return(-1); 
+            goto EXIT; 
         }
     }
-    outpos += sprintf(outpos,"}\n");
-    CleanupOutput(StartClean);
-    fprintf(outfile,"%s",outputbuffer);
-    return(0);
+ SUCCESS:
+    retcode = 0;
+ EXIT:
+    if (argbuf) { free(argbuf); }
+    fprintf(outfile,"}\n");
+    return(retcode);
 }
 
 /*
   	#] DoOneObject : 
   	#[ PrintHelp :
@@ -1217,11 +1268,11 @@ int main(int argc,char **argv)
     Inivars();
     argc--;
     axohelp = *argv++;
     if ( argc <= 0 ) {
         PrintHelp(axohelp);
-	return -1;
+	return 1;
     }
     while ( (*argv)[0] == '-' ) {   /* we have options */
         s = *argv;
         if ( s[1] == '-' ) {
   	    /* Double "--", treat as "-" */
@@ -1244,23 +1295,23 @@ int main(int argc,char **argv)
             VerboseFlag = 1;
         }
         else {
  	    fprintf(stderr,"%s: Illegal option %s\n", axohelp, *argv);
             PrintHelpPrompt(axohelp);
-	    return -1;
+	    return 1;
         }
         argc--; argv++;
         if ( argc <= 0 ) {
             fprintf(stderr,"%s: Not enough arguments\n",axohelp);
             PrintHelpPrompt(axohelp);
-	    return -1;
+	    return 1;
         }
     }
     if ( argc != 1 ) {
         fprintf(stderr,"%s: Too many arguments\n",axohelp);
         PrintHelpPrompt(axohelp);
-        return -1;
+        return 1;
     }
 /*
     The filename is now in s. We copy it to a separate string and
     paste on the extension .ax1 (if needed), and construct the
     name of the output file.
@@ -1274,25 +1325,25 @@ int main(int argc,char **argv)
     }
     else {
         strcpy( inname+length, ".ax1" );
         strcpy( outname+length, ".ax2" );
     }
-    if ( ( inbuffer = ReadInput(inname) ) == 0 ) return(-1);
+    if ( ( inbuffer = ReadInput(inname) ) == 0 ) return(1);
     if ( ( outfile = fopen(outname,"w") ) == 0 ) {
         fprintf(stderr,"%s: Cannot create file %s\n",axohelp,outname);
-        exit(-1);
+        exit(1);
     }
     num = ScanForObjects(inbuffer);
     for ( i = 0; i < num; i++ ) {
         numobject = i+1;
         if ( DoOneObject(inputs[i]) < 0 ) { error++; }
     }
     fclose(outfile);
     if ( error > 0 ) {
         fprintf(stderr,"%s: %d objects in %s were not translated correctly.\n",
             axohelp,error,inname);
-        return(-1);
+        return(1);
     }
     return(0);
 }
 
 /*
diff --git a/utils/axodraw2/axodraw2-src/axohelp.test b/utils/axodraw2/axodraw2-src/axohelp.test
index f5f1b9beb1..c54130f355 100755
--- a/utils/axodraw2/axodraw2-src/axohelp.test
+++ b/utils/axodraw2/axodraw2-src/axohelp.test
@@ -4,10 +4,13 @@
 # You may freely use, modify and/or distribute this file.
 #
 # This test is a rudimentary test of axohelp in a form suitable for
 # use in TeXLive builds.
 
+# Prevent errors from sed if it encounters non-UTF-8 strings in utf-8 locale
+LC_ALL=C; export LC_ALL;  LANGUAGE=C; export LANGUAGE
+
 if test -z "$test_srcdir"; then
   # If not set, then we are not running from `make check'.
   test_srcdir=`echo "$0" | sed -e 's,/[^\\/]*$,,'`  # == dirname $0
   test "$test_srcdir" = "$0" && test_srcdir=.       # in case subst failed
 fi
diff --git a/utils/axodraw2/axodraw2-src/test-big.ax2-std b/utils/axodraw2/axodraw2-src/test-big.ax2-std
index 178802a3c0..ccc1a1331c 100644
--- a/utils/axodraw2/axodraw2-src/test-big.ax2-std
+++ b/utils/axodraw2/axodraw2-src/test-big.ax2-std
@@ -13,17 +13,17 @@
 \axo@setObject{5}%
 {AxoGluon 0 50 60 50 5 4 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 0 50 cm 12 -5 m 16.5 -5 16.5 5 8.4 5 c 3 5 0.6 2.5 0 0 c S 12 -5 m 7.5 -5 7.5 5 18 5 c 28.5 5 28.5 -5 24 -5 c 19.5 -5 19.5 5 30 5 c 40.5 5 40.5 -5 36 -5 c 31.5 -5 31.5 5 42 5 c 52.5 5 52.5 -5 48 -5 c 43.5 -5 43.5 5 51.6 5 c 57 5 59.4 2.5 60 0 c S}
 \axo@setObject{6}%
 {Vertex 60 50 2 0.5;}%
-{ 0.5 w 1 0 0 1 60 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 60 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{7}%
 {AxoGluon 140 50 200 50 5 4 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 140 50 cm 12 -5 m 16.5 -5 16.5 5 8.4 5 c 3 5 0.6 2.5 0 0 c S 12 -5 m 7.5 -5 7.5 5 18 5 c 28.5 5 28.5 -5 24 -5 c 19.5 -5 19.5 5 30 5 c 40.5 5 40.5 -5 36 -5 c 31.5 -5 31.5 5 42 5 c 52.5 5 52.5 -5 48 -5 c 43.5 -5 43.5 5 51.6 5 c 57 5 59.4 2.5 60 0 c S}
 \axo@setObject{8}%
 {Vertex 140 50 2 0.5;}%
-{ 0.5 w 1 0 0 1 140 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 140 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{9}%
 {Grid 0 0 10 10 9 14 0.5;}%
 { 0.5 w 0 0 m 0 140 l S 10 0 m 10 140 l S 20 0 m 20 140 l S 30 0 m 30 140 l S 40 0 m 40 140 l S 50 0 m 50 140 l S 60 0 m 60 140 l S 70 0 m 70 140 l S 80 0 m 80 140 l S 90 0 m 90 140 l S 0 0 m 90 0 l S 0 10 m 90 10 l S 0 20 m 90 20 l S 0 30 m 90 30 l S 0 40 m 90 40 l S 0 50 m 90 50 l S 0 60 m 90 60 l S 0 70 m 90 70 l S 0 80 m 90 80 l S 0 90 m 90 90 l S 0 100 m 90 100 l S 0 110 m 90 110 l S 0 120 m 90 120 l S 0 130 m 90 130 l S 0 140 m 90 140 l S}
 \axo@setObject{10}%
 {Grid 0 0 10 10 9 4 0.5;}%
@@ -355,32 +355,32 @@
 \axo@setObject{119}%
 {AxoPhoton 40 10 40 40 4 3 0 0 0.5;}%
 { 0.5 w 1 0 0 1 40 10 cm 0 1 -1 0 0 0 cm 0 0 m 2.122 5.333 2.878 5.333 5 0 c 7.122 -5.333 7.878 -5.333 10 0 c 12.122 5.333 12.878 5.333 15 0 c 17.122 -5.333 17.878 -5.333 20 0 c 22.122 5.333 22.878 5.333 25 0 c 27.122 -5.333 27.878 -5.333 30 0 c S}
 \axo@setObject{120}%
 {Vertex 40 10 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 40 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 40 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{121}%
 {Grid 0 0 10 10 6 6 0.5;}%
 { 0.5 w 0 0 m 0 60 l S 10 0 m 10 60 l S 20 0 m 20 60 l S 30 0 m 30 60 l S 40 0 m 40 60 l S 50 0 m 50 60 l S 60 0 m 60 60 l S 0 0 m 60 0 l S 0 10 m 60 10 l S 0 20 m 60 20 l S 0 30 m 60 30 l S 0 40 m 60 40 l S 0 50 m 60 50 l S 0 60 m 60 60 l S}
 \axo@setObject{122}%
 {AxoLine 0 0 60 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 0 0 m 60 60 l S}
 \axo@setObject{123}%
 {ECirc 30 30 20 0.5;}%
-{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
+{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
 \axo@setObject{124}%
 {Grid 0 0 10 10 6 6 0.5;}%
 { 0.5 w 0 0 m 0 60 l S 10 0 m 10 60 l S 20 0 m 20 60 l S 30 0 m 30 60 l S 40 0 m 40 60 l S 50 0 m 50 60 l S 60 0 m 60 60 l S 0 0 m 60 0 l S 0 10 m 60 10 l S 0 20 m 60 20 l S 0 30 m 60 30 l S 0 40 m 60 40 l S 0 50 m 60 50 l S 0 60 m 60 60 l S}
 \axo@setObject{125}%
 {AxoLine 0 0 60 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 0 0 m 60 60 l S}
 \axo@setObject{126}%
 {Vertex 30 30 20 0.5;}%
-{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f }
+{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f}
 \axo@setObject{127}%
 {ECirc 30 30 20 0.5;}%
-{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
+{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
 \axo@setObject{128}%
 {AxoLine 60 0 0 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 60 0 m 0 60 l S}
 \axo@setObject{129}%
 {Grid 0 0 10 10 6 6 0.5;}%
@@ -388,14 +388,14 @@
 \axo@setObject{130}%
 {AxoLine 0 0 60 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 0 0 m 60 60 l S}
 \axo@setObject{131}%
 {Vertex 30 30 20 0.5;}%
-{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f }
+{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f}
 \axo@setObject{132}%
 {ECirc 30 30 20 0.5;}%
-{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
+{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
 \axo@setObject{133}%
 {AxoLine 60 0 0 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 60 0 m 0 60 l S}
 \axo@setObject{134}%
 {Grid 0 0 10 10 6 6 0.5;}%
@@ -403,44 +403,44 @@
 \axo@setObject{135}%
 {AxoLine 0 0 60 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 0 0 m 60 60 l S}
 \axo@setObject{136}%
 {Vertex 30 30 20 0.5;}%
-{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f }
+{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f}
 \axo@setObject{137}%
 {ECirc 30 30 20 0.5;}%
-{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
+{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
 \axo@setObject{138}%
 {AxoLine 60 0 0 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 60 0 m 0 60 l S}
 \axo@setObject{139}%
 {Grid 0 0 10 10 8 11 0.5;}%
 { 0.5 w 0 0 m 0 110 l S 10 0 m 10 110 l S 20 0 m 20 110 l S 30 0 m 30 110 l S 40 0 m 40 110 l S 50 0 m 50 110 l S 60 0 m 60 110 l S 70 0 m 70 110 l S 80 0 m 80 110 l S 0 0 m 80 0 l S 0 10 m 80 10 l S 0 20 m 80 20 l S 0 30 m 80 30 l S 0 40 m 80 40 l S 0 50 m 80 50 l S 0 60 m 80 60 l S 0 70 m 80 70 l S 0 80 m 80 80 l S 0 90 m 80 90 l S 0 100 m 80 100 l S 0 110 m 80 110 l S}
 \axo@setObject{140}%
 {Oval 40 80 20 30 0 0.5;}%
-{ 0.5 w 1 0 0 1 40 80 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
+{ 0.5 w 1 0 0 1 40 80 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
 \axo@setObject{141}%
 {Oval 40 30 20 30 30 0.5;}%
-{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
+{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
 \axo@setObject{142}%
 {Grid 0 0 10 10 8 6 0.5;}%
 { 0.5 w 0 0 m 0 60 l S 10 0 m 10 60 l S 20 0 m 20 60 l S 30 0 m 30 60 l S 40 0 m 40 60 l S 50 0 m 50 60 l S 60 0 m 60 60 l S 70 0 m 70 60 l S 80 0 m 80 60 l S 0 0 m 80 0 l S 0 10 m 80 10 l S 0 20 m 80 20 l S 0 30 m 80 30 l S 0 40 m 80 40 l S 0 50 m 80 50 l S 0 60 m 80 60 l S}
 \axo@setObject{143}%
 {FOval 40 30 20 30 30 0.5;}%
-{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
+{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
 \axo@setObject{144}%
 {Grid 0 0 10 10 8 6 0.5;}%
 { 0.5 w 0 0 m 0 60 l S 10 0 m 10 60 l S 20 0 m 20 60 l S 30 0 m 30 60 l S 40 0 m 40 60 l S 50 0 m 50 60 l S 60 0 m 60 60 l S 70 0 m 70 60 l S 80 0 m 80 60 l S 0 0 m 80 0 l S 0 10 m 80 10 l S 0 20 m 80 20 l S 0 30 m 80 30 l S 0 40 m 80 40 l S 0 50 m 80 50 l S 0 60 m 80 60 l S}
 \axo@setObject{145}%
 {AxoLine 0 0 80 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 0 0 m 80 60 l S}
 \axo@setObject{146}%
 {FOval 40 30 20 30 0 0.5;}%
-{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
+{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
 \axo@setObject{147}%
 {Oval 40 30 20 30 0 0.5;}%
-{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
+{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
 \axo@setObject{148}%
 {AxoLine 80 0 0 60 0 0  0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w 80 0 m 0 60 l S}
 \axo@setObject{149}%
 {Grid 0 0 10 10 8 6 0.5;}%
@@ -448,14 +448,14 @@
 \axo@setObject{150}%
 {AxoLine 0 0 80 60 0 0  0 0 0 0 0 0 0 0  0 1;}%
 { 1 w 0 0 m 80 60 l S}
 \axo@setObject{151}%
 {FOval 40 30 20 30 20 1;}%
-{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
+{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
 \axo@setObject{152}%
 {Oval 40 30 20 30 20 1;}%
-{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
+{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
 \axo@setObject{153}%
 {AxoLine 80 0 0 60 0 0  0 0 0 0 0 0 0 0  0 1;}%
 { 1 w 80 0 m 0 60 l S}
 \axo@setObject{154}%
 {Grid 0 0 10 10 6 5 0.5;}%
@@ -607,41 +607,41 @@
 \axo@setObject{203}%
 {Grid 0 0 10 10 9 9 0.5;}%
 { 0.5 w 0 0 m 0 90 l S 10 0 m 10 90 l S 20 0 m 20 90 l S 30 0 m 30 90 l S 40 0 m 40 90 l S 50 0 m 50 90 l S 60 0 m 60 90 l S 70 0 m 70 90 l S 80 0 m 80 90 l S 90 0 m 90 90 l S 0 0 m 90 0 l S 0 10 m 90 10 l S 0 20 m 90 20 l S 0 30 m 90 30 l S 0 40 m 90 40 l S 0 50 m 90 50 l S 0 60 m 90 60 l S 0 70 m 90 70 l S 0 80 m 90 80 l S 0 90 m 90 90 l S}
 \axo@setObject{204}%
 {Vertex 10 10 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{205}%
 {Vertex 45 45 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{206}%
 {Vertex 80 80 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{207}%
 {Grid 0 0 10 10 9 9 0.5;}%
 { 0.5 w 0 0 m 0 90 l S 10 0 m 10 90 l S 20 0 m 20 90 l S 30 0 m 30 90 l S 40 0 m 40 90 l S 50 0 m 50 90 l S 60 0 m 60 90 l S 70 0 m 70 90 l S 80 0 m 80 90 l S 90 0 m 90 90 l S 0 0 m 90 0 l S 0 10 m 90 10 l S 0 20 m 90 20 l S 0 30 m 90 30 l S 0 40 m 90 40 l S 0 50 m 90 50 l S 0 60 m 90 60 l S 0 70 m 90 70 l S 0 80 m 90 80 l S 0 90 m 90 90 l S}
 \axo@setObject{208}%
 {Vertex 10 10 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{209}%
 {Vertex 45 45 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{210}%
 {Vertex 80 10 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 80 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 80 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{211}%
 {Grid 0 0 10 10 9 9 0.5;}%
 { 0.5 w 0 0 m 0 90 l S 10 0 m 10 90 l S 20 0 m 20 90 l S 30 0 m 30 90 l S 40 0 m 40 90 l S 50 0 m 50 90 l S 60 0 m 60 90 l S 70 0 m 70 90 l S 80 0 m 80 90 l S 90 0 m 90 90 l S 0 0 m 90 0 l S 0 10 m 90 10 l S 0 20 m 90 20 l S 0 30 m 90 30 l S 0 40 m 90 40 l S 0 50 m 90 50 l S 0 60 m 90 60 l S 0 70 m 90 70 l S 0 80 m 90 80 l S 0 90 m 90 90 l S}
 \axo@setObject{212}%
 {Vertex 10 10 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{213}%
 {Vertex 45 45 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{214}%
 {Vertex 80 80 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{215}%
 {Grid 0 0 10 10 10 9 0.5;}%
 { 0.5 w 0 0 m 0 90 l S 10 0 m 10 90 l S 20 0 m 20 90 l S 30 0 m 30 90 l S 40 0 m 40 90 l S 50 0 m 50 90 l S 60 0 m 60 90 l S 70 0 m 70 90 l S 80 0 m 80 90 l S 90 0 m 90 90 l S 100 0 m 100 90 l S 0 0 m 100 0 l S 0 10 m 100 10 l S 0 20 m 100 20 l S 0 30 m 100 30 l S 0 40 m 100 40 l S 0 50 m 100 50 l S 0 60 m 100 60 l S 0 70 m 100 70 l S 0 80 m 100 80 l S 0 90 m 100 90 l S}
 \axo@setObject{216}%
 {AxoLine 30 65 60 25 0 0  0  0  0  0.2 1 1.25 0.5 1   0 0.5;}%
@@ -838,14 +838,14 @@
 \axo@setObject{280}%
 {AxoGluon 73 30 93 30 3 3 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 73 30 cm 5 -3 m 7.7 -3 7.7 3 3.5 3 c 1.25 3 0.25 1.5 0 0 c S 5 -3 m 2.3 -3 2.3 3 7.5 3 c 12.7 3 12.7 -3 10 -3 c 7.3 -3 7.3 3 12.5 3 c 17.7 3 17.7 -3 15 -3 c 12.3 -3 12.3 3 16.5 3 c 18.75 3 19.75 1.5 20 0 c S}
 \axo@setObject{281}%
 {Vertex 27 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 27 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 27 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{282}%
 {Vertex 73 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 73 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 73 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{283}%
 {AxoGluon 110 30 130 30 3 3 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 110 30 cm 5 -3 m 7.7 -3 7.7 3 3.5 3 c 1.25 3 0.25 1.5 0 0 c S 5 -3 m 2.3 -3 2.3 3 7.5 3 c 12.7 3 12.7 -3 10 -3 c 7.3 -3 7.3 3 12.5 3 c 17.7 3 17.7 -3 15 -3 c 12.3 -3 12.3 3 16.5 3 c 18.75 3 19.75 1.5 20 0 c S}
 \axo@setObject{284}%
 {AxoGluonArc 150 30 20 0 180 3 8 0 0 0 0.5;}%
@@ -856,14 +856,14 @@
 \axo@setObject{286}%
 {AxoGluon 170 30 190 30 3 3 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 170 30 cm 5 -3 m 7.7 -3 7.7 3 3.5 3 c 1.25 3 0.25 1.5 0 0 c S 5 -3 m 2.3 -3 2.3 3 7.5 3 c 12.7 3 12.7 -3 10 -3 c 7.3 -3 7.3 3 12.5 3 c 17.7 3 17.7 -3 15 -3 c 12.3 -3 12.3 3 16.5 3 c 18.75 3 19.75 1.5 20 0 c S}
 \axo@setObject{287}%
 {Vertex 130 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 130 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 130 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{288}%
 {Vertex 170 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 170 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 170 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{289}%
 {AxoGluon 210 30 230 30 3 3 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 210 30 cm 5 -3 m 7.7 -3 7.7 3 3.5 3 c 1.25 3 0.25 1.5 0 0 c S 5 -3 m 2.3 -3 2.3 3 7.5 3 c 12.7 3 12.7 -3 10 -3 c 7.3 -3 7.3 3 12.5 3 c 17.7 3 17.7 -3 15 -3 c 12.3 -3 12.3 3 16.5 3 c 18.75 3 19.75 1.5 20 0 c S}
 \axo@setObject{290}%
 {AxoGluonArc 250 30 20 0 180 -3 8 0 0 0 0.5;}%
@@ -874,32 +874,32 @@
 \axo@setObject{292}%
 {AxoGluon 270 30 290 30 3 3 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 270 30 cm 5 -3 m 7.7 -3 7.7 3 3.5 3 c 1.25 3 0.25 1.5 0 0 c S 5 -3 m 2.3 -3 2.3 3 7.5 3 c 12.7 3 12.7 -3 10 -3 c 7.3 -3 7.3 3 12.5 3 c 17.7 3 17.7 -3 15 -3 c 12.3 -3 12.3 3 16.5 3 c 18.75 3 19.75 1.5 20 0 c S}
 \axo@setObject{293}%
 {Vertex 230 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 230 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 230 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{294}%
 {Vertex 270 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 270 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 270 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{295}%
 {AxoLine 310 30 330 30 0 3   0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w [ 3.333] 1.667 d 310 30 m 330 30 l S}
 \axo@setObject{296}%
 {AxoGluonArc 350 30 20 -180 180 3 16 0 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 350 30 cm -1 0 0 -1 0 0 cm 15.852 6.141 m 15.018 8.294 20.758 11.464 22.235 5.884 c 23.222 2.152 21.496 0.397 20 0 c S 15.852 6.141 m 16.686 3.988 23.565 5.632 19.555 12.108 c 15.545 18.584 11.008 13.159 12.563 11.453 c 14.119 9.746 19.939 13.764 13.861 18.354 c 7.782 22.945 5.511 16.247 7.578 15.218 c 9.645 14.189 13.62 20.038 6.294 22.122 c -1.032 24.206 -0.731 17.141 1.569 16.927 c 3.868 16.714 5.462 23.605 -2.122 22.902 c -9.707 22.199 -6.873 15.719 -4.652 16.351 c -2.431 16.983 -3.434 23.984 -10.252 20.589 c -17.07 17.194 -12.087 12.175 -10.245 13.566 c -8.402 14.958 -11.866 21.124 -16.997 15.495 c -22.129 9.866 -15.669 6.986 -14.454 8.949 c -13.238 10.913 -18.695 15.411 -21.447 8.309 c -24.198 1.206 -17.135 0.854 -16.711 3.124 c -16.286 5.393 -23 7.617 -23 0 c -23 -7.617 -16.286 -5.393 -16.711 -3.124 c -17.135 -0.854 -24.198 -1.206 -21.447 -8.309 c -18.695 -15.411 -13.238 -10.913 -14.454 -8.949 c -15.669 -6.986 -22.129 -9.866 -16.997 -15.495 c -11.866 -21.124 -8.402 -14.958 -10.245 -13.566 c -12.087 -12.175 -17.07 -17.194 -10.252 -20.589 c -3.434 -23.984 -2.431 -16.983 -4.652 -16.351 c -6.873 -15.719 -9.707 -22.199 -2.122 -22.902 c 5.462 -23.605 3.868 -16.714 1.569 -16.927 c -0.731 -17.141 -1.032 -24.206 6.294 -22.122 c 13.62 -20.038 9.645 -14.189 7.578 -15.218 c 5.511 -16.247 7.782 -22.945 13.861 -18.354 c 19.939 -13.764 14.119 -9.746 12.563 -11.453 c 11.008 -13.159 15.545 -18.584 19.555 -12.108 c 23.565 -5.632 16.686 -3.988 15.852 -6.141 c 15.018 -8.294 20.758 -11.464 22.235 -5.884 c 23.222 -2.152 21.496 -0.397 20 0 c S}
 \axo@setObject{297}%
 {Vertex 330 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 330 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 330 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{298}%
 {AxoLine 387 30 407 30 0 3   0 0 0 0 0 0 0 0  0 0.5;}%
 { 0.5 w [ 3.333] 1.667 d 387 30 m 407 30 l S}
 \axo@setObject{299}%
 {AxoGluonCirc 430 30 20 0 3 16 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 430 30 cm 0.981 0.195 -0.195 0.981 0 0 cm 22.558 4.487 m 21.014 12.248 14.822 8.639 15.706 6.506 c 16.59 4.372 23.52 6.199 19.124 12.778 c 14.728 19.357 10.388 13.654 12.021 12.021 c 13.654 10.388 19.357 14.728 12.778 19.124 c 6.199 23.52 4.372 16.59 6.506 15.706 c 8.639 14.822 12.248 21.014 4.487 22.558 c -3.274 24.102 -2.309 17 0 17 c 2.309 17 3.274 24.102 -4.487 22.558 c -12.248 21.014 -8.639 14.822 -6.506 15.706 c -4.372 16.59 -6.199 23.52 -12.778 19.124 c -19.357 14.728 -13.654 10.388 -12.021 12.021 c -10.388 13.654 -14.728 19.357 -19.124 12.778 c -23.52 6.199 -16.59 4.372 -15.706 6.506 c -14.822 8.639 -21.014 12.248 -22.558 4.487 c -24.102 -3.274 -17 -2.309 -17 0 c -17 2.309 -24.102 3.274 -22.558 -4.487 c -21.014 -12.248 -14.822 -8.639 -15.706 -6.506 c -16.59 -4.372 -23.52 -6.199 -19.124 -12.778 c -14.728 -19.357 -10.388 -13.654 -12.021 -12.021 c -13.654 -10.388 -19.357 -14.728 -12.778 -19.124 c -6.199 -23.52 -4.372 -16.59 -6.506 -15.706 c -8.639 -14.822 -12.248 -21.014 -4.487 -22.558 c 3.274 -24.102 2.309 -17 0 -17 c -2.309 -17 -3.274 -24.102 4.487 -22.558 c 12.248 -21.014 8.639 -14.822 6.506 -15.706 c 4.372 -16.59 6.199 -23.52 12.778 -19.124 c 19.357 -14.728 13.654 -10.388 12.021 -12.021 c 10.388 -13.654 14.728 -19.357 19.124 -12.778 c 23.52 -6.199 16.59 -4.372 15.706 -6.506 c 14.822 -8.639 21.014 -12.248 22.558 -4.487 c 24.102 3.274 17 2.309 17 0 c 17 -2.309 24.102 -3.274 22.558 4.487 c S}
 \axo@setObject{300}%
 {Vertex 407 30 1.5 0.5;}%
-{ 0.5 w 1 0 0 1 407 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
+{ 0.5 w 1 0 0 1 407 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
 \axo@setObject{301}%
 {Grid 0 0 10 10 15 10 0.5;}%
 { 0.5 w 0 0 m 0 100 l S 10 0 m 10 100 l S 20 0 m 20 100 l S 30 0 m 30 100 l S 40 0 m 40 100 l S 50 0 m 50 100 l S 60 0 m 60 100 l S 70 0 m 70 100 l S 80 0 m 80 100 l S 90 0 m 90 100 l S 100 0 m 100 100 l S 110 0 m 110 100 l S 120 0 m 120 100 l S 130 0 m 130 100 l S 140 0 m 140 100 l S 150 0 m 150 100 l S 0 0 m 150 0 l S 0 10 m 150 10 l S 0 20 m 150 20 l S 0 30 m 150 30 l S 0 40 m 150 40 l S 0 50 m 150 50 l S 0 60 m 150 60 l S 0 70 m 150 70 l S 0 80 m 150 80 l S 0 90 m 150 90 l S 0 100 m 150 100 l S}
 \axo@setObject{302}%
 {AxoLine 10 50 100 50 0 0  3  40 0  0.3  1 1  1  1   0 3;}%
@@ -1174,32 +1174,32 @@
 \axo@setObject{392}%
 {AxoGluon 100 40 100 10 3 4 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 100 40 cm 0 -1 1 0 0 0 cm 6 -3 m 8.7 -3 8.7 3 4.2 3 c 1.5 3 0.3 1.5 0 0 c S 6 -3 m 3.3 -3 3.3 3 9 3 c 14.7 3 14.7 -3 12 -3 c 9.3 -3 9.3 3 15 3 c 20.7 3 20.7 -3 18 -3 c 15.3 -3 15.3 3 21 3 c 26.7 3 26.7 -3 24 -3 c 21.3 -3 21.3 3 25.8 3 c 28.5 3 29.7 1.5 30 0 c S}
 \axo@setObject{393}%
 {Vertex 37 70 2 0.5;}%
-{ 0.5 w 1 0 0 1 37 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 37 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{394}%
 {Vertex 163 70 2 0.5;}%
-{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{395}%
 {Vertex 70 100 2 0.5;}%
-{ 0.5 w 1 0 0 1 70 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 70 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{396}%
 {Vertex 70 40 2 0.5;}%
-{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{397}%
 {Vertex 130 100 2 0.5;}%
-{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{398}%
 {Vertex 130 40 2 0.5;}%
-{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{399}%
 {Vertex 100 100 2 0.5;}%
-{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{400}%
 {Vertex 100 40 2 0.5;}%
-{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{401}%
 {AxoPhoton 7 70 40 70 4 3 0 0 0.5;}%
 { 0.5 w 1 0 0 1 7 70 cm 0 0 m 2.334 5.333 3.166 5.333 5.5 0 c 7.834 -5.333 8.666 -5.333 11 0 c 13.334 5.333 14.166 5.333 16.5 0 c 18.834 -5.333 19.666 -5.333 22 0 c 24.334 5.333 25.166 5.333 27.5 0 c 29.834 -5.333 30.666 -5.333 33 0 c S}
 \axo@setObject{402}%
 {AxoPhoton 7 70 40 70 -4 3 0 0 0.5;}%
@@ -1240,29 +1240,29 @@
 \axo@setObject{414}%
 {AxoGluon 100 40 100 10 3 4 0 0 0.5;}%
 { 0.5 w 0.5 w 1 0 0 1 100 40 cm 0 -1 1 0 0 0 cm 6 -3 m 8.7 -3 8.7 3 4.2 3 c 1.5 3 0.3 1.5 0 0 c S 6 -3 m 3.3 -3 3.3 3 9 3 c 14.7 3 14.7 -3 12 -3 c 9.3 -3 9.3 3 15 3 c 20.7 3 20.7 -3 18 -3 c 15.3 -3 15.3 3 21 3 c 26.7 3 26.7 -3 24 -3 c 21.3 -3 21.3 3 25.8 3 c 28.5 3 29.7 1.5 30 0 c S}
 \axo@setObject{415}%
 {Vertex 40 70 2 0.5;}%
-{ 0.5 w 1 0 0 1 40 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 40 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{416}%
 {Vertex 163 70 2 0.5;}%
-{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{417}%
 {Vertex 70 40 2 0.5;}%
-{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{418}%
 {Vertex 130 100 2 0.5;}%
-{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{419}%
 {Vertex 130 40 2 0.5;}%
-{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{420}%
 {Vertex 100 100 2 0.5;}%
-{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{421}%
 {Vertex 100 40 2 0.5;}%
-{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
+{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
 \axo@setObject{422}%
 {AxoArc 40 35 25 90 270 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
 { 0.5 w 1 0 0 1 40 35 cm 0 25 m -13.807 25 -25 13.807 -25 0 c -25 -13.807 -13.807 -25 0 -25 c S}
 \axo@setObject{423}%
 {AxoArc 60 35 25 270 90 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
@@ -1291,11 +1291,11 @@
 \axo@setObject{431}%
 {AxoArc 40 35 25 90 180 0 0  0 0 0 0 0 0 0 0  0 0 3;}%
 { 3 w 1 0 0 1 40 35 cm 0 25 m -13.807 25 -25 13.807 -25 0 c S}
 \axo@setObject{432}%
 {Vertex 50 60 1.3 3;}%
-{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
+{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
 \axo@setObject{433}%
 {AxoArc 40 35 25 90 270 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
 { 0.5 w 1 0 0 1 40 35 cm 0 25 m -13.807 25 -25 13.807 -25 0 c -25 -13.807 -13.807 -25 0 -25 c S}
 \axo@setObject{434}%
 {AxoArc 60 35 25 270 90 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
@@ -1324,11 +1324,11 @@
 \axo@setObject{442}%
 {AxoArc 40 35 25 90 180 0 0  0 0 0 0 0 0 0 0  0 0 3;}%
 { 3 w 1 0 0 1 40 35 cm 0 25 m -13.807 25 -25 13.807 -25 0 c S}
 \axo@setObject{443}%
 {Vertex 50 60 1.3 3;}%
-{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
+{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
 \axo@setObject{444}%
 {AxoArc 40 35 25 90 270 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
 { 0.5 w 1 0 0 1 40 35 cm 0 25 m -13.807 25 -25 13.807 -25 0 c -25 -13.807 -13.807 -25 0 -25 c S}
 \axo@setObject{445}%
 {AxoArc 60 35 25 270 90 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
@@ -1384,11 +1384,11 @@
 \axo@setObject{462}%
 {AxoArc 40 35 25 90 180 0 0  0 0 0 0 0 0 0 0  0 0 3;}%
 { 3 w 1 0 0 1 40 35 cm 0 25 m -13.807 25 -25 13.807 -25 0 c S}
 \axo@setObject{463}%
 {Vertex 50 60 1.3 3;}%
-{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
+{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
 \axo@setObject{464}%
 {AxoArc 40 35 25 90 270 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
 { 0.5 w 1 0 0 1 40 35 cm 0 25 m -13.807 25 -25 13.807 -25 0 c -25 -13.807 -13.807 -25 0 -25 c S}
 \axo@setObject{465}%
 {AxoArc 60 35 25 270 90 0 0  0 0 0 0 0 0 0 0  0 0 0.5;}%
@@ -1411,11 +1411,11 @@
 \axo@setObject{471}%
 {AxoLine 50 10 50 60 0 0  0 0 0 0 0 0 0 0  0 3;}%
 { 3 w 50 10 m 50 60 l S}
 \axo@setObject{472}%
 {Vertex 50 60 1.3 3;}%
-{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
+{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
 \axo@setObject{473}%
 {AxoLine 40 60 50 60 0 0  0 0 0 0 0 0 0 0  0 3;}%
 { 3 w 40 60 m 50 60 l S}
 \axo@setObject{474}%
 {AxoArc 40 35 25 90 180 0 0  0 0 0 0 0 0 0 0  0 0 3;}%
@@ -1471,11 +1471,11 @@
 \axo@setObject{491}%
 {AxoLine 50 10 50 60 0 0  0 0 0 0 0 0 0 0  0 3;}%
 { 3 w 50 10 m 50 60 l S}
 \axo@setObject{492}%
 {Vertex 50 60 1.3 3;}%
-{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
+{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
 \axo@setObject{493}%
 {AxoLine 40 60 50 60 0 0  0 0 0 0 0 0 0 0  0 3;}%
 { 3 w 40 60 m 50 60 l S}
 \axo@setObject{494}%
 {AxoArc 40 35 25 90 180 0 0  0 0 0 0 0 0 0 0  0 0 3;}%
diff --git a/utils/axodraw2/configure b/utils/axodraw2/configure
index d33edb5a69..83c0366aae 100755
--- a/utils/axodraw2/configure
+++ b/utils/axodraw2/configure
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for axohelp (TeX Live) 1.1.
+# Generated by GNU Autoconf 2.69 for axohelp (TeX Live) 1.3.
 #
 # Report bugs to <jcc8@psu.edu>.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -576,12 +576,12 @@ MFLAGS=
 MAKEFLAGS=
 
 # Identity of this package.
 PACKAGE_NAME='axohelp (TeX Live)'
 PACKAGE_TARNAME='axohelp--tex-live-'
-PACKAGE_VERSION='1.1'
-PACKAGE_STRING='axohelp (TeX Live) 1.1'
+PACKAGE_VERSION='1.3'
+PACKAGE_STRING='axohelp (TeX Live) 1.3'
 PACKAGE_BUGREPORT='jcc8@psu.edu'
 PACKAGE_URL=''
 
 ac_unique_file="axodraw2-src/axohelp.c"
 ac_subst_vars='am__EXEEXT_FALSE
@@ -1234,11 +1234,11 @@ done
 #
 if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures axohelp (TeX Live) 1.1 to adapt to many kinds of systems.
+\`configure' configures axohelp (TeX Live) 1.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 To assign environment variables (e.g., CC, CFLAGS...), specify them as
 VAR=VALUE.  See below for descriptions of some of the useful variables.
@@ -1301,11 +1301,11 @@ Program names:
 _ACEOF
 fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of axohelp (TeX Live) 1.1:";;
+     short | recursive ) echo "Configuration of axohelp (TeX Live) 1.3:";;
    esac
   cat <<\_ACEOF
 
 Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
@@ -1397,11 +1397,11 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 fi
 
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-axohelp (TeX Live) configure 1.1
+axohelp (TeX Live) configure 1.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
@@ -1498,11 +1498,11 @@ fi
 } # ac_fn_c_try_link
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by axohelp (TeX Live) $as_me 1.1, which was
+It was created by axohelp (TeX Live) $as_me 1.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
@@ -3422,11 +3422,11 @@ if test -z "$CYGPATH_W"; then
 fi
 
 
 # Define the identity of the package.
  PACKAGE='axohelp--tex-live-'
- VERSION='1.1'
+ VERSION='1.3'
 
 
 # Some tools Automake needs.
 
 ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
@@ -5109,11 +5109,11 @@ test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # Save the log message, to keep $0 and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by axohelp (TeX Live) $as_me 1.1, which was
+This file was extended by axohelp (TeX Live) $as_me 1.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
   CONFIG_LINKS    = $CONFIG_LINKS
@@ -5166,11 +5166,11 @@ Report bugs to <jcc8@psu.edu>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-axohelp (TeX Live) config.status 1.1
+axohelp (TeX Live) config.status 1.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
diff --git a/utils/axodraw2/configure.ac b/utils/axodraw2/configure.ac
index 5fefbd6b6b..a7c325de03 100644
--- a/utils/axodraw2/configure.ac
+++ b/utils/axodraw2/configure.ac
@@ -5,11 +5,11 @@ dnl   Copyright 2018 John Collins
 dnl
 dnl   This file is free software; the copyright holder
 dnl   gives unlimited permission to copy and/or distribute it,
 dnl   with or without modifications, as long as this notice is preserved.
 dnl
-AC_INIT([axohelp (TeX Live)], [1.1], [jcc8@psu.edu])
+AC_INIT([axohelp (TeX Live)], [1.3], [jcc8@psu.edu])
 AC_PREREQ([2.65])
 AC_CONFIG_SRCDIR([axodraw2-src/axohelp.c])
 AC_CONFIG_AUX_DIR([../../build-aux])
 AC_CONFIG_MACRO_DIR([../../m4])
 

Vulnerable code: Remove:
	axohelp.exe
Axodraw2 2.1.1 2018/02/15
=========================
axohelp.c version is 1.2 2018/02/14
     axohelp.exe       MS-Windows executable for axohelp
(C) 1994-2018 John Collins (jcc8 at psu dot edu) and Jos Vermaseren
(15 February 2018)
manager of your \TeX{} distribution.  (There is one complication
concerning the \program{axohelp} program --- see below.)
In TeXLive 2017, a binary executable for the \program{axohelp} was not
provided, even though the rest of the axodraw2 package was provided.
Thus you could use axodraw2 with the \program{latex} but not with
\program{pdflatex} unless you compiled and installed the program
\program{axohelp} yourself following the instructions below.  This is
planned to be changed in TeXLive 2018, when \program{axohelp} should
be provided as part of the distribution when the package axodraw2 is
installed from the package manager.
But note that if you later install the axodraw2 package from the
package manager of you \TeX{} distribution, it's a good idea to delete
the files you installed manually.  Otherwise when you use axodraw2 in
a document, then the wrong version of \file{axodraw2.sty} may get
used.  This is a particularly important issue after possible future
updates to axodraw2 get installed by the package manager.
If you wish to use axodraw2 with \program{pdflatex}, \program{lualatex},
or \program{xelatex}., then you need to install the \program{axohelp}
program.

On a Unix-like system (e.g., linux or OS-X), you first need to compile
the program by a C compiler.  An appropriate shell command to do this
is
OS-X at versions below 10.7.  But on OS-X version 10.7 and higher, you
For Microsoft Windows, if you do not have a C compiler available, you
can use the Windows binary \file{axohelp.exe} we have provided.  It
was compiled on Windows 10, and should work with at least that version
of Windows.
In any case once you have the executable (named \program{axohelp} on
unix-like systems, or \program{axohelp.exe} on a Microsoft system), put
it in a directory where it will be found when you run programs from
the command line.
\ProvidesPackage{axodraw2}[2018/02/15 v2.1.1]
        2 copy atan rotate
    (C) 2016-2018 by authors:
#define VERSIONDATE "2018 Feb 20"
#define SUBVERSION 2
void OutputString(char *);
    to write. It also allows the easy use of the OutputString routine that
#define Stroke outpos += sprintf(outpos," S")
#define CloseAndStroke outpos += sprintf(outpos," h S")
#define Fill outpos += sprintf(outpos," f")
#define CloseAndFill outpos += sprintf(outpos," h f")
#define SaveGraphicsState outpos += sprintf(outpos," q")
#define RestoreGraphicsState outpos += sprintf(outpos," Q")
    outpos +=
    sprintf(outpos,"\n %12.3f %12.3f %12.3f %12.3f %12.3f %12.3f c",x1,y1,x2,y2,x3,y3);
    outpos +=
    sprintf(outpos,"\n %12.3f %12.3f l",x1,y1);
    outpos +=
    sprintf(outpos,"\n %12.3f %12.3f m",x1,y1);
    outpos +=
    sprintf(outpos," %12.3f w",w);
    if ( dashsize ) outpos += sprintf(outpos," [%12.3f] %12.3f d",dashsize,phase);
    else outpos += sprintf(outpos," [] 0 d");
        outpos +=
        sprintf(outpos,"%12.3f %12.3f %12.3f %12.3f %12.3f %12.3f cm\n",x11,x12,x21,x22,x,y);
        outpos += sprintf(outpos," %12.3f G",grayscale);
        outpos += sprintf(outpos," %12.3f g",grayscale);
        outpos += sprintf(outpos," %12.3f %12.3f %12.3f %12.3f K",c,m,y,k);
        outpos += sprintf(outpos," %12.3f %12.3f %12.3f %12.3f k",c,m,y,k);
    if ( par == STROKING ) { outpos += sprintf(outpos," 0 0 0 0 K"); }
    else                   { outpos += sprintf(outpos," 0 0 0 0 k"); }
    outpos += sprintf(outpos,"\n %12.3f %12.3f %12.3f %12.3f re",x,y,w,h);
    outpos +=
    sprintf(outpos,"\n %12.3f %12.3f m %12.3f %12.3f l %12.3f %12.3f l h",x1,y1,x2,y2,x3,y3);
                outpos += sprintf(outpos," h f");
                outpos += sprintf(outpos," s");
        outpos += sprintf(outpos," h f");
        exit(-1);
        exit(-1);
        exit(-1);
        exit(-1);
    while ( *s && *s != '}' ) {
        if ( *s == '\n' ) *s = ' ';
        if ( ( *s == ' ' || *s == '\n' ) && ( s[1] == ' ' || s[1] == '\n' ) ) s++;
        else *t++ = *s++;
    while ( *s ) *t++ = *s++;
        else if ( *s == '-' && s[1] == '0' && s[2] == ' ' ) { s++; }
        else if ( *s <= '9' && *s >= '0' ) { *t++ = *s++; }
        else if ( *s == '\n' && ( t > str && t[-1] == '\n' ) ) { s++; }
            while ( t > str && t[-1] == '0' ) t--;
            if ( t > str && t[-1] == '.' ) t--;
            while ( *s == ' ' && s[1] == ' ' ) s++;
        else if ( *s == ' ' && s[1] == ' ' ) s++;
  	#] CleanupOutput : 
    int num, i, num1, num2;
    char *s, *t, *StartClean;
    outpos += sprintf(outpos,"\\axo@setObject{%s}%%\n{%s%c}%%\n{",s,t,TERMCHAR);
    if ( *s == '0' && s[1] == ']' ) {
            outpos += sprintf(outpos,"Axohelp version %d.%d. PDF output.}",VERSION,SUBVERSION);
            fprintf(outfile,"%s",outputbuffer);
            return(0);
            if ( argbuf ) free(argbuf);
            return(-1); 
        if ( argbuf ) free(argbuf);
        return(-1); 
    StartClean = outpos;
    nameobject = t; while ( *t != ' ' && *t != '\t' && *t != '\n' && *t ) t++;
    *t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
/*
        Now nameobject is the name of the command and t points at the first parameter.
*/
        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 ) return(-1);
            free(argbuf);
            return(-1);
        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 ) return(-1);
            free(argbuf);
            return(-1);
        if ( ( argbuf = ReadTail(t,&num) ) == 0 ) return(-1);
                    free(argbuf);
                    return(-1); 
            free(argbuf);
            return(-1); 
    outpos += sprintf(outpos,"}\n");
    CleanupOutput(StartClean);
    fprintf(outfile,"%s",outputbuffer);
    return(0);
	return -1;
	    return -1;
	    return -1;
        return -1;
    if ( ( inbuffer = ReadInput(inname) ) == 0 ) return(-1);
        exit(-1);
        return(-1);
{ 0.5 w 1 0 0 1 60 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 140 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 40 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f }
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f }
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f }
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S }
{ 0.5 w 1 0 0 1 40 80 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S }
{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 80 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 27 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 73 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 130 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 170 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 230 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 270 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 330 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 407 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f }
{ 0.5 w 1 0 0 1 37 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 70 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 40 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f }
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f }
# Generated by GNU Autoconf 2.69 for axohelp (TeX Live) 1.1.
PACKAGE_VERSION='1.1'
PACKAGE_STRING='axohelp (TeX Live) 1.1'
\`configure' configures axohelp (TeX Live) 1.1 to adapt to many kinds of systems.
     short | recursive ) echo "Configuration of axohelp (TeX Live) 1.1:";;
axohelp (TeX Live) configure 1.1
It was created by axohelp (TeX Live) $as_me 1.1, which was
 VERSION='1.1'
This file was extended by axohelp (TeX Live) $as_me 1.1, which was
axohelp (TeX Live) config.status 1.1
AC_INIT([axohelp (TeX Live)], [1.1], [jcc8@psu.edu])
Fixed code: 2019-09-07  Akira Kakuto  <kakuto@w32tex.org>

	Import v1.3 from ctan.org/pkg/axodraw2.
	* configure.ac: update version.

No changes.
2019/07/30
	axohelp: Exit code on error is 1, not -1 (unsigned is more OS-independent)
	axohelp: Clean up CleanupOutput subroutine
	axohelp: Fix bug in use of identification line
	axohelp: Fix stack overflow bugs in subroutine DoOneObject
Axodraw2 2.1.1b 2019/09/02
==========================
axohelp.c version is 1.3 2019/08/30
(C) 1994-2019 John Collins (jcc8 at psu dot edu) and Jos Vermaseren
(2 September 2019)
manager of your \TeX{} distribution.
In TeXLive 2018 and later, a binary executable for the
\program{axohelp} is provided, as part of the \program{axodraw2}
package.  So \program{axohelp} is available provided that the
\program{axodraw2} package is installed..

If you later install the axodraw2 package from the package manager of
your \TeX{} distribution, it's a good idea to delete the files you
installed manually.  Otherwise when you use axodraw2 in a document,
then the wrong version of \file{axodraw2.sty} may get used.  This is a
particularly important issue after possible future updates to axodraw2
get installed by the package manager.
If you wish to use axodraw2 with \program{pdflatex},
\program{lualatex}, or \program{xelatex}, then you need to install the
\program{axohelp} program.  \emph{(It is useful to reiterate here that
  the standard distributions of \TeX{} currently supply the
  \program{axohelp} program.  So the steps described here are only
  necessary if for some reason you wish to do a manual installation.
  One possible reason is to use a recent update of \program{axohelp},
  since TeXLive normally only supplies updated versions of binary
  executable files with the initial release of one of TeXLive's yearly
  versions.)}

To install \program{axohelp} manually, you will first need to compile
the program by a C compiler.  Under a Unix-like operating system
(linux or macOS) an appropriate shell command is
macOS(OS-X) at versions below 10.7.  But on macOS version 10.7 and higher, you
For Microsoft Windows, you will need to have installed a C compiler,
and use it to compile \file{axohelp.c}.
Once you have the executable (named \program{axohelp} on Unix-like
systems, or \program{axohelp.exe} on a Microsoft system), put it in a
directory where it will be found when you run programs from the
command line.
\ProvidesPackage{axodraw2}[2018/10/10 v2.1.2]
%        2 copy atan rotate
        2 copy
        2 copy 0 ne exch 0 ne or
        {atan rotate}
        {pop pop}
        ifelse
# Prevent errors from sed if it encounters non-UTF-8 strings in utf-8 locale

   Need to do:
   1. Fix reporting of number of object to in-file number
   2. Or Don't require object 0 for ID line

    (C) 2016-2019 by authors:
#include <ctype.h>
#define VERSIONDATE "2019 Aug 28"
#define SUBVERSION 3
void CleanupOutput(char *str);
void send( char* str );
void sendClean( char* str );

    to write. It also allows the easy use of the OutputString?? OLD name routine that
#define Stroke send(" S")
#define CloseAndStroke send(" h S")
#define Fill send(" f")
#define CloseAndFill send(" h f")
#define SaveGraphicsState send(" q")
#define RestoreGraphicsState send(" Q")
    sprintf(outputbuffer,"\n %12.3f %12.3f %12.3f %12.3f %12.3f %12.3f c",x1,y1,x2,y2,x3,y3);
    sendClean(outputbuffer);
    sprintf(outputbuffer,"\n %12.3f %12.3f l",x1,y1);
    sendClean(outputbuffer);
    sprintf(outputbuffer,"\n %12.3f %12.3f m",x1,y1);
    sendClean(outputbuffer);
    sprintf(outputbuffer," %12.3f w",w);
    sendClean(outputbuffer);
    if ( dashsize ) {
        sprintf(outputbuffer," [%12.3f] %12.3f d",dashsize,phase);
        sendClean(outputbuffer);
    }
    else send(" [] 0 d");
        sprintf(outputbuffer,"%12.3f %12.3f %12.3f %12.3f %12.3f %12.3f cm\n",x11,x12,x21,x22,x,y);
        sendClean(outputbuffer);
    char *outpos = outputbuffer;
    sendClean(outputbuffer);
    char *outpos = outputbuffer;
    sendClean(outputbuffer);
        sprintf(outputbuffer," %12.3f G",grayscale);
        sprintf(outputbuffer," %12.3f g",grayscale);
    sendClean(outputbuffer);
        sprintf(outputbuffer," %12.3f %12.3f %12.3f %12.3f K",c,m,y,k);
        sprintf(outputbuffer," %12.3f %12.3f %12.3f %12.3f k",c,m,y,k);
    sendClean(outputbuffer);
    if ( par == STROKING ) { send(" 0 0 0 0 K"); }
    else                   { send(" 0 0 0 0 k"); }
    sprintf(outputbuffer,"\n %12.3f %12.3f %12.3f %12.3f re",x,y,w,h);
    sendClean(outputbuffer);
    sprintf(outputbuffer,"\n %12.3f %12.3f m %12.3f %12.3f l %12.3f %12.3f l h",x1,y1,x2,y2,x3,y3);
    sendClean(outputbuffer);
                send(" h f");
                send(" s");
        send(" h f");
        exit(1);
        exit(1);
        exit(1);
        exit(1);
    // Collapse multiple white space (' ' and '\n') to one.  Remove trailing space.
    while ( *s ) {
        if ( *s == '\n' ) {*s = ' '; }
        if ( (*s == ' ') && ( s[1] == ' ' || s[1] == '\n' || s[1] == 0 ) ) { s++;}
        else { *t++ = *s++; }

    // Optimize format of numbers:
        else if ( isdigit(*s) ) { *t++ = *s++; }
          while ( t > str && t[-1] == '0' ) { t--; }
            if ( t > str && t[-1] == '.' ) {
                t--;
                // Handle case that number is .000, not e.g. 9.000
                if (t > str && ! isdigit(t[-1]) ) {
                  *t++ = '0';
                }
            }

    // Collapse '-0' to '0'
  	#] CleanupOutput :
  	#[ send :
*/

void send( char* str ) {
    fprintf(outfile, "%s",str);
}

/*
  	#] CleanupOutput :
  	#[ sendClean :
*/

void sendClean( char* str ) {
    CleanupOutput(str);
    send(str);
}

/*
  	#] sendClean :
    // Single point for exit, to ensure proper clean up.
    int num, i, num1, num2, retcode;
    char *s, *t;
    retcode = -1;

    // Locate number of object:

    fprintf(outfile,"\\axo@setObject{%s}%%\n{%s%c}%%\n{",s,t,TERMCHAR);

    nameobject = t; while ( *t != ' ' && *t != '\t' && *t != '\n' && *t ) t++;
    *t++ = 0; while ( *t == ' ' || *t == '\t' || *t == '\n' ) t++;
/*
        Now nameobject is the name of the command and t points at the first parameter.
*/

    if ( *s == '0' && s[1] == 0 ) {
            fprintf(outfile,"Axohelp version %d.%d. PDF output.",VERSION,SUBVERSION);
            goto SUCCESS;
            goto EXIT; 
        goto EXIT; 
        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 )
             goto EXIT;
            goto EXIT;
            argbuf = 0;
        if ( ( argbuf = ReadArray(t,&num1,&num2) ) == 0 )
          goto EXIT;
            goto EXIT;
            argbuf = 0;
        if ( ( argbuf = ReadTail(t,&num) ) == 0 )
          goto EXIT;
                    argbuf = 0;
                    goto EXIT; 
            goto EXIT; 
 SUCCESS:
    retcode = 0;
 EXIT:
    if (argbuf) { free(argbuf); }
    fprintf(outfile,"}\n");
    return(retcode);
	return 1;
	    return 1;
	    return 1;
        return 1;
    if ( ( inbuffer = ReadInput(inname) ) == 0 ) return(1);
        exit(1);
        return(1);
# Prevent errors from sed if it encounters non-UTF-8 strings in utf-8 locale
LC_ALL=C; export LC_ALL;  LANGUAGE=C; export LANGUAGE

{ 0.5 w 1 0 0 1 60 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 140 50 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 40 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f}
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f}
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c f}
{ 0.5 w 1 0 0 1 30 30 cm -20 0 m -20 11.046 -11.046 20 0 20 c 11.046 20 20 11.046 20 0 c 20 -11.046 11.046 -20 0 -20 c -11.046 -20 -20 -11.046 -20 0 c S}
{ 0.5 w 1 0 0 1 40 80 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
{ 0.5 w 1 0 0 1 40 30 cm 0.866 0.5 -0.5 0.866 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
{ 0.5 w 1 0 0 1 40 30 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c f -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
{ 1 w 1 0 0 1 40 30 cm 0.94 0.342 -0.342 0.94 0 0 cm -30 0 m -30 11.046 -16.569 20 0 20 c 16.569 20 30 11.046 30 0 c 30 -11.046 16.569 -20 0 -20 c -16.569 -20 -30 -11.046 -30 0 c S}
{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 80 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 10 10 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 45 45 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 80 80 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 27 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 73 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 130 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 170 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 230 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 270 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 330 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 407 30 cm -1.5 0 m -1.5 0.828 -0.828 1.5 0 1.5 c 0.828 1.5 1.5 0.828 1.5 0 c 1.5 -0.828 0.828 -1.5 0 -1.5 c -0.828 -1.5 -1.5 -0.828 -1.5 0 c f}
{ 0.5 w 1 0 0 1 37 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 70 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 40 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 163 70 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 70 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 130 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 130 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 100 100 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 0.5 w 1 0 0 1 100 40 cm -2 0 m -2 1.105 -1.105 2 0 2 c 1.105 2 2 1.105 2 0 c 2 -1.105 1.105 -2 0 -2 c -1.105 -2 -2 -1.105 -2 0 c f}
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
{ 3 w 1 0 0 1 50 60 cm -1.3 0 m -1.3 0.718 -0.718 1.3 0 1.3 c 0.718 1.3 1.3 0.718 1.3 0 c 1.3 -0.718 0.718 -1.3 0 -1.3 c -0.718 -1.3 -1.3 -0.718 -1.3 0 c f}
# Generated by GNU Autoconf 2.69 for axohelp (TeX Live) 1.3.
PACKAGE_VERSION='1.3'
PACKAGE_STRING='axohelp (TeX Live) 1.3'
\`configure' configures axohelp (TeX Live) 1.3 to adapt to many kinds of systems.
     short | recursive ) echo "Configuration of axohelp (TeX Live) 1.3:";;
axohelp (TeX Live) configure 1.3
It was created by axohelp (TeX Live) $as_me 1.3, which was
 VERSION='1.3'
This file was extended by axohelp (TeX Live) $as_me 1.3, which was
axohelp (TeX Live) config.status 1.3
AC_INIT([axohelp (TeX Live)], [1.3], [jcc8@psu.edu])